fix(review): reduce portal warnings

This commit is contained in:
tslee 2026-05-18 17:31:02 +09:00
parent 9bdc29ce89
commit 14af775f15
9 changed files with 42 additions and 1382 deletions

View file

@ -1,6 +1 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
# Run lint-staged for incremental checks on staged files
npx lint-staged
npm run format:check

515
package-lock.json generated
View file

@ -20,7 +20,6 @@
"@types/node": "^16.18.126",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"builtin-modules": "^3.3.0",
"conventional-changelog-conventionalcommits": "^9.1.0",
"esbuild": "0.25.0",
"eslint": "^8.42.0",
@ -37,7 +36,6 @@
"jest-serializer-html": "^7.1.0",
"jest-sonar-reporter": "^2.0.0",
"jest-watch-typeahead": "^2.2.2",
"lint-staged": "^16.2.7",
"obsidian": "latest",
"prettier": "^2.8.8",
"semantic-release": "^25.0.2",
@ -4947,19 +4945,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/builtin-modules": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
@ -5111,22 +5096,6 @@
"node": ">=6"
}
},
"node_modules/cli-cursor": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
"integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
"dev": true,
"license": "MIT",
"dependencies": {
"restore-cursor": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cli-highlight": {
"version": "2.1.11",
"resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
@ -5213,69 +5182,6 @@
"@colors/colors": "1.5.0"
}
},
"node_modules/cli-truncate": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
"integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
"dev": true,
"license": "MIT",
"dependencies": {
"slice-ansi": "^7.1.0",
"string-width": "^8.0.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cli-truncate/node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/cli-truncate/node_modules/string-width": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
"integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"dev": true,
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/cli-truncate/node_modules/strip-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
@ -5329,23 +5235,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/colorette": {
"version": "2.0.20",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
"integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
"dev": true,
"license": "MIT"
},
"node_modules/commander": {
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz",
"integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=20"
}
},
"node_modules/compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@ -7394,13 +7283,6 @@
"node": ">=0.10.0"
}
},
"node_modules/eventemitter3": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
"dev": true,
"license": "MIT"
},
"node_modules/events": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
@ -10549,134 +10431,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/lint-staged": {
"version": "16.2.7",
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.7.tgz",
"integrity": "sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==",
"dev": true,
"license": "MIT",
"dependencies": {
"commander": "^14.0.2",
"listr2": "^9.0.5",
"micromatch": "^4.0.8",
"nano-spawn": "^2.0.0",
"pidtree": "^0.6.0",
"string-argv": "^0.3.2",
"yaml": "^2.8.1"
},
"bin": {
"lint-staged": "bin/lint-staged.js"
},
"engines": {
"node": ">=20.17"
},
"funding": {
"url": "https://opencollective.com/lint-staged"
}
},
"node_modules/listr2": {
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
"integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
"dev": true,
"license": "MIT",
"dependencies": {
"cli-truncate": "^5.0.0",
"colorette": "^2.0.20",
"eventemitter3": "^5.0.1",
"log-update": "^6.1.0",
"rfdc": "^1.4.1",
"wrap-ansi": "^9.0.0"
},
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/listr2/node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/listr2/node_modules/ansi-styles": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/listr2/node_modules/emoji-regex": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
"license": "MIT"
},
"node_modules/listr2/node_modules/string-width": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/listr2/node_modules/strip-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/listr2/node_modules/wrap-ansi": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
@ -10845,127 +10599,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/log-update": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
"integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-escapes": "^7.0.0",
"cli-cursor": "^5.0.0",
"slice-ansi": "^7.1.0",
"strip-ansi": "^7.1.0",
"wrap-ansi": "^9.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/log-update/node_modules/ansi-escapes": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz",
"integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==",
"dev": true,
"license": "MIT",
"dependencies": {
"environment": "^1.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/log-update/node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/log-update/node_modules/ansi-styles": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/log-update/node_modules/emoji-regex": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
"dev": true,
"license": "MIT"
},
"node_modules/log-update/node_modules/string-width": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"emoji-regex": "^10.3.0",
"get-east-asian-width": "^1.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/log-update/node_modules/strip-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/log-update/node_modules/wrap-ansi": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"string-width": "^7.0.0",
"strip-ansi": "^7.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@ -11210,19 +10843,6 @@
"node": ">=6"
}
},
"node_modules/mimic-function": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
"integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/min-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@ -11305,19 +10925,6 @@
"thenify-all": "^1.0.0"
}
},
"node_modules/nano-spawn": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz",
"integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=20.17"
},
"funding": {
"url": "https://github.com/sindresorhus/nano-spawn?sponsor=1"
}
},
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@ -13978,19 +13585,6 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pidtree": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
"integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
"dev": true,
"license": "MIT",
"bin": {
"pidtree": "bin/pidtree.js"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
@ -14689,52 +14283,6 @@
"node": ">=10"
}
},
"node_modules/restore-cursor": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
"integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
"dev": true,
"license": "MIT",
"dependencies": {
"onetime": "^7.0.0",
"signal-exit": "^4.1.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/restore-cursor/node_modules/onetime": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
"integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"mimic-function": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/restore-cursor/node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@ -14756,13 +14304,6 @@
"node": ">=0.10.0"
}
},
"node_modules/rfdc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
"integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
"dev": true,
"license": "MIT"
},
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@ -15638,52 +15179,6 @@
"node": ">=8"
}
},
"node_modules/slice-ansi": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
"integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^6.2.1",
"is-fullwidth-code-point": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
}
},
"node_modules/slice-ansi/node_modules/ansi-styles": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
"integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"get-east-asian-width": "^1.3.1"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@ -15863,16 +15358,6 @@
"safe-buffer": "~5.2.0"
}
},
"node_modules/string-argv": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
"integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.6.19"
}
},
"node_modules/string-length": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",

