diff --git a/package-lock.json b/package-lock.json index 475ceb6aba..91d10e7310 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "shlex": "2.1.2", "systeminformation": "5.21.15", "tree-kill": "1.2.2", - "vue": "3.4.26", + "vue": "3.5.11", "vuedraggable": "4.1.0", "vuex": "4.0.2", "zod": "3.22.4" @@ -65,7 +65,7 @@ "@typescript-eslint/parser": "7.15.0", "@typescript-eslint/types": "7.15.0", "@typescript-eslint/utils": "7.15.0", - "@vitejs/plugin-vue": "5.0.4", + "@vitejs/plugin-vue": "5.1.4", "@vitest/browser": "2.1.2", "@vitest/ui": "2.1.2", "@voicevox/eslint-plugin": "file:./eslint-plugin", @@ -94,12 +94,12 @@ "ts-node": "10.9.1", "typescript": "5.5.2", "vite": "5.3.2", - "vite-plugin-checker": "0.7.0", + "vite-plugin-checker": "0.8.0", "vite-plugin-electron": "0.28.4", "vite-plugin-node-polyfills": "0.21.0", "vite-tsconfig-paths": "4.2.1", "vitest": "2.1.2", - "vue-tsc": "2.0.24", + "vue-tsc": "2.1.6", "yargs": "17.2.1" }, "engines": { @@ -341,16 +341,6 @@ "node": ">=12" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@develar/schema-utils": { "version": "2.6.5", "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", @@ -1068,21 +1058,6 @@ "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1095,18 +1070,6 @@ "node": "*" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/js": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", @@ -1320,18 +1283,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@inquirer/core/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@inquirer/core/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1473,6 +1424,16 @@ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@lukeed/csprng": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", @@ -3149,224 +3110,6 @@ "vite": "^4.0.0 || ^5.0.0" } }, - "node_modules/@swc/core": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.35.tgz", - "integrity": "sha512-3cUteCTbr2r5jqfgx0r091sfq5Mgh6F1SQh8XAOnSvtKzwv2bC31mvBHVAieD1uPa2kHJhLav20DQgXOhpEitw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.13" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.35", - "@swc/core-darwin-x64": "1.7.35", - "@swc/core-linux-arm-gnueabihf": "1.7.35", - "@swc/core-linux-arm64-gnu": "1.7.35", - "@swc/core-linux-arm64-musl": "1.7.35", - "@swc/core-linux-x64-gnu": "1.7.35", - "@swc/core-linux-x64-musl": "1.7.35", - "@swc/core-win32-arm64-msvc": "1.7.35", - "@swc/core-win32-ia32-msvc": "1.7.35", - "@swc/core-win32-x64-msvc": "1.7.35" - }, - "peerDependencies": { - "@swc/helpers": "*" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.35.tgz", - "integrity": "sha512-BQSSozVxjxS+SVQz6e3GC/+OBWGIK3jfe52pWdANmycdjF3ch7lrCKTHTU7eHwyoJ96mofszPf5AsiVJF34Fwg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.35.tgz", - "integrity": "sha512-44TYdKN/EWtkU88foXR7IGki9JzhEJzaFOoPevfi9Xe7hjAD/x2+AJOWWqQNzDPMz9+QewLdUVLyR6s5okRgtg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.35.tgz", - "integrity": "sha512-ccfA5h3zxwioD+/z/AmYtkwtKz9m4rWTV7RoHq6Jfsb0cXHrd6tbcvgqRWXra1kASlE+cDWsMtEZygs9dJRtUQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.35.tgz", - "integrity": "sha512-hx65Qz+G4iG/IVtxJKewC5SJdki8PAPFGl6gC/57Jb0+jA4BIoGLD/J3Q3rCPeoHfdqpkCYpahtyUq8CKx41Jg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.35.tgz", - "integrity": "sha512-kL6tQL9No7UEoEvDRuPxzPTpxrvbwYteNRbdChSSP74j13/55G2/2hLmult5yFFaWuyoyU/2lvzjRL/i8OLZxg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.35.tgz", - "integrity": "sha512-Ke4rcLQSwCQ2LHdJX1FtnqmYNQ3IX6BddKlUtS7mcK13IHkQzZWp0Dcu6MgNA3twzb/dBpKX5GLy07XdGgfmyw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.35.tgz", - "integrity": "sha512-T30tlLnz0kYyDFyO5RQF5EQ4ENjW9+b56hEGgFUYmfhFhGA4E4V67iEx7KIG4u0whdPG7oy3qjyyIeTb7nElEw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.35.tgz", - "integrity": "sha512-CfM/k8mvtuMyX+okRhemfLt784PLS0KF7Q9djA8/Dtavk0L5Ghnq+XsGltO3d8B8+XZ7YOITsB14CrjehzeHsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.35.tgz", - "integrity": "sha512-ATB3uuH8j/RmS64EXQZJSbo2WXfRNpTnQszHME/sGaexsuxeijrp3DTYSFAA3R2Bu6HbIIX6jempe1Au8I3j+A==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.7.35", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.35.tgz", - "integrity": "sha512-iDGfQO1571NqWUXtLYDhwIELA/wadH42ioGn+J9R336nWx40YICzy9UQyslWRhqzhQ5kT+QXAW/MoCWc058N6Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/@swc/helpers": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz", @@ -3375,17 +3118,6 @@ "tslib": "^2.4.0" } }, - "node_modules/@swc/types": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz", - "integrity": "sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -4127,9 +3859,9 @@ "dev": true }, "node_modules/@vitejs/plugin-vue": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", - "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz", + "integrity": "sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==", "dev": true, "engines": { "node": "^18.0.0 || >=20.0.0" @@ -4392,30 +4124,30 @@ "dev": true }, "node_modules/@vue/compiler-dom": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz", - "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.11.tgz", + "integrity": "sha512-pyGf8zdbDDRkBrEzf8p7BQlMKNNF5Fk/Cf/fQ6PiUz9at4OaUfyXW0dGJTo2Vl1f5U9jSLCNf0EZJEogLXoeew==", "dependencies": { - "@vue/compiler-core": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-core": "3.5.11", + "@vue/shared": "3.5.11" } }, "node_modules/@vue/compiler-dom/node_modules/@vue/compiler-core": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz", - "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.11.tgz", + "integrity": "sha512-PwAdxs7/9Hc3ieBO12tXzmTD+Ln4qhT/56S+8DvrrZ4kLDn4Z/AMUr8tXJD0axiJBS0RKIoNaR0yMuQB9v9Udg==", "dependencies": { - "@babel/parser": "^7.24.4", - "@vue/shared": "3.4.26", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.11", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/compiler-dom/node_modules/estree-walker": { "version": "2.0.2", @@ -4423,37 +4155,37 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz", - "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==", - "dependencies": { - "@babel/parser": "^7.24.4", - "@vue/compiler-core": "3.4.26", - "@vue/compiler-dom": "3.4.26", - "@vue/compiler-ssr": "3.4.26", - "@vue/shared": "3.4.26", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.11.tgz", + "integrity": "sha512-gsbBtT4N9ANXXepprle+X9YLg2htQk1sqH/qGJ/EApl+dgpUBdTv3yP7YlR535uHZY3n6XaR0/bKo0BgwwDniw==", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.11", + "@vue/compiler-dom": "3.5.11", + "@vue/compiler-ssr": "3.5.11", + "@vue/shared": "3.5.11", "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.38", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-core": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz", - "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.11.tgz", + "integrity": "sha512-PwAdxs7/9Hc3ieBO12tXzmTD+Ln4qhT/56S+8DvrrZ4kLDn4Z/AMUr8tXJD0axiJBS0RKIoNaR0yMuQB9v9Udg==", "dependencies": { - "@babel/parser": "^7.24.4", - "@vue/shared": "3.4.26", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.11", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-sfc/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { "version": "2.0.2", @@ -4461,18 +4193,18 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz", - "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.11.tgz", + "integrity": "sha512-P4+GPjOuC2aFTk1Z4WANvEhyOykcvEd5bIj2KVNGKGfM745LaXGr++5njpdBTzVz5pZifdlR1kpYSJJpIlSePA==", "dependencies": { - "@vue/compiler-dom": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-dom": "3.5.11", + "@vue/shared": "3.5.11" } }, "node_modules/@vue/compiler-ssr/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/compiler-vue2": { "version": "2.7.16", @@ -4552,63 +4284,64 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz", - "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.11.tgz", + "integrity": "sha512-Nqo5VZEn8MJWlCce8XoyVqHZbd5P2NH+yuAaFzuNSR96I+y1cnuUiq7xfSG+kyvLSiWmaHTKP1r3OZY4mMD50w==", "dependencies": { - "@vue/shared": "3.4.26" + "@vue/shared": "3.5.11" } }, "node_modules/@vue/reactivity/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/runtime-core": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz", - "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.11.tgz", + "integrity": "sha512-7PsxFGqwfDhfhh0OcDWBG1DaIQIVOLgkwA5q6MtkPiDFjp5gohVnJEahSktwSFLq7R5PtxDKy6WKURVN1UDbzA==", "dependencies": { - "@vue/reactivity": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/reactivity": "3.5.11", + "@vue/shared": "3.5.11" } }, "node_modules/@vue/runtime-core/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/runtime-dom": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz", - "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.11.tgz", + "integrity": "sha512-GNghjecT6IrGf0UhuYmpgaOlN7kxzQBhxWEn08c/SQDxv1yy4IXI1bn81JgEpQ4IXjRxWtPyI8x0/7TF5rPfYQ==", "dependencies": { - "@vue/runtime-core": "3.4.26", - "@vue/shared": "3.4.26", + "@vue/reactivity": "3.5.11", + "@vue/runtime-core": "3.5.11", + "@vue/shared": "3.5.11", "csstype": "^3.1.3" } }, "node_modules/@vue/runtime-dom/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/server-renderer": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz", - "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.11.tgz", + "integrity": "sha512-cVOwYBxR7Wb1B1FoxYvtjJD8X/9E5nlH4VSkJy2uMA1MzYNdzAAB//l8nrmN9py/4aP+3NjWukf9PZ3TeWULaA==", "dependencies": { - "@vue/compiler-ssr": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-ssr": "3.5.11", + "@vue/shared": "3.5.11" }, "peerDependencies": { - "vue": "3.4.26" + "vue": "3.5.11" } }, "node_modules/@vue/server-renderer/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/@vue/shared": { "version": "3.5.12", @@ -5427,23 +5160,6 @@ "node": ">=12.0.0" } }, - "node_modules/better-opn/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -6347,22 +6063,6 @@ "typescript": "^5.3.3" } }, - "node_modules/config-file-ts/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/config-file-ts/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -6392,18 +6092,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/config-file-ts/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/consola": { "version": "2.15.3", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", @@ -8054,21 +7742,6 @@ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, - "node_modules/eslint-plugin-vue/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-vue/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -8081,18 +7754,6 @@ "node": ">=10" } }, - "node_modules/eslint-plugin-vue/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -8131,21 +7792,6 @@ "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -8170,18 +7816,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/esm-resolve": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/esm-resolve/-/esm-resolve-1.0.11.tgz", @@ -8710,6 +8344,22 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", @@ -8787,21 +8437,15 @@ "node": ">=8" } }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, @@ -8984,6 +8628,33 @@ "node": ">=10.0" } }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", @@ -9280,33 +8951,15 @@ "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "lru-cache": "^6.0.0" }, "engines": { "node": ">=10" } }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/hotkeys-js": { "version": "3.13.6", "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.6.tgz", @@ -10140,22 +9793,6 @@ "node": ">=14" } }, - "node_modules/js-beautify/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/js-beautify/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -10185,18 +9822,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/js-beautify/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/js-cookie": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", @@ -10245,6 +9870,15 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -10276,6 +9910,12 @@ "node": ">=6" } }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -10587,6 +10227,17 @@ "node": ">=8" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/lz-string": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", @@ -10723,22 +10374,6 @@ "node": ">=16" } }, - "node_modules/markdownlint-cli/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/markdownlint-cli/node_modules/glob": { "version": "10.3.16", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz", @@ -10770,12 +10405,6 @@ "node": ">= 4" } }, - "node_modules/markdownlint-cli/node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - }, "node_modules/markdownlint-cli/node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -10785,18 +10414,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/markdownlint-cli/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/markdownlint-micromark": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz", @@ -11069,12 +10686,6 @@ "node": ">=8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -11655,6 +11266,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -12090,20 +11718,6 @@ "node": ">=18" } }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/plist": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", @@ -12765,22 +12379,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/read-package-json/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -12801,15 +12399,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/read-package-json/node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -12819,18 +12408,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/read-package-json/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, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -13054,6 +12631,12 @@ "node": ">=8" } }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", @@ -13387,22 +12970,6 @@ "dev": true, "optional": true }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/send": { "version": "0.19.0", "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", @@ -13612,10 +13179,16 @@ "dev": true }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/simple-update-notifier": { "version": "2.0.0", @@ -14026,6 +13599,15 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -14173,12 +13755,6 @@ "node": ">=10" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/telejson": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", @@ -14550,15 +14126,6 @@ "json5": "lib/cli.js" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -15056,13 +14623,12 @@ } }, "node_modules/vite-plugin-checker": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.7.0.tgz", - "integrity": "sha512-F3MdUORNLcPC0oDB9zxmPDhUC8X/3fzDShU5Izk4bqE4uTgxbQdOuOCa99bS6OSyWVC0uhHG4yAtWUXM2jOx9A==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.8.0.tgz", + "integrity": "sha512-UA5uzOGm97UvZRTdZHiQVYFnd86AVn8EVaD4L3PoVzxH+IZSfaAw14WGFwX9QS23UW3lV/5bVKZn6l0w+q9P0g==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@volar/typescript": "^2.3.0", "ansi-escapes": "^4.3.0", "chalk": "^4.1.1", "chokidar": "^3.5.1", @@ -15081,6 +14647,7 @@ "node": ">=14.16" }, "peerDependencies": { + "@biomejs/biome": ">=1.7", "eslint": ">=7", "meow": "^9.0.0", "optionator": "^0.9.1", @@ -15089,9 +14656,12 @@ "vite": ">=2.0.0", "vls": "*", "vti": "*", - "vue-tsc": ">=2.0.0" + "vue-tsc": "~2.1.6" }, "peerDependenciesMeta": { + "@biomejs/biome": { + "optional": true + }, "eslint": { "optional": true }, @@ -15599,6 +15169,20 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/vitest": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.2.tgz", @@ -15791,15 +15375,15 @@ "dev": true }, "node_modules/vue": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz", - "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==", + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.11.tgz", + "integrity": "sha512-/8Wurrd9J3lb72FTQS7gRMNQD4nztTtKPmuDuPuhqXmmpD6+skVjAeahNpVzsuky6Sy9gy7wn8UadqPtt9SQIg==", "dependencies": { - "@vue/compiler-dom": "3.4.26", - "@vue/compiler-sfc": "3.4.26", - "@vue/runtime-dom": "3.4.26", - "@vue/server-renderer": "3.4.26", - "@vue/shared": "3.4.26" + "@vue/compiler-dom": "3.5.11", + "@vue/compiler-sfc": "3.5.11", + "@vue/runtime-dom": "3.5.11", + "@vue/server-renderer": "3.5.11", + "@vue/shared": "3.5.11" }, "peerDependencies": { "typescript": "*" @@ -15916,24 +15500,14 @@ "vue": "^3.2.0" } }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, "node_modules/vue-tsc": { - "version": "2.0.24", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.24.tgz", - "integrity": "sha512-1qi4P8L7yS78A7OJ7CDDxUIZPD6nVxoQEgX3DkRZNi1HI1qOfzOJwQlNpmwkogSVD6S/XcanbW9sktzpSxz6rA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.6.tgz", + "integrity": "sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==", "dev": true, "dependencies": { - "@volar/typescript": "~2.4.0-alpha.2", - "@vue/language-core": "2.0.24", + "@volar/typescript": "~2.4.1", + "@vue/language-core": "2.1.6", "semver": "^7.5.4" }, "bin": { @@ -15943,34 +15517,10 @@ "typescript": ">=5.0.0" } }, - "node_modules/vue-tsc/node_modules/@vue/language-core": { - "version": "2.0.24", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.24.tgz", - "integrity": "sha512-997YD6Lq/66LXr3ZOLNxDCmyn13z9NP8LU1UZn9hGCDWhzlbXAIP0hOgL3w3x4RKEaWTaaRtsHP9DzHvmduruQ==", - "dev": true, - "dependencies": { - "@volar/language-core": "~2.4.0-alpha.2", - "@vue/compiler-dom": "^3.4.0", - "@vue/shared": "^3.4.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/vue/node_modules/@vue/shared": { - "version": "3.4.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", - "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.11.tgz", + "integrity": "sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==" }, "node_modules/vuedraggable": { "version": "4.1.0", @@ -16269,6 +15819,11 @@ "integrity": "sha512-Syu3IB3rZvKvYk7yTiyl1bo/jiEFaaStrgv1V2TIJTqYPStSMQVO8EQjg/z+DRzLq/4LIIharNT3iH1hylEIRw==", "dev": true }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/yargs": { "version": "17.2.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", diff --git a/package.json b/package.json index c2f6c60014..1b99716917 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "shlex": "2.1.2", "systeminformation": "5.21.15", "tree-kill": "1.2.2", - "vue": "3.4.26", + "vue": "3.5.11", "vuedraggable": "4.1.0", "vuex": "4.0.2", "zod": "3.22.4" @@ -99,7 +99,7 @@ "@typescript-eslint/parser": "7.15.0", "@typescript-eslint/types": "7.15.0", "@typescript-eslint/utils": "7.15.0", - "@vitejs/plugin-vue": "5.0.4", + "@vitejs/plugin-vue": "5.1.4", "@vitest/browser": "2.1.2", "@vitest/ui": "2.1.2", "@voicevox/eslint-plugin": "file:./eslint-plugin", @@ -128,12 +128,12 @@ "ts-node": "10.9.1", "typescript": "5.5.2", "vite": "5.3.2", - "vite-plugin-checker": "0.7.0", + "vite-plugin-checker": "0.8.0", "vite-plugin-electron": "0.28.4", "vite-plugin-node-polyfills": "0.21.0", "vite-tsconfig-paths": "4.2.1", "vitest": "2.1.2", - "vue-tsc": "2.0.24", + "vue-tsc": "2.1.6", "yargs": "17.2.1" } } diff --git a/src/backend/browser/sandbox.ts b/src/backend/browser/sandbox.ts index ef340f9e84..5e00b6e398 100644 --- a/src/backend/browser/sandbox.ts +++ b/src/backend/browser/sandbox.ts @@ -7,7 +7,6 @@ import { writeFileImpl, } from "./fileImpl"; import { getConfigManager } from "./browserConfig"; - import { IpcSOData } from "@/type/ipc"; import { defaultHotkeySettings, @@ -142,30 +141,6 @@ export const api: Sandbox = { ], }); }, - showMessageDialog(obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - }) { - window.alert(`${obj.title}\n${obj.message}`); - // NOTE: どの呼び出し元も、return valueを使用していないので雑に対応している - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return Promise.resolve({} as any); - }, - showQuestionDialog(obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - buttons: string[]; - cancelId?: number; - defaultId?: number; - }) { - // FIXME - // TODO: 例えば動的にdialog要素をDOMに生成して、それを表示させるみたいのはあるかもしれない - throw new Error( - `Not implemented: showQuestionDialog, request: ${JSON.stringify(obj)}`, - ); - }, async showImportFileDialog(obj: { name?: string; extensions?: string[]; diff --git a/src/backend/electron/main.ts b/src/backend/electron/main.ts index 6a606bf72d..9669602438 100644 --- a/src/backend/electron/main.ts +++ b/src/backend/electron/main.ts @@ -605,33 +605,6 @@ registerIpcMainHandle({ return result.filePaths; }, - SHOW_MESSAGE_DIALOG: (_, { type, title, message }) => { - return dialog.showMessageBox(win, { - type, - title, - message, - }); - }, - - SHOW_QUESTION_DIALOG: ( - _, - { type, title, message, buttons, cancelId, defaultId }, - ) => { - return dialog - .showMessageBox(win, { - type, - buttons, - title, - message, - noLink: true, - cancelId, - defaultId, - }) - .then((value) => { - return value.response; - }); - }, - SHOW_WARNING_DIALOG: (_, { title, message }) => { return dialog.showMessageBox(win, { type: "warning", diff --git a/src/backend/electron/preload.ts b/src/backend/electron/preload.ts index 9951e8c6a2..28d7127505 100644 --- a/src/backend/electron/preload.ts +++ b/src/backend/electron/preload.ts @@ -67,28 +67,6 @@ const api: Sandbox = { return ipcRendererInvokeProxy.SHOW_PROJECT_LOAD_DIALOG({ title }); }, - showMessageDialog: ({ type, title, message }) => { - return ipcRendererInvokeProxy.SHOW_MESSAGE_DIALOG({ type, title, message }); - }, - - showQuestionDialog: ({ - type, - title, - message, - buttons, - cancelId, - defaultId, - }) => { - return ipcRendererInvokeProxy.SHOW_QUESTION_DIALOG({ - type, - title, - message, - buttons, - cancelId, - defaultId, - }); - }, - showImportFileDialog: ({ title, name, extensions }) => { return ipcRendererInvokeProxy.SHOW_IMPORT_FILE_DIALOG({ title, diff --git a/src/components/Dialog/Dialog.ts b/src/components/Dialog/Dialog.ts index 54b33bf78b..bb6963680b 100644 --- a/src/components/Dialog/Dialog.ts +++ b/src/components/Dialog/Dialog.ts @@ -1,5 +1,8 @@ -import { Dialog, DialogChainObject, Notify, Loading } from "quasar"; +import { Dialog, Notify, Loading } from "quasar"; import SaveAllResultDialog from "./SaveAllResultDialog.vue"; +import QuestionDialog from "./TextDialog/QuestionDialog.vue"; +import MessageDialog from "./TextDialog/MessageDialog.vue"; +import { DialogType } from "./TextDialog/common"; import { AudioKey, ConfirmedTips } from "@/type/preload"; import { AllActions, @@ -12,29 +15,35 @@ import { withProgressDotNotation as withProgress } from "@/store/ui"; type MediaType = "audio" | "text"; -export type CommonDialogResult = "OK" | "CANCEL"; -export type CommonDialogOptions = { - alert: { - title: string; - message: string; - ok?: string; - }; - confirm: { - title: string; - message: string; - html?: boolean; - actionName: string; - cancel?: string; - }; - warning: { - title: string; - message: string; - actionName: string; - cancel?: string; - }; +export type TextDialogResult = "OK" | "CANCEL"; +export type AlertDialogOptions = { + type?: DialogType; + title: string; + message: string; + ok?: string; +}; +export type ConfirmDialogOptions = { + type?: DialogType; + title: string; + message: string; + actionName: string; + cancel?: string; +}; +export type WarningDialogOptions = { + type?: DialogType; + title: string; + message: string; + actionName: string; + cancel?: string; +}; +export type QuestionDialogOptions = { + type?: DialogType; + title: string; + message: string; + buttons: string[]; + cancel: number; + default?: number; }; -export type CommonDialogType = keyof CommonDialogOptions; -type CommonDialogCallback = (value: CommonDialogResult) => void; export type NotifyAndNotShowAgainButtonOption = { message: string; @@ -46,99 +55,84 @@ export type NotifyAndNotShowAgainButtonOption = { export type LoadingScreenOption = { message: string }; // 汎用ダイアログを表示 -export const showAlertDialog = async ( - options: CommonDialogOptions["alert"], -) => { +export const showAlertDialog = async (options: AlertDialogOptions) => { options.ok ??= "閉じる"; - return new Promise((resolve: CommonDialogCallback) => { - setCommonDialogCallback( - Dialog.create({ - title: options.title, - message: options.message, - ok: { - label: options.ok, - flat: true, - textColor: "display", - }, - }), - resolve, - ); - }); + const { promise, resolve } = Promise.withResolvers(); + Dialog.create({ + component: MessageDialog, + componentProps: { + type: options.type ?? "info", + title: options.title, + message: options.message, + ok: options.ok, + }, + }).onOk(() => resolve()); + + await promise; + + return "OK" as const; }; -/** - * htmlフラグを`true`にする場合、外部からの汚染された文字列を`title`や`message`に含めてはいけません。 - * see https://quasar.dev/quasar-plugins/dialog#using-html - */ -export const showConfirmDialog = async ( - options: CommonDialogOptions["confirm"], -) => { +export const showConfirmDialog = async (options: ConfirmDialogOptions) => { options.cancel ??= "キャンセル"; - return new Promise((resolve: CommonDialogCallback) => { - setCommonDialogCallback( - Dialog.create({ - title: options.title, - message: options.message, - persistent: true, // ダイアログ外側押下時・Esc押下時にユーザが設定ができたと思い込むことを防止する - focus: "ok", - html: options.html, - ok: { - flat: true, - label: options.actionName, - textColor: "display", - }, - cancel: { - flat: true, - label: options.cancel, - textColor: "display", - }, - }), - resolve, - ); - }); + const { promise, resolve } = Promise.withResolvers(); + Dialog.create({ + component: QuestionDialog, + componentProps: { + type: options.type ?? "question", + title: options.title, + message: options.message, + buttons: [options.cancel, options.actionName], + default: 1, + }, + }).onOk(({ index }: { index: number }) => resolve(index)); + + const index = await promise; + + return index === 1 ? "OK" : "CANCEL"; }; -export const showWarningDialog = async ( - options: CommonDialogOptions["warning"], -) => { +export const showWarningDialog = async (options: WarningDialogOptions) => { options.cancel ??= "キャンセル"; - return new Promise((resolve: CommonDialogCallback) => { - setCommonDialogCallback( - Dialog.create({ - title: options.title, - message: options.message, - persistent: true, - focus: "cancel", - ok: { - label: options.actionName, - flat: true, - textColor: "warning", - }, - cancel: { - label: options.cancel, - flat: true, - textColor: "display", - }, - }), - resolve, - ); - }); + const { promise, resolve } = Promise.withResolvers(); + Dialog.create({ + component: QuestionDialog, + componentProps: { + type: options.type ?? "warning", + title: options.title, + message: options.message, + buttons: [options.cancel, options.actionName], + default: 0, + }, + }).onOk(({ index }: { index: number }) => resolve(index)); + + const index = await promise; + + return index === 1 ? "OK" : "CANCEL"; }; -const setCommonDialogCallback = ( - dialog: DialogChainObject, - resolve: (result: CommonDialogResult) => void, -) => { - return dialog - .onOk(() => { - resolve("OK"); - }) - .onCancel(() => { - resolve("CANCEL"); - }); +export const showQuestionDialog = async (options: QuestionDialogOptions) => { + const { promise, resolve } = Promise.withResolvers(); + Dialog.create({ + component: QuestionDialog, + componentProps: { + type: options.type ?? "question", + title: options.title, + message: options.message, + buttons: options.buttons, + persistent: options.cancel == undefined, + default: options.default, + }, + }) + .onOk(({ index }: { index: number }) => resolve(index)) + .onCancel(() => resolve(options.cancel)); + + const index = await promise; + + return index; }; export async function generateAndSaveOneAudioWithDialog({ diff --git a/src/components/Dialog/HotkeySettingDialog.vue b/src/components/Dialog/HotkeySettingDialog.vue index 13e5da8c10..e3590d458f 100644 --- a/src/components/Dialog/HotkeySettingDialog.vue +++ b/src/components/Dialog/HotkeySettingDialog.vue @@ -265,8 +265,7 @@ const setHotkeyDialogOpened = () => { const resetHotkey = async (action: string) => { const result = await store.dispatch("SHOW_CONFIRM_DIALOG", { title: "ショートカットキーを初期値に戻します", - message: `${action}のショートカットキーを初期値に戻します。
本当に戻しますか?`, - html: true, + message: `${action}のショートカットキーを初期値に戻します。\n本当に戻しますか?`, actionName: "初期値に戻す", cancel: "初期値に戻さない", }); diff --git a/src/components/Dialog/ImportSongProjectDialog.vue b/src/components/Dialog/ImportSongProjectDialog.vue index 1d478bd18c..223c2f33eb 100644 --- a/src/components/Dialog/ImportSongProjectDialog.vue +++ b/src/components/Dialog/ImportSongProjectDialog.vue @@ -327,11 +327,6 @@ const handleCancel = () => { diff --git a/src/components/Dialog/TextDialog/QuestionDialog.stories.ts b/src/components/Dialog/TextDialog/QuestionDialog.stories.ts new file mode 100644 index 0000000000..17c8b28848 --- /dev/null +++ b/src/components/Dialog/TextDialog/QuestionDialog.stories.ts @@ -0,0 +1,82 @@ +import { userEvent, within, expect, fn, waitFor } from "@storybook/test"; + +import { Meta, StoryObj } from "@storybook/vue3"; +import QuestionDialog from "./QuestionDialog.vue"; +import { UnreachableError } from "@/type/utility"; + +const meta: Meta = { + component: QuestionDialog, + args: { + type: "info", + modelValue: true, + title: "タイトル", + message: "メッセージ", + buttons: ["A", "B", "C"], + + onOk: fn(), + onHide: fn(), + }, + tags: ["!autodocs"], +}; + +export default meta; +type Story = StoryObj; + +export const Opened: Story = { + name: "開いている", + args: { + modelValue: true, + }, +}; + +export const OpenedMultiline: Story = { + name: "開いている:複数行", + args: { + modelValue: true, + message: "メッセージ\n複数行", + }, +}; + +export const Close: Story = { + name: "Aを押す", + args: { ...Opened.args }, + play: async ({ args }) => { + const canvas = within(document.body); // ダイアログなので例外的にdocument.bodyを使う + + const button = canvas.getByRole("button", { name: "A" }); + await userEvent.click(button); + + await expect(args["onOk"]).toBeCalledWith({ index: 0 }); + }, +}; + +export const ClickBackdropWithoutCancel: Story = { + name: "persistent: trueで背景を押してもキャンセル扱いにならない", + args: { ...Opened.args }, + play: async ({ args }) => { + const backdrop = document.body.querySelector(".q-dialog__backdrop"); + if (!backdrop) throw new UnreachableError(); + await userEvent.click(backdrop); + + await expect(args["onOk"]).not.toBeCalled(); + }, +}; + +export const ClickBackdropWithCancel: Story = { + name: "persistent: falseで背景を押すとキャンセル扱いになる", + args: { ...Opened.args, buttons: ["A", "キャンセル"], persistent: false }, + play: async ({ args }) => { + const backdrop = document.body.querySelector(".q-dialog__backdrop"); + if (!backdrop) throw new UnreachableError(); + await userEvent.click(backdrop); + + await waitFor(() => expect(args["onHide"]).toBeCalled()); + }, +}; + +export const Closed: Story = { + name: "閉じている", + args: { + modelValue: false, + }, +}; diff --git a/src/components/Dialog/TextDialog/QuestionDialog.vue b/src/components/Dialog/TextDialog/QuestionDialog.vue new file mode 100644 index 0000000000..97d6c19501 --- /dev/null +++ b/src/components/Dialog/TextDialog/QuestionDialog.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/components/Dialog/TextDialog/common.ts b/src/components/Dialog/TextDialog/common.ts new file mode 100644 index 0000000000..a995cf2dcf --- /dev/null +++ b/src/components/Dialog/TextDialog/common.ts @@ -0,0 +1,34 @@ +import { ExhaustiveError } from "@/type/utility"; + +export type DialogType = "none" | "info" | "error" | "question" | "warning"; +export const getIcon = (dialogType: DialogType) => { + switch (dialogType) { + case "info": + return "info"; + case "error": + return "error"; + case "question": + return "help"; + case "warning": + return "warning"; + case "none": + return ""; + default: + throw new ExhaustiveError(dialogType); + } +}; + +export const getColor = (dialogType: DialogType) => { + switch (dialogType) { + case "error": + case "warning": + // TODO:warning用の色を用意する + return "warning"; + case "question": + case "info": + case "none": + return "display"; + default: + throw new ExhaustiveError(dialogType); + } +}; diff --git a/src/components/Dialog/ToolBarCustomDialog.vue b/src/components/Dialog/ToolBarCustomDialog.vue index 8a5763e6eb..f0ff907b0f 100644 --- a/src/components/Dialog/ToolBarCustomDialog.vue +++ b/src/components/Dialog/ToolBarCustomDialog.vue @@ -210,8 +210,7 @@ watch( const applyDefaultSetting = async () => { const result = await store.dispatch("SHOW_CONFIRM_DIALOG", { title: "ツールバーをデフォルトに戻します", - message: "ツールバーをデフォルトに戻します。
よろしいですか?", - html: true, + message: "ツールバーをデフォルトに戻します。\nよろしいですか?", actionName: "はい", cancel: "いいえ", }); diff --git a/src/components/Sing/SideBar/SideBar.vue b/src/components/Sing/SideBar/SideBar.vue index 92116b568c..1c47c1db9a 100644 --- a/src/components/Sing/SideBar/SideBar.vue +++ b/src/components/Sing/SideBar/SideBar.vue @@ -70,6 +70,7 @@ import { TrackId } from "@/type/preload"; // DraggableのコンテナにQListを使うための設定。 // https://github.com/SortableJS/vue.draggable.next/issues/211#issuecomment-1718863764 +// @ts-expect-error 型エラーが出るが、ちゃんと動くので無視。 Draggable.components = { ...Draggable.components, QList }; const itemKey = (trackId: TrackId) => trackId; diff --git a/src/store/audioPlayer.ts b/src/store/audioPlayer.ts index 8e496df160..6f91c53b32 100644 --- a/src/store/audioPlayer.ts +++ b/src/store/audioPlayer.ts @@ -4,6 +4,7 @@ import { createPartialStore } from "./vuex"; import { AudioPlayerStoreState, AudioPlayerStoreTypes } from "./type"; import { AudioKey } from "@/type/preload"; +import { showAlertDialog } from "@/components/Dialog/Dialog"; // ユニットテストが落ちるのを回避するための遅延読み込み const getAudioElement = (() => { @@ -75,7 +76,7 @@ export const audioPlayerStore = createPartialStore({ audioElement.removeEventListener("canplay", stop); }; audioElement.addEventListener("canplay", stop); - void window.backend.showMessageDialog({ + void showAlertDialog({ type: "error", title: "エラー", message: "再生デバイスが見つかりません", diff --git a/src/store/project.ts b/src/store/project.ts index 4c49d4d3cb..3c98de8933 100755 --- a/src/store/project.ts +++ b/src/store/project.ts @@ -26,6 +26,10 @@ import { } from "@/sing/domain"; import { EditorType } from "@/type/preload"; import { IsEqual } from "@/type/utility"; +import { + showAlertDialog, + showQuestionDialog, +} from "@/components/Dialog/Dialog"; export const projectStoreState: ProjectStoreState = { savedLastCommandIds: { talk: null, song: null }, @@ -224,7 +228,7 @@ export const projectStore = createPartialStore({ return "ファイルフォーマットが正しくありません。"; return err.message; })(); - await window.backend.showMessageDialog({ + await showAlertDialog({ type: "error", title: "エラー", message: `プロジェクトファイルの読み込みに失敗しました。\n${message}`, @@ -269,7 +273,7 @@ export const projectStore = createPartialStore({ context.state.projectFilePath && context.state.projectFilePath != filePath ) { - await window.backend.showMessageDialog({ + await showAlertDialog({ type: "info", title: "保存", message: `編集中のプロジェクトが ${filePath} に切り替わりました。`, @@ -325,7 +329,7 @@ export const projectStore = createPartialStore({ if (!(err instanceof Error)) return "エラーが発生しました。"; return err.message; })(); - await window.backend.showMessageDialog({ + await showAlertDialog({ type: "error", title: "エラー", message: `プロジェクトファイルの保存に失敗しました。\n${message}`, @@ -349,15 +353,14 @@ export const projectStore = createPartialStore({ } message += "\n変更を保存しますか?"; - const result: number = await window.backend.showQuestionDialog({ + const result: number = await showQuestionDialog({ type: "info", title: "警告", message, - buttons: ["保存", "破棄", "キャンセル"], - cancelId: 2, - defaultId: 2, + buttons: ["キャンセル", "破棄", "保存"], + cancel: 0, }); - if (result == 0) { + if (result == 2) { const saved = await actions.SAVE_PROJECT_FILE({ overwrite: true, }); diff --git a/src/store/setting.ts b/src/store/setting.ts index 69ee25c03b..8c1e21ac3f 100644 --- a/src/store/setting.ts +++ b/src/store/setting.ts @@ -1,6 +1,10 @@ import { SettingStoreState, SettingStoreTypes } from "./type"; import { createDotNotationUILockAction as createUILockAction } from "./ui"; import { createDotNotationPartialStore as createPartialStore } from "./vuex"; +import { + showAlertDialog, + showQuestionDialog, +} from "@/components/Dialog/Dialog"; import { HotkeySettingType, SavingSetting, @@ -351,16 +355,16 @@ export const settingStore = createPartialStore({ // 対応するGPUがない場合に変更を続行するか問う if (useGpu && !isAvailableGPUMode) { - const result = await window.backend.showQuestionDialog({ + const result = await showQuestionDialog({ type: "warning", title: "対応するGPUデバイスが見つかりません", message: "GPUモードの利用には対応するGPUデバイスが必要です。\n" + "このままGPUモードに変更するとエンジンエラーが発生する可能性があります。本当に変更しますか?", - buttons: ["変更する", "変更しない"], - cancelId: 1, + buttons: ["変更しない", "変更する"], + cancel: 0, }); - if (result == 1) { + if (result == 0) { return; } } @@ -376,7 +380,7 @@ export const settingStore = createPartialStore({ // GPUモードに変更できなかった場合はCPUモードに戻す // FIXME: useGpu設定を保存してからエンジン起動を試すのではなく、逆にしたい if (!result.success && useGpu) { - await window.backend.showMessageDialog({ + await showAlertDialog({ type: "error", title: "GPUモードに変更できませんでした", message: diff --git a/src/store/type.ts b/src/store/type.ts index 8d13ac4d94..a577651f81 100644 --- a/src/store/type.ts +++ b/src/store/type.ts @@ -57,10 +57,12 @@ import { } from "@/type/preload"; import { IEngineConnectorFactory } from "@/infrastructures/EngineConnector"; import { - CommonDialogOptions, - CommonDialogResult, + TextDialogResult, NotifyAndNotShowAgainButtonOption, LoadingScreenOption, + AlertDialogOptions, + ConfirmDialogOptions, + WarningDialogOptions, } from "@/components/Dialog/Dialog"; import { LatestProjectType, @@ -1970,15 +1972,15 @@ export type UiStoreTypes = { }; SHOW_ALERT_DIALOG: { - action(payload: CommonDialogOptions["alert"]): CommonDialogResult; + action(payload: AlertDialogOptions): TextDialogResult; }; SHOW_CONFIRM_DIALOG: { - action(payload: CommonDialogOptions["confirm"]): CommonDialogResult; + action(payload: ConfirmDialogOptions): TextDialogResult; }; SHOW_WARNING_DIALOG: { - action(payload: CommonDialogOptions["warning"]): CommonDialogResult; + action(payload: WarningDialogOptions): TextDialogResult; }; SHOW_NOTIFY_AND_NOT_SHOW_AGAIN_BUTTON: { diff --git a/src/store/ui.ts b/src/store/ui.ts index b177f0101b..d338134735 100644 --- a/src/store/ui.ts +++ b/src/store/ui.ts @@ -17,7 +17,9 @@ import { import { createDotNotationPartialStore as createPartialStore } from "./vuex"; import { ActivePointScrollMode } from "@/type/preload"; import { - CommonDialogOptions, + AlertDialogOptions, + ConfirmDialogOptions, + WarningDialogOptions, LoadingScreenOption, NotifyAndNotShowAgainButtonOption, connectAndExportTextWithDialog, @@ -244,7 +246,7 @@ export const uiStore = createPartialStore({ SHOW_ALERT_DIALOG: { action: createDotNotationUILockAction( - async (_, payload: { title: string; message: string; ok?: string }) => { + async (_, payload: AlertDialogOptions) => { return await showAlertDialog(payload); }, ), @@ -252,7 +254,7 @@ export const uiStore = createPartialStore({ SHOW_CONFIRM_DIALOG: { action: createDotNotationUILockAction( - async (_, payload: CommonDialogOptions["confirm"]) => { + async (_, payload: ConfirmDialogOptions) => { return await showConfirmDialog(payload); }, ), @@ -260,7 +262,7 @@ export const uiStore = createPartialStore({ SHOW_WARNING_DIALOG: { action: createDotNotationUILockAction( - async (_, payload: CommonDialogOptions["warning"]) => { + async (_, payload: WarningDialogOptions) => { return await showWarningDialog(payload); }, ), diff --git a/src/styles/_index.scss b/src/styles/_index.scss index d12e38a1a6..b73fe71697 100644 --- a/src/styles/_index.scss +++ b/src/styles/_index.scss @@ -1,9 +1,9 @@ -@use './variables' as vars; -@use './colors' as colors; -@use './v2/variables' as vars-v2; -@use './v2/colors' as colors-v2; -@use './v2/sing-colors'; // ソング用カラー -@use './v2/cursor'; // カーソル +@use "./variables" as vars; +@use "./colors" as colors; +@use "./v2/variables" as vars-v2; +@use "./v2/colors" as colors-v2; +@use "./v2/sing-colors"; // ソング用カラー +@use "./v2/cursor"; // カーソル @import "./fonts"; // 優先度を強引に上げる @@ -263,3 +263,9 @@ img { .text-toast-button-display-warning { color: colors.$toast-button-display-warning; } + +// ダイアログのサイズ +.dialog-card { + width: 700px; + max-width: 80vw; +} diff --git a/src/type/ipc.ts b/src/type/ipc.ts index 425e9efdcf..9b3c407a1c 100644 --- a/src/type/ipc.ts +++ b/src/type/ipc.ts @@ -79,31 +79,6 @@ export type IpcIHData = { return?: string[]; }; - SHOW_MESSAGE_DIALOG: { - args: [ - obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - }, - ]; - return: MessageBoxReturnValue; - }; - - SHOW_QUESTION_DIALOG: { - args: [ - obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - buttons: string[]; - cancelId?: number; - defaultId?: number; - }, - ]; - return: number; - }; - SHOW_WARNING_DIALOG: { args: [ obj: { diff --git a/src/type/preload.ts b/src/type/preload.ts index 08a4dcac69..31abcbc904 100644 --- a/src/type/preload.ts +++ b/src/type/preload.ts @@ -243,19 +243,6 @@ export interface Sandbox { defaultPath?: string; }): Promise; showProjectLoadDialog(obj: { title: string }): Promise; - showMessageDialog(obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - }): Promise; - showQuestionDialog(obj: { - type: "none" | "info" | "error" | "question" | "warning"; - title: string; - message: string; - buttons: string[]; - cancelId?: number; - defaultId?: number; - }): Promise; showImportFileDialog(obj: { title: string; name?: string; diff --git "a/tests/e2e/browser/\350\276\236\346\233\270\343\203\200\343\202\244\343\202\242\343\203\255\343\202\260.spec.ts" "b/tests/e2e/browser/\350\276\236\346\233\270\343\203\200\343\202\244\343\202\242\343\203\255\343\202\260.spec.ts" index 89390c3302..d815837bfe 100644 --- "a/tests/e2e/browser/\350\276\236\346\233\270\343\203\200\343\202\244\343\202\242\343\203\255\343\202\260.spec.ts" +++ "b/tests/e2e/browser/\350\276\236\346\233\270\343\203\200\343\202\244\343\202\242\343\203\255\343\202\260.spec.ts" @@ -125,9 +125,10 @@ test("「設定」→「読み方&アクセント辞書」で「読み方& .click(); await page.waitForTimeout(100); - await getNewestQuasarDialog(page) - .getByRole("button") + await page + .locator("header", { hasText: "読み方&アクセント辞書" }) .filter({ hasText: "close" }) + .getByRole("button") .click(); await page.waitForTimeout(100); diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--closed-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--closed-storybook-win32.png" new file mode 100644 index 0000000000..936052b1d2 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--closed-storybook-win32.png" differ diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-multiline-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-multiline-storybook-win32.png" new file mode 100644 index 0000000000..444007f247 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-multiline-storybook-win32.png" differ diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-storybook-win32.png" new file mode 100644 index 0000000000..ad3bfdfb76 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-messagedialog--opened-storybook-win32.png" differ diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--closed-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--closed-storybook-win32.png" new file mode 100644 index 0000000000..936052b1d2 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--closed-storybook-win32.png" differ diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-multiline-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-multiline-storybook-win32.png" new file mode 100644 index 0000000000..de5c13a518 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-multiline-storybook-win32.png" differ diff --git "a/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-storybook-win32.png" "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-storybook-win32.png" new file mode 100644 index 0000000000..61ef493088 Binary files /dev/null and "b/tests/e2e/storybook/\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210.spec.mts-snapshots/components-dialog-textdialog-questiondialog--opened-storybook-win32.png" differ