From ce0a0ae209efba2d8c9c856d672d64cf2c5b5e51 Mon Sep 17 00:00:00 2001 From: "Nanashi." Date: Sun, 20 Oct 2024 15:36:48 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=82=92Quasar=E3=81=AE=E3=82=82=E3=81=AE=E3=81=AB=E7=BD=AE?= =?UTF-8?q?=E3=81=8D=E6=8F=9B=E3=81=88=E3=82=8B=20(#2286)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] Co-authored-by: Hiroshiba --- package-lock.json | 943 +++++------------- package.json | 8 +- src/backend/browser/sandbox.ts | 25 - src/backend/electron/main.ts | 27 - src/backend/electron/preload.ts | 22 - src/components/Dialog/Dialog.ts | 202 ++-- src/components/Dialog/HotkeySettingDialog.vue | 3 +- .../Dialog/ImportSongProjectDialog.vue | 5 - .../Dialog/SettingDialog/SettingDialog.vue | 3 +- .../TextDialog/MessageDialog.stories.ts | 55 + .../Dialog/TextDialog/MessageDialog.vue | 83 ++ .../TextDialog/QuestionDialog.stories.ts | 82 ++ .../Dialog/TextDialog/QuestionDialog.vue | 99 ++ src/components/Dialog/TextDialog/common.ts | 34 + src/components/Dialog/ToolBarCustomDialog.vue | 3 +- src/components/Sing/SideBar/SideBar.vue | 1 + src/store/audioPlayer.ts | 3 +- src/store/project.ts | 19 +- src/store/setting.ts | 14 +- src/store/type.ts | 12 +- src/store/ui.ts | 10 +- src/styles/_index.scss | 18 +- src/type/ipc.ts | 25 - src/type/preload.ts | 13 - ...3\202\242\343\203\255\343\202\260.spec.ts" | 5 +- ...messagedialog--closed-storybook-win32.png" | Bin 0 -> 4332 bytes ...log--opened-multiline-storybook-win32.png" | Bin 0 -> 9782 bytes ...messagedialog--opened-storybook-win32.png" | Bin 0 -> 8666 bytes ...uestiondialog--closed-storybook-win32.png" | Bin 0 -> 4332 bytes ...log--opened-multiline-storybook-win32.png" | Bin 0 -> 10023 bytes ...uestiondialog--opened-storybook-win32.png" | Bin 0 -> 8908 bytes 31 files changed, 758 insertions(+), 956 deletions(-) create mode 100644 src/components/Dialog/TextDialog/MessageDialog.stories.ts create mode 100644 src/components/Dialog/TextDialog/MessageDialog.vue create mode 100644 src/components/Dialog/TextDialog/QuestionDialog.stories.ts create mode 100644 src/components/Dialog/TextDialog/QuestionDialog.vue create mode 100644 src/components/Dialog/TextDialog/common.ts create mode 100644 "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" create mode 100644 "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" create mode 100644 "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" create mode 100644 "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" create mode 100644 "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" create mode 100644 "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" 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 0000000000000000000000000000000000000000..936052b1d2f100f073d5731d8264668e9c47127f GIT binary patch literal 4332 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 Z!GT(FKu4MT)xx{TnUh9(#N$_Q{|`EoIZXfn literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..936052b1d2f100f073d5731d8264668e9c47127f GIT binary patch literal 4332 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 E-x;-Zr~m)} literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..61ef49308886ceda1d5418309f7defa042e327c2 GIT binary patch literal 8908 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