View file

@ -61,7 +61,6 @@
"@types/node": "^16.18.126",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"builtin-modules": "^3.3.0",
"conventional-changelog-conventionalcommits": "^9.1.0",
"esbuild": "0.25.0",
"eslint": "^8.42.0",
@ -78,18 +77,11 @@
"jest-serializer-html": "^7.1.0",
"jest-sonar-reporter": "^2.0.0",
"jest-watch-typeahead": "^2.2.2",
"lint-staged": "^16.2.7",
"obsidian": "latest",
"prettier": "^2.8.8",
"semantic-release": "^25.0.2",
"ts-jest": "^29.1.0",
"tslib": "^2.4.0",
"typescript": "^4.9.5"
},
"lint-staged": {
"*.ts": [
"eslint --fix",
"prettier --write"
]
}
}

View file

@ -55,13 +55,13 @@ export class ProgressIndicator {
spinner.appendChild(this.getSpinnerElement());
// 진행률 바 컨테이너
const barContainer = content.createDiv('sn-progress-bar-container');
const barContainer = content.createDiv('sn-inline-progress-bar-container');
barContainer.addClass('sn-hidden');
// 진행률 바
const progressBar = barContainer.createDiv('sn-progress-bar');
progressBar.createDiv('sn-progress-fill');
const progressText = progressBar.createDiv('sn-progress-text');
const progressBar = barContainer.createDiv('sn-inline-progress-bar');
progressBar.createDiv('sn-inline-progress-fill');
const progressText = progressBar.createDiv('sn-inline-progress-text');
progressText.setText('0%');
// 메시지
@ -104,7 +104,9 @@ export class ProgressIndicator {
}
// 진행률 바 표시/숨김
const barContainer = this.progressElement.querySelector('.sn-progress-bar-container');
const barContainer = this.progressElement.querySelector(
'.sn-inline-progress-bar-container'
);
const spinner = this.progressElement.querySelector('.sn-progress-spinner');
if (showProgressBar) {
@ -163,8 +165,8 @@ export class ProgressIndicator {
this.currentProgress = Math.min(100, Math.max(0, progress));
// 진행률 바 업데이트
const progressFill = this.progressElement.querySelector('.sn-progress-fill');
const progressText = this.progressElement.querySelector('.sn-progress-text');
const progressFill = this.progressElement.querySelector('.sn-inline-progress-fill');
const progressText = this.progressElement.querySelector('.sn-inline-progress-text');
if (progressFill instanceof HTMLElement && progressText instanceof HTMLElement) {
progressFill.setAttribute('style', `--sn-progress-width:${this.currentProgress}%`);

View file

@ -53,7 +53,7 @@ export class UIComponentFactory {
}
const progressBar = progressContainer.createDiv({
cls: 'sn-progress-bar',
cls: 'sn-inline-progress-bar',
attr: {
role: 'progressbar',
'aria-valuenow': String(value),
@ -64,7 +64,7 @@ export class UIComponentFactory {
});
const progressFill = progressBar.createDiv({
cls: 'sn-progress-fill',
cls: 'sn-inline-progress-fill',
attr: {
style: `width: ${(value / max) * 100}%`,
},
@ -73,7 +73,7 @@ export class UIComponentFactory {
// 접근성을 위한 텍스트
progressFill.createSpan({
text: `${Math.round((value / max) * 100)}%`,
cls: 'sn-progress-text',
cls: 'sn-inline-progress-text',
});
return progressContainer;

View file

@ -564,11 +564,11 @@
}
}
.sn-progress-bar-container {
.sn-inline-progress-bar-container {
margin: 20px 0;
}
.sn-progress-bar {
.sn-inline-progress-bar {
height: 20px;
background: var(--background-modifier-border);
border-radius: 10px;
@ -576,21 +576,21 @@
position: relative;
}
.sn-progress-fill {
.sn-inline-progress-fill {
height: 100%;
background: var(--interactive-accent);
transition: width 0.3s ease;
}
.sn-progress-fill.sn-is-warning {
.sn-inline-progress-fill.sn-is-warning {
background: var(--text-warning);
}
.sn-progress-fill.sn-is-success {
.sn-inline-progress-fill.sn-is-success {
background: var(--text-success);
}
.sn-progress-text {
.sn-inline-progress-text {
position: absolute;
top: 50%;
left: 50%;

View file

@ -44,213 +44,6 @@
--sn-color-info: #5e81ac;
}
/* ===== 로딩 인디케이터 ===== */
/* 스피너 */
.sn-loading-spinner {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-loading-spinner svg {
color: var(--sn-color-primary);
}
.sn-loading-spinner--small svg {
width: 20px;
height: 20px;
}
.sn-loading-spinner--medium svg {
width: 40px;
height: 40px;
}
.sn-loading-spinner--large svg {
width: 60px;
height: 60px;
}
@keyframes sn-progress-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* 펄스 로더 */
.sn-loading-pulse {
display: inline-flex;
align-items: center;
gap: var(--sn-spacing-xs);
}
.sn-pulse-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: var(--sn-color-primary);
animation: sn-progress-pulse 1.5s ease-in-out infinite;
}
.sn-pulse-dot--1 {
animation-delay: 0s;
}
.sn-pulse-dot--2 {
animation-delay: 0.15s;
}
.sn-pulse-dot--3 {
animation-delay: 0.3s;
}
@keyframes sn-progress-pulse {
0%,
80%,
100% {
opacity: 0.3;
transform: scale(1);
}
40% {
opacity: 1;
transform: scale(1.2);
}
}
/* 스켈레톤 로더 */
.sn-loading-skeleton {
width: 100%;
}
.sn-skeleton-line {
height: 20px;
background: linear-gradient(
90deg,
var(--background-secondary) 25%,
var(--background-modifier-border) 50%,
var(--background-secondary) 75%
);
background-size: 200% 100%;
border-radius: 4px;
}
.sn-skeleton-animated {
animation: sn-progress-skeleton-loading 1.5s ease-in-out infinite;
}
.sn-loading-skeleton .sn-skeleton-line:last-child {
width: 70%;
}
.sn-loading-skeleton--height-sm .sn-skeleton-line {
height: 14px;
}
.sn-loading-skeleton--height-md .sn-skeleton-line {
height: 20px;
}
.sn-loading-skeleton--height-lg .sn-skeleton-line {
height: 28px;
}
.sn-loading-skeleton--spacing-none .sn-skeleton-line:not(:last-child) {
margin-bottom: 0;
}
.sn-loading-skeleton--spacing-sm .sn-skeleton-line:not(:last-child) {
margin-bottom: 6px;
}
.sn-loading-skeleton--spacing-md .sn-skeleton-line:not(:last-child) {
margin-bottom: 10px;
}
.sn-loading-skeleton--spacing-lg .sn-skeleton-line:not(:last-child) {
margin-bottom: 16px;
}
@keyframes sn-progress-skeleton-loading {
0% {
background-position: 200% 0;
}
100% {
background-position: -200% 0;
}
}
/* 도트 로더 */
.sn-loading-dots {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-dots-container {
display: flex;
gap: var(--sn-spacing-xs);
}
.sn-dots-container .sn-dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: var(--sn-color-primary);
animation: sn-progress-dot-bounce 1.4s ease-in-out infinite both;
}
.sn-dots-container .sn-dot:nth-child(1) {
animation-delay: -0.32s;
}
.sn-dots-container .sn-dot:nth-child(2) {
animation-delay: -0.16s;
}
@keyframes sn-progress-dot-bounce {
0%,
80%,
100% {
transform: scale(0.8);
opacity: 0.5;
}
40% {
transform: scale(1);
opacity: 1;
}
}
/* 상태 아이콘 */
.sn-status-icon {
display: inline-flex;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-status-icon__icon svg {
width: 24px;
height: 24px;
}
.sn-status-icon--success {
color: var(--sn-color-success);
}
.sn-status-icon--error {
color: var(--sn-color-error);
}
.sn-status-icon--warning {
color: var(--sn-color-warning);
}
.sn-status-icon--info {
color: var(--sn-color-info);
}
/* ===== 진행률 바 ===== */
.sn-progress-bar {
@ -323,7 +116,7 @@
/* Indeterminate 모드 */
.sn-progress-bar__fill--indeterminate {
width: 30% !important;
width: 30%;
animation: sn-progress-indeterminate 1.5s ease-in-out infinite;
}
@ -420,194 +213,7 @@
/* ===== 알림 시스템 ===== */
/* Toast 알림 */
.sn-toast-container {
position: fixed;
z-index: 10000;
display: flex;
flex-direction: column;
gap: var(--sn-spacing-sm);
padding: var(--sn-spacing-md);
pointer-events: none;
}
.sn-toast-container--top-right {
top: 0;
right: 0;
align-items: flex-end;
}
.sn-toast-container--top-left {
top: 0;
left: 0;
align-items: flex-start;
}
.sn-toast-container--bottom-right {
bottom: 0;
right: 0;
align-items: flex-end;
}
.sn-toast-container--bottom-left {
bottom: 0;
left: 0;
align-items: flex-start;
}
.sn-toast-container--top-center {
top: 0;
left: 50%;
transform: translateX(-50%);
align-items: center;
}
.sn-toast-container--bottom-center {
bottom: 0;
left: 50%;
transform: translateX(-50%);
align-items: center;
}
.sn-toast {
display: flex;
align-items: flex-start;
gap: var(--sn-spacing-sm);
min-width: 300px;
max-width: 500px;
padding: var(--sn-spacing-md);
background-color: var(--sn-bg-primary);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
pointer-events: auto;
opacity: 0;
transform: translateY(-20px);
transition: all var(--sn-transition-normal);
}
.sn-toast--show {
opacity: 1;
transform: translateY(0);
}
.sn-toast--hide {
opacity: 0;
transform: translateY(-20px);
}
.sn-toast--success {
border-left: 4px solid var(--sn-color-success);
}
.sn-toast--error {
border-left: 4px solid var(--sn-color-error);
}
.sn-toast--warning {
border-left: 4px solid var(--sn-color-warning);
}
.sn-toast--info {
border-left: 4px solid var(--sn-color-info);
}
.sn-toast__icon {
flex-shrink: 0;
}
.sn-toast__content {
flex: 1;
}
.sn-toast__title {
font-weight: 600;
margin-bottom: var(--sn-spacing-xs);
color: var(--sn-text-primary);
}
.sn-toast__message {
color: var(--sn-text-secondary);
line-height: 1.5;
}
.sn-toast__progress {
margin-top: var(--sn-spacing-sm);
height: 3px;
background-color: var(--background-modifier-border);
border-radius: 2px;
overflow: hidden;
}
.sn-toast__progress-fill {
height: 100%;
background-color: var(--sn-color-primary);
transition: width var(--sn-transition-normal);
}
.sn-toast__actions {
display: flex;
gap: var(--sn-spacing-sm);
margin-top: var(--sn-spacing-sm);
}
.sn-toast__action {
padding: var(--sn-spacing-xs) var(--sn-spacing-sm);
background: none;
border: none;
color: var(--sn-color-primary);
cursor: pointer;
font-size: 0.9em;
transition: opacity var(--sn-transition-fast);
}
.sn-toast__action:hover {
opacity: 0.8;
}
.sn-toast__action--primary {
background-color: var(--sn-color-primary);
color: var(--sn-text-on-primary);
border-radius: 4px;
}
.sn-toast__action--secondary {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
}
.sn-toast__close {
position: absolute;
top: var(--sn-spacing-sm);
right: var(--sn-spacing-sm);
width: 24px;
height: 24px;
background: none;
border: none;
color: var(--text-muted);
cursor: pointer;
font-size: 20px;
line-height: 1;
opacity: 0.5;
transition: opacity var(--sn-transition-fast);
}
.sn-toast__close:hover {
opacity: 1;
}
/* 모달 알림 */
.sn-modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--sn-bg-overlay);
z-index: 9998;
opacity: 0;
transition: opacity var(--sn-transition-normal);
}
.sn-modal-overlay--show {
opacity: 1;
}
@ -1186,19 +792,6 @@
/* ===== 접근성 ===== */
/* 스크린 리더 전용 */
.sn-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* 포커스 스타일 */
button:focus-visible,
select:focus-visible,
@ -1214,10 +807,10 @@ textarea:focus-visible,
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
animation-duration: 0.01ms;
animation-iteration-count: 1;
transition-duration: 0.01ms;
scroll-behavior: auto;
}
}

View file

@ -564,11 +564,11 @@
}
}
.sn-progress-bar-container {
.sn-inline-progress-bar-container {
margin: 20px 0;
}
.sn-progress-bar {
.sn-inline-progress-bar {
height: 20px;
background: var(--background-modifier-border);
border-radius: 10px;
@ -576,21 +576,21 @@
position: relative;
}
.sn-progress-fill {
.sn-inline-progress-fill {
height: 100%;
background: var(--interactive-accent);
transition: width 0.3s ease;
}
.sn-progress-fill.sn-is-warning {
.sn-inline-progress-fill.sn-is-warning {
background: var(--text-warning);
}
.sn-progress-fill.sn-is-success {
.sn-inline-progress-fill.sn-is-success {
background: var(--text-success);
}
.sn-progress-text {
.sn-inline-progress-text {
position: absolute;
top: 50%;
left: 50%;
@ -1363,213 +1363,6 @@
--sn-color-info: #5e81ac;
}
/* ===== 로딩 인디케이터 ===== */
/* 스피너 */
.sn-loading-spinner {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-loading-spinner svg {
color: var(--sn-color-primary);
}
.sn-loading-spinner--small svg {
width: 20px;
height: 20px;
}
.sn-loading-spinner--medium svg {
width: 40px;
height: 40px;
}
.sn-loading-spinner--large svg {
width: 60px;
height: 60px;
}
@keyframes sn-progress-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* 펄스 로더 */
.sn-loading-pulse {
display: inline-flex;
align-items: center;
gap: var(--sn-spacing-xs);
}
.sn-pulse-dot {
width: 8px;
height: 8px;
border-radius: 50%;
background-color: var(--sn-color-primary);
animation: sn-progress-pulse 1.5s ease-in-out infinite;
}
.sn-pulse-dot--1 {
animation-delay: 0s;
}
.sn-pulse-dot--2 {
animation-delay: 0.15s;
}
.sn-pulse-dot--3 {
animation-delay: 0.3s;
}
@keyframes sn-progress-pulse {
0%,
80%,
100% {
opacity: 0.3;
transform: scale(1);
}
40% {
opacity: 1;
transform: scale(1.2);
}
}
/* 스켈레톤 로더 */
.sn-loading-skeleton {
width: 100%;
}
.sn-skeleton-line {
height: 20px;
background: linear-gradient(
90deg,
var(--background-secondary) 25%,
var(--background-modifier-border) 50%,
var(--background-secondary) 75%
);
background-size: 200% 100%;
border-radius: 4px;
}
.sn-skeleton-animated {
animation: sn-progress-skeleton-loading 1.5s ease-in-out infinite;
}
.sn-loading-skeleton .sn-skeleton-line:last-child {
width: 70%;
}
.sn-loading-skeleton--height-sm .sn-skeleton-line {
height: 14px;
}
.sn-loading-skeleton--height-md .sn-skeleton-line {
height: 20px;
}
.sn-loading-skeleton--height-lg .sn-skeleton-line {
height: 28px;
}
.sn-loading-skeleton--spacing-none .sn-skeleton-line:not(:last-child) {
margin-bottom: 0;
}
.sn-loading-skeleton--spacing-sm .sn-skeleton-line:not(:last-child) {
margin-bottom: 6px;
}
.sn-loading-skeleton--spacing-md .sn-skeleton-line:not(:last-child) {
margin-bottom: 10px;
}
.sn-loading-skeleton--spacing-lg .sn-skeleton-line:not(:last-child) {
margin-bottom: 16px;
}
@keyframes sn-progress-skeleton-loading {
0% {
background-position: 200% 0;
}
100% {
background-position: -200% 0;
}
}
/* 도트 로더 */
.sn-loading-dots {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-dots-container {
display: flex;
gap: var(--sn-spacing-xs);
}
.sn-dots-container .sn-dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: var(--sn-color-primary);
animation: sn-progress-dot-bounce 1.4s ease-in-out infinite both;
}
.sn-dots-container .sn-dot:nth-child(1) {
animation-delay: -0.32s;
}
.sn-dots-container .sn-dot:nth-child(2) {
animation-delay: -0.16s;
}
@keyframes sn-progress-dot-bounce {
0%,
80%,
100% {
transform: scale(0.8);
opacity: 0.5;
}
40% {
transform: scale(1);
opacity: 1;
}
}
/* 상태 아이콘 */
.sn-status-icon {
display: inline-flex;
align-items: center;
gap: var(--sn-spacing-sm);
}
.sn-status-icon__icon svg {
width: 24px;
height: 24px;
}
.sn-status-icon--success {
color: var(--sn-color-success);
}
.sn-status-icon--error {
color: var(--sn-color-error);
}
.sn-status-icon--warning {
color: var(--sn-color-warning);
}
.sn-status-icon--info {
color: var(--sn-color-info);
}
/* ===== 진행률 바 ===== */
.sn-progress-bar {
@ -1642,7 +1435,7 @@
/* Indeterminate 모드 */
.sn-progress-bar__fill--indeterminate {
width: 30% !important;
width: 30%;
animation: sn-progress-indeterminate 1.5s ease-in-out infinite;
}
@ -1739,194 +1532,7 @@
/* ===== 알림 시스템 ===== */
/* Toast 알림 */
.sn-toast-container {
position: fixed;
z-index: 10000;
display: flex;
flex-direction: column;
gap: var(--sn-spacing-sm);
padding: var(--sn-spacing-md);
pointer-events: none;
}
.sn-toast-container--top-right {
top: 0;
right: 0;
align-items: flex-end;
}
.sn-toast-container--top-left {
top: 0;
left: 0;
align-items: flex-start;
}
.sn-toast-container--bottom-right {
bottom: 0;
right: 0;
align-items: flex-end;
}
.sn-toast-container--bottom-left {
bottom: 0;
left: 0;
align-items: flex-start;
}
.sn-toast-container--top-center {
top: 0;
left: 50%;
transform: translateX(-50%);
align-items: center;
}
.sn-toast-container--bottom-center {
bottom: 0;
left: 50%;
transform: translateX(-50%);
align-items: center;
}
.sn-toast {
display: flex;
align-items: flex-start;
gap: var(--sn-spacing-sm);
min-width: 300px;
max-width: 500px;
padding: var(--sn-spacing-md);
background-color: var(--sn-bg-primary);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
pointer-events: auto;
opacity: 0;
transform: translateY(-20px);
transition: all var(--sn-transition-normal);
}
.sn-toast--show {
opacity: 1;
transform: translateY(0);
}
.sn-toast--hide {
opacity: 0;
transform: translateY(-20px);
}
.sn-toast--success {
border-left: 4px solid var(--sn-color-success);
}
.sn-toast--error {
border-left: 4px solid var(--sn-color-error);
}
.sn-toast--warning {
border-left: 4px solid var(--sn-color-warning);
}
.sn-toast--info {
border-left: 4px solid var(--sn-color-info);
}
.sn-toast__icon {
flex-shrink: 0;
}
.sn-toast__content {
flex: 1;
}
.sn-toast__title {
font-weight: 600;
margin-bottom: var(--sn-spacing-xs);
color: var(--sn-text-primary);
}
.sn-toast__message {
color: var(--sn-text-secondary);
line-height: 1.5;
}
.sn-toast__progress {
margin-top: var(--sn-spacing-sm);
height: 3px;
background-color: var(--background-modifier-border);
border-radius: 2px;
overflow: hidden;
}
.sn-toast__progress-fill {
height: 100%;
background-color: var(--sn-color-primary);
transition: width var(--sn-transition-normal);
}
.sn-toast__actions {
display: flex;
gap: var(--sn-spacing-sm);
margin-top: var(--sn-spacing-sm);
}
.sn-toast__action {
padding: var(--sn-spacing-xs) var(--sn-spacing-sm);
background: none;
border: none;
color: var(--sn-color-primary);
cursor: pointer;
font-size: 0.9em;
transition: opacity var(--sn-transition-fast);
}
.sn-toast__action:hover {
opacity: 0.8;
}
.sn-toast__action--primary {
background-color: var(--sn-color-primary);
color: var(--sn-text-on-primary);
border-radius: 4px;
}
.sn-toast__action--secondary {
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
}
.sn-toast__close {
position: absolute;
top: var(--sn-spacing-sm);
right: var(--sn-spacing-sm);
width: 24px;
height: 24px;
background: none;
border: none;
color: var(--text-muted);
cursor: pointer;
font-size: 20px;
line-height: 1;
opacity: 0.5;
transition: opacity var(--sn-transition-fast);
}
.sn-toast__close:hover {
opacity: 1;
}
/* 모달 알림 */
.sn-modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--sn-bg-overlay);
z-index: 9998;
opacity: 0;
transition: opacity var(--sn-transition-normal);
}
.sn-modal-overlay--show {
opacity: 1;
}
@ -2505,19 +2111,6 @@
/* ===== 접근성 ===== */
/* 스크린 리더 전용 */
.sn-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* 포커스 스타일 */
button:focus-visible,
select:focus-visible,
@ -2533,10 +2126,10 @@ textarea:focus-visible,
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
animation-duration: 0.01ms;
animation-iteration-count: 1;
transition-duration: 0.01ms;
scroll-behavior: auto;
}
}
@ -2806,19 +2399,19 @@ textarea:focus-visible,
/* === Stat Value Colors === */
.speech-to-text-settings .sn-stat-excellent {
color: var(--interactive-success) !important;
color: var(--interactive-success);
}
.speech-to-text-settings .sn-stat-good {
color: var(--text-accent) !important;
color: var(--text-accent);
}
.speech-to-text-settings .sn-stat-fair {
color: var(--text-warning) !important;
color: var(--text-warning);
}
.speech-to-text-settings .sn-stat-poor {
color: var(--text-error) !important;
color: var(--text-error);
}
/* === Comparison Chart === */

View file

@ -207,19 +207,19 @@
/* === Stat Value Colors === */
.speech-to-text-settings .sn-stat-excellent {
color: var(--interactive-success) !important;
color: var(--interactive-success);
}
.speech-to-text-settings .sn-stat-good {
color: var(--text-accent) !important;
color: var(--text-accent);
}
.speech-to-text-settings .sn-stat-fair {
color: var(--text-warning) !important;
color: var(--text-warning);
}
.speech-to-text-settings .sn-stat-poor {
color: var(--text-error) !important;
color: var(--text-error);
}
/* === Comparison Chart === */