mirror of
https://github.com/asyouplz/SpeechNote.git
synced 2026-07-22 06:43:33 +00:00
fix(review): reduce portal warnings
This commit is contained in:
parent
9bdc29ce89
commit
14af775f15
9 changed files with 42 additions and 1382 deletions
|
|
@ -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
|
npm run format:check
|
||||||
|
|
|
||||||
515
package-lock.json
generated
515
package-lock.json
generated
|
|
@ -20,7 +20,6 @@
|
||||||
"@types/node": "^16.18.126",
|
"@types/node": "^16.18.126",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||||
"@typescript-eslint/parser": "^7.18.0",
|
"@typescript-eslint/parser": "^7.18.0",
|
||||||
"builtin-modules": "^3.3.0",
|
|
||||||
"conventional-changelog-conventionalcommits": "^9.1.0",
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
||||||
"esbuild": "0.25.0",
|
"esbuild": "0.25.0",
|
||||||
"eslint": "^8.42.0",
|
"eslint": "^8.42.0",
|
||||||
|
|
@ -37,7 +36,6 @@
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"jest-sonar-reporter": "^2.0.0",
|
"jest-sonar-reporter": "^2.0.0",
|
||||||
"jest-watch-typeahead": "^2.2.2",
|
"jest-watch-typeahead": "^2.2.2",
|
||||||
"lint-staged": "^16.2.7",
|
|
||||||
"obsidian": "latest",
|
"obsidian": "latest",
|
||||||
"prettier": "^2.8.8",
|
"prettier": "^2.8.8",
|
||||||
"semantic-release": "^25.0.2",
|
"semantic-release": "^25.0.2",
|
||||||
|
|
@ -4947,19 +4945,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"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": {
|
"node_modules/call-bind": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
|
||||||
|
|
@ -5111,22 +5096,6 @@
|
||||||
"node": ">=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": {
|
"node_modules/cli-highlight": {
|
||||||
"version": "2.1.11",
|
"version": "2.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz",
|
||||||
|
|
@ -5213,69 +5182,6 @@
|
||||||
"@colors/colors": "1.5.0"
|
"@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": {
|
"node_modules/cliui": {
|
||||||
"version": "8.0.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
|
|
@ -5329,23 +5235,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"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": {
|
"node_modules/compare-func": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
|
||||||
|
|
@ -7394,13 +7283,6 @@
|
||||||
"node": ">=0.10.0"
|
"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": {
|
"node_modules/events": {
|
||||||
"version": "3.3.0",
|
"version": "3.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||||
|
|
@ -10549,134 +10431,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"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": {
|
"node_modules/load-json-file": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
|
||||||
|
|
@ -10845,127 +10599,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"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": {
|
"node_modules/loose-envify": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
|
|
@ -11210,19 +10843,6 @@
|
||||||
"node": ">=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": {
|
"node_modules/min-indent": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
|
||||||
|
|
@ -11305,19 +10925,6 @@
|
||||||
"thenify-all": "^1.0.0"
|
"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": {
|
"node_modules/natural-compare": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
|
||||||
|
|
@ -13978,19 +13585,6 @@
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
"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": {
|
"node_modules/pify": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
|
@ -14689,52 +14283,6 @@
|
||||||
"node": ">=10"
|
"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": {
|
"node_modules/ret": {
|
||||||
"version": "0.1.15",
|
"version": "0.1.15",
|
||||||
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
|
||||||
|
|
@ -14756,13 +14304,6 @@
|
||||||
"node": ">=0.10.0"
|
"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": {
|
"node_modules/rimraf": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||||
|
|
@ -15638,52 +15179,6 @@
|
||||||
"node": ">=8"
|
"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": {
|
"node_modules/source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
|
@ -15863,16 +15358,6 @@
|
||||||
"safe-buffer": "~5.2.0"
|
"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": {
|
"node_modules/string-length": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,6 @@
|
||||||
"@types/node": "^16.18.126",
|
"@types/node": "^16.18.126",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||||
"@typescript-eslint/parser": "^7.18.0",
|
"@typescript-eslint/parser": "^7.18.0",
|
||||||
"builtin-modules": "^3.3.0",
|
|
||||||
"conventional-changelog-conventionalcommits": "^9.1.0",
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
||||||
"esbuild": "0.25.0",
|
"esbuild": "0.25.0",
|
||||||
"eslint": "^8.42.0",
|
"eslint": "^8.42.0",
|
||||||
|
|
@ -78,18 +77,11 @@
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"jest-sonar-reporter": "^2.0.0",
|
"jest-sonar-reporter": "^2.0.0",
|
||||||
"jest-watch-typeahead": "^2.2.2",
|
"jest-watch-typeahead": "^2.2.2",
|
||||||
"lint-staged": "^16.2.7",
|
|
||||||
"obsidian": "latest",
|
"obsidian": "latest",
|
||||||
"prettier": "^2.8.8",
|
"prettier": "^2.8.8",
|
||||||
"semantic-release": "^25.0.2",
|
"semantic-release": "^25.0.2",
|
||||||
"ts-jest": "^29.1.0",
|
"ts-jest": "^29.1.0",
|
||||||
"tslib": "^2.4.0",
|
"tslib": "^2.4.0",
|
||||||
"typescript": "^4.9.5"
|
"typescript": "^4.9.5"
|
||||||
},
|
|
||||||
"lint-staged": {
|
|
||||||
"*.ts": [
|
|
||||||
"eslint --fix",
|
|
||||||
"prettier --write"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,13 +55,13 @@ export class ProgressIndicator {
|
||||||
spinner.appendChild(this.getSpinnerElement());
|
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');
|
barContainer.addClass('sn-hidden');
|
||||||
|
|
||||||
// 진행률 바
|
// 진행률 바
|
||||||
const progressBar = barContainer.createDiv('sn-progress-bar');
|
const progressBar = barContainer.createDiv('sn-inline-progress-bar');
|
||||||
progressBar.createDiv('sn-progress-fill');
|
progressBar.createDiv('sn-inline-progress-fill');
|
||||||
const progressText = progressBar.createDiv('sn-progress-text');
|
const progressText = progressBar.createDiv('sn-inline-progress-text');
|
||||||
progressText.setText('0%');
|
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');
|
const spinner = this.progressElement.querySelector('.sn-progress-spinner');
|
||||||
|
|
||||||
if (showProgressBar) {
|
if (showProgressBar) {
|
||||||
|
|
@ -163,8 +165,8 @@ export class ProgressIndicator {
|
||||||
this.currentProgress = Math.min(100, Math.max(0, progress));
|
this.currentProgress = Math.min(100, Math.max(0, progress));
|
||||||
|
|
||||||
// 진행률 바 업데이트
|
// 진행률 바 업데이트
|
||||||
const progressFill = this.progressElement.querySelector('.sn-progress-fill');
|
const progressFill = this.progressElement.querySelector('.sn-inline-progress-fill');
|
||||||
const progressText = this.progressElement.querySelector('.sn-progress-text');
|
const progressText = this.progressElement.querySelector('.sn-inline-progress-text');
|
||||||
|
|
||||||
if (progressFill instanceof HTMLElement && progressText instanceof HTMLElement) {
|
if (progressFill instanceof HTMLElement && progressText instanceof HTMLElement) {
|
||||||
progressFill.setAttribute('style', `--sn-progress-width:${this.currentProgress}%`);
|
progressFill.setAttribute('style', `--sn-progress-width:${this.currentProgress}%`);
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ export class UIComponentFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
const progressBar = progressContainer.createDiv({
|
const progressBar = progressContainer.createDiv({
|
||||||
cls: 'sn-progress-bar',
|
cls: 'sn-inline-progress-bar',
|
||||||
attr: {
|
attr: {
|
||||||
role: 'progressbar',
|
role: 'progressbar',
|
||||||
'aria-valuenow': String(value),
|
'aria-valuenow': String(value),
|
||||||
|
|
@ -64,7 +64,7 @@ export class UIComponentFactory {
|
||||||
});
|
});
|
||||||
|
|
||||||
const progressFill = progressBar.createDiv({
|
const progressFill = progressBar.createDiv({
|
||||||
cls: 'sn-progress-fill',
|
cls: 'sn-inline-progress-fill',
|
||||||
attr: {
|
attr: {
|
||||||
style: `width: ${(value / max) * 100}%`,
|
style: `width: ${(value / max) * 100}%`,
|
||||||
},
|
},
|
||||||
|
|
@ -73,7 +73,7 @@ export class UIComponentFactory {
|
||||||
// 접근성을 위한 텍스트
|
// 접근성을 위한 텍스트
|
||||||
progressFill.createSpan({
|
progressFill.createSpan({
|
||||||
text: `${Math.round((value / max) * 100)}%`,
|
text: `${Math.round((value / max) * 100)}%`,
|
||||||
cls: 'sn-progress-text',
|
cls: 'sn-inline-progress-text',
|
||||||
});
|
});
|
||||||
|
|
||||||
return progressContainer;
|
return progressContainer;
|
||||||
|
|
|
||||||
|
|
@ -564,11 +564,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-bar-container {
|
.sn-inline-progress-bar-container {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-bar {
|
.sn-inline-progress-bar {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
background: var(--background-modifier-border);
|
background: var(--background-modifier-border);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
@ -576,21 +576,21 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill {
|
.sn-inline-progress-fill {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: var(--interactive-accent);
|
background: var(--interactive-accent);
|
||||||
transition: width 0.3s ease;
|
transition: width 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill.sn-is-warning {
|
.sn-inline-progress-fill.sn-is-warning {
|
||||||
background: var(--text-warning);
|
background: var(--text-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill.sn-is-success {
|
.sn-inline-progress-fill.sn-is-success {
|
||||||
background: var(--text-success);
|
background: var(--text-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-text {
|
.sn-inline-progress-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
|
|
|
||||||
|
|
@ -44,213 +44,6 @@
|
||||||
--sn-color-info: #5e81ac;
|
--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 {
|
.sn-progress-bar {
|
||||||
|
|
@ -323,7 +116,7 @@
|
||||||
|
|
||||||
/* Indeterminate 모드 */
|
/* Indeterminate 모드 */
|
||||||
.sn-progress-bar__fill--indeterminate {
|
.sn-progress-bar__fill--indeterminate {
|
||||||
width: 30% !important;
|
width: 30%;
|
||||||
animation: sn-progress-indeterminate 1.5s ease-in-out infinite;
|
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 {
|
.sn-modal-overlay--show {
|
||||||
opacity: 1;
|
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,
|
button:focus-visible,
|
||||||
select:focus-visible,
|
select:focus-visible,
|
||||||
|
|
@ -1214,10 +807,10 @@ textarea:focus-visible,
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
animation-duration: 0.01ms !important;
|
animation-duration: 0.01ms;
|
||||||
animation-iteration-count: 1 !important;
|
animation-iteration-count: 1;
|
||||||
transition-duration: 0.01ms !important;
|
transition-duration: 0.01ms;
|
||||||
scroll-behavior: auto !important;
|
scroll-behavior: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
437
styles.css
437
styles.css
|
|
@ -564,11 +564,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-bar-container {
|
.sn-inline-progress-bar-container {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-bar {
|
.sn-inline-progress-bar {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
background: var(--background-modifier-border);
|
background: var(--background-modifier-border);
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
@ -576,21 +576,21 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill {
|
.sn-inline-progress-fill {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: var(--interactive-accent);
|
background: var(--interactive-accent);
|
||||||
transition: width 0.3s ease;
|
transition: width 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill.sn-is-warning {
|
.sn-inline-progress-fill.sn-is-warning {
|
||||||
background: var(--text-warning);
|
background: var(--text-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-fill.sn-is-success {
|
.sn-inline-progress-fill.sn-is-success {
|
||||||
background: var(--text-success);
|
background: var(--text-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sn-progress-text {
|
.sn-inline-progress-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
|
|
@ -1363,213 +1363,6 @@
|
||||||
--sn-color-info: #5e81ac;
|
--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 {
|
.sn-progress-bar {
|
||||||
|
|
@ -1642,7 +1435,7 @@
|
||||||
|
|
||||||
/* Indeterminate 모드 */
|
/* Indeterminate 모드 */
|
||||||
.sn-progress-bar__fill--indeterminate {
|
.sn-progress-bar__fill--indeterminate {
|
||||||
width: 30% !important;
|
width: 30%;
|
||||||
animation: sn-progress-indeterminate 1.5s ease-in-out infinite;
|
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 {
|
.sn-modal-overlay--show {
|
||||||
opacity: 1;
|
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,
|
button:focus-visible,
|
||||||
select:focus-visible,
|
select:focus-visible,
|
||||||
|
|
@ -2533,10 +2126,10 @@ textarea:focus-visible,
|
||||||
*,
|
*,
|
||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
animation-duration: 0.01ms !important;
|
animation-duration: 0.01ms;
|
||||||
animation-iteration-count: 1 !important;
|
animation-iteration-count: 1;
|
||||||
transition-duration: 0.01ms !important;
|
transition-duration: 0.01ms;
|
||||||
scroll-behavior: auto !important;
|
scroll-behavior: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2806,19 +2399,19 @@ textarea:focus-visible,
|
||||||
|
|
||||||
/* === Stat Value Colors === */
|
/* === Stat Value Colors === */
|
||||||
.speech-to-text-settings .sn-stat-excellent {
|
.speech-to-text-settings .sn-stat-excellent {
|
||||||
color: var(--interactive-success) !important;
|
color: var(--interactive-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-good {
|
.speech-to-text-settings .sn-stat-good {
|
||||||
color: var(--text-accent) !important;
|
color: var(--text-accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-fair {
|
.speech-to-text-settings .sn-stat-fair {
|
||||||
color: var(--text-warning) !important;
|
color: var(--text-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-poor {
|
.speech-to-text-settings .sn-stat-poor {
|
||||||
color: var(--text-error) !important;
|
color: var(--text-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* === Comparison Chart === */
|
/* === Comparison Chart === */
|
||||||
|
|
|
||||||
|
|
@ -207,19 +207,19 @@
|
||||||
|
|
||||||
/* === Stat Value Colors === */
|
/* === Stat Value Colors === */
|
||||||
.speech-to-text-settings .sn-stat-excellent {
|
.speech-to-text-settings .sn-stat-excellent {
|
||||||
color: var(--interactive-success) !important;
|
color: var(--interactive-success);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-good {
|
.speech-to-text-settings .sn-stat-good {
|
||||||
color: var(--text-accent) !important;
|
color: var(--text-accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-fair {
|
.speech-to-text-settings .sn-stat-fair {
|
||||||
color: var(--text-warning) !important;
|
color: var(--text-warning);
|
||||||
}
|
}
|
||||||
|
|
||||||
.speech-to-text-settings .sn-stat-poor {
|
.speech-to-text-settings .sn-stat-poor {
|
||||||
color: var(--text-error) !important;
|
color: var(--text-error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* === Comparison Chart === */
|
/* === Comparison Chart === */
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue