From 9e676712e4d7c9c2c0e526579c36ca081f3f312b Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Thu, 22 Feb 2024 11:12:07 +0800 Subject: [PATCH 1/2] chore: bump vue related packages version (#5384) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /area ui /kind improvement /milestone 2.13.x #### What this PR does / why we need it: 升级 Vue 生态相关依赖至最新版本。 #### Does this PR introduce a user-facing change? ```release-note 升级 Vue 生态相关依赖至最新版本。 ``` --- ui/package.json | 26 +- ui/packages/components/package.json | 4 +- .../components/src/components/modal/Modal.vue | 2 +- ui/packages/editor/package.json | 4 +- ui/packages/shared/package.json | 4 +- ui/pnpm-lock.yaml | 981 +++++++----------- ui/tsconfig.app.json | 1 + 7 files changed, 424 insertions(+), 598 deletions(-) diff --git a/ui/package.json b/ui/package.json index 546a8a9407..c88d8720c3 100644 --- a/ui/package.json +++ b/ui/package.json @@ -93,18 +93,18 @@ "qs": "^6.11.1", "short-unique-id": "^5.0.2", "transliteration": "^2.3.5", - "vue": "^3.3.4", - "vue-demi": "^0.14.5", + "vue": "^3.4.19", + "vue-demi": "^0.14.7", "vue-grid-layout": "3.0.0-beta1", - "vue-i18n": "9.3.0-beta.25", - "vue-router": "^4.2.4", + "vue-i18n": "^9.9.1", + "vue-router": "^4.2.5", "vuedraggable": "^4.1.0" }, "devDependencies": { "@changesets/cli": "^2.25.2", "@iconify-json/mdi": "^1.1.50", "@iconify-json/vscode-icons": "^1.1.22", - "@intlify/unplugin-vue-i18n": "^0.12.2", + "@intlify/unplugin-vue-i18n": "^2.0.0", "@rushstack/eslint-patch": "^1.3.2", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/container-queries": "^0.1.0", @@ -115,14 +115,14 @@ "@types/node": "^18.11.19", "@types/qs": "^6.9.7", "@types/randomstring": "^1.1.8", - "@vitejs/plugin-vue": "^4.2.3", - "@vitejs/plugin-vue-jsx": "^3.0.1", + "@vitejs/plugin-vue": "^5.0.4", + "@vitejs/plugin-vue-jsx": "^3.1.0", "@vitest/ui": "^0.34.1", - "@vue/compiler-sfc": "^3.3.4", + "@vue/compiler-sfc": "^3.4.19", "@vue/eslint-config-prettier": "^7.1.0", "@vue/eslint-config-typescript": "^11.0.3", - "@vue/test-utils": "^2.4.1", - "@vue/tsconfig": "^0.4.0", + "@vue/test-utils": "^2.4.4", + "@vue/tsconfig": "^0.5.1", "autoprefixer": "^10.4.14", "c8": "^7.12.0", "cypress": "^10.11.0", @@ -144,15 +144,15 @@ "tailwindcss": "^3.2.7", "tailwindcss-safe-area": "^0.2.2", "tailwindcss-themer": "^2.0.3", - "typescript": "~5.0.4", + "typescript": "~5.3.0", "unplugin-icons": "^0.14.15", "vite": "^4.2.3", "vite-plugin-externals": "^0.6.2", "vite-plugin-html": "^3.2.0", "vite-plugin-pwa": "^0.16.4", "vite-plugin-static-copy": "^0.17.0", - "vite-plugin-vue-devtools": "^7.0.13", + "vite-plugin-vue-devtools": "^7.0.15", "vitest": "^0.34.1", - "vue-tsc": "^1.8.8" + "vue-tsc": "^1.8.27" } } diff --git a/ui/packages/components/package.json b/ui/packages/components/package.json index 8276fd78e7..efe913aaec 100644 --- a/ui/packages/components/package.json +++ b/ui/packages/components/package.json @@ -61,8 +61,8 @@ "vite-plugin-dts": "^2.3.0" }, "peerDependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue": "^3.4.19", + "vue-router": "^4.2.5" }, "exports": { ".": { diff --git a/ui/packages/components/src/components/modal/Modal.vue b/ui/packages/components/src/components/modal/Modal.vue index cbccf7aa99..fc000f4145 100644 --- a/ui/packages/components/src/components/modal/Modal.vue +++ b/ui/packages/components/src/components/modal/Modal.vue @@ -34,7 +34,7 @@ const emit = defineEmits<{ (event: "close"): void; }>(); -const internalVisible = ref(false); +const internalVisible = ref(false); const rootVisible = ref(false); const modelWrapper = ref(); diff --git a/ui/packages/editor/package.json b/ui/packages/editor/package.json index 5b0789c519..f6a919414c 100644 --- a/ui/packages/editor/package.json +++ b/ui/packages/editor/package.json @@ -89,9 +89,9 @@ "devDependencies": { "@iconify/json": "^2.2.117", "release-it": "^16.1.5", - "vite-plugin-dts": "^3.5.3" + "vite-plugin-dts": "^3.7.3" }, "peerDependencies": { - "vue": "^3.0.0" + "vue": "^3.4.19" } } diff --git a/ui/packages/shared/package.json b/ui/packages/shared/package.json index daead441fb..50956041dd 100644 --- a/ui/packages/shared/package.json +++ b/ui/packages/shared/package.json @@ -41,8 +41,8 @@ "vite-plugin-dts": "^2.3.0" }, "peerDependencies": { - "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue": "^3.4.19", + "vue-router": "^4.2.5" }, "dependencies": { "@halo-dev/api-client": "workspace:*" diff --git a/ui/pnpm-lock.yaml b/ui/pnpm-lock.yaml index ebcbe6e1de..c6deea2342 100644 --- a/ui/pnpm-lock.yaml +++ b/ui/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: version: 1.4.0 '@formkit/vue': specifier: ^1.4.0 - version: 1.4.0(tailwindcss@3.3.0) + version: 1.4.0(tailwindcss@3.3.0)(typescript@5.3.3) '@halo-dev/api-client': specifier: workspace:* version: link:packages/api-client @@ -73,7 +73,7 @@ importers: version: link:packages/editor '@tanstack/vue-query': specifier: ^4.29.1 - version: 4.29.1(vue@3.3.4) + version: 4.29.1(vue@3.4.19) '@tiptap/extension-character-count': specifier: ^2.2.3 version: 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3) @@ -100,25 +100,25 @@ importers: version: 3.2.5(@uppy/core@3.8.0) '@uppy/vue': specifier: ^1.1.0 - version: 1.1.0(@uppy/core@3.8.0)(@uppy/dashboard@3.7.1)(@uppy/drag-drop@3.0.3)(@uppy/file-input@3.0.4)(@uppy/progress-bar@3.0.4)(@uppy/status-bar@3.2.5)(vue@3.3.4) + version: 1.1.0(@uppy/core@3.8.0)(@uppy/dashboard@3.7.1)(@uppy/drag-drop@3.0.3)(@uppy/file-input@3.0.4)(@uppy/progress-bar@3.0.4)(@uppy/status-bar@3.2.5)(vue@3.4.19) '@uppy/xhr-upload': specifier: ^3.6.0 version: 3.6.0(@uppy/core@3.8.0) '@vueuse/components': specifier: ^10.3.0 - version: 10.3.0(vue@3.3.4) + version: 10.3.0(vue@3.4.19) '@vueuse/core': specifier: ^10.3.0 - version: 10.3.0(vue@3.3.4) + version: 10.3.0(vue@3.4.19) '@vueuse/integrations': specifier: ^10.5.0 - version: 10.7.1(axios@1.6.7)(fuse.js@6.6.2)(qrcode@1.5.3)(vue@3.3.4) + version: 10.7.1(axios@1.6.7)(fuse.js@6.6.2)(qrcode@1.5.3)(vue@3.4.19) '@vueuse/router': specifier: ^10.3.0 - version: 10.3.0(vue-router@4.2.4)(vue@3.3.4) + version: 10.3.0(vue-router@4.2.5)(vue@3.4.19) '@vueuse/shared': specifier: ^10.3.0 - version: 10.3.0(vue@3.3.4) + version: 10.3.0(vue@3.4.19) axios: specifier: ^1.6.7 version: 1.6.7 @@ -139,7 +139,7 @@ importers: version: 5.3.3 floating-vue: specifier: 2.0.0-beta.24 - version: 2.0.0-beta.24(vue@3.3.4) + version: 2.0.0-beta.24(vue@3.4.19) fuse.js: specifier: ^6.6.2 version: 6.6.2 @@ -154,13 +154,13 @@ importers: version: 2.1.1 overlayscrollbars-vue: specifier: ^0.5.1 - version: 0.5.1(overlayscrollbars@2.1.1)(vue@3.3.4) + version: 0.5.1(overlayscrollbars@2.1.1)(vue@3.4.19) path-browserify: specifier: ^1.0.1 version: 1.0.1 pinia: specifier: ^2.1.6 - version: 2.1.6(typescript@5.0.4)(vue@3.3.4) + version: 2.1.6(typescript@5.3.3)(vue@3.4.19) pretty-bytes: specifier: ^6.0.0 version: 6.0.0 @@ -177,23 +177,23 @@ importers: specifier: ^2.3.5 version: 2.3.5 vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.4.19 + version: 3.4.19(typescript@5.3.3) vue-demi: - specifier: ^0.14.5 - version: 0.14.5(vue@3.3.4) + specifier: ^0.14.7 + version: 0.14.7(vue@3.4.19) vue-grid-layout: specifier: 3.0.0-beta1 version: 3.0.0-beta1(@interactjs/core@1.10.17)(@interactjs/utils@1.10.17) vue-i18n: - specifier: 9.3.0-beta.25 - version: 9.3.0-beta.25(vue@3.3.4) + specifier: ^9.9.1 + version: 9.9.1(vue@3.4.19) vue-router: - specifier: ^4.2.4 - version: 4.2.4(vue@3.3.4) + specifier: ^4.2.5 + version: 4.2.5(vue@3.4.19) vuedraggable: specifier: ^4.1.0 - version: 4.1.0(vue@3.3.4) + version: 4.1.0(vue@3.4.19) devDependencies: '@changesets/cli': specifier: ^2.25.2 @@ -205,8 +205,8 @@ importers: specifier: ^1.1.22 version: 1.1.22 '@intlify/unplugin-vue-i18n': - specifier: ^0.12.2 - version: 0.12.3(rollup@3.28.0)(vue-i18n@9.3.0-beta.25) + specifier: ^2.0.0 + version: 2.0.0(rollup@3.28.0)(vue-i18n@9.9.1) '@rushstack/eslint-patch': specifier: ^1.3.2 version: 1.3.2 @@ -238,29 +238,29 @@ importers: specifier: ^1.1.8 version: 1.1.8 '@vitejs/plugin-vue': - specifier: ^4.2.3 - version: 4.2.3(vite@4.2.3)(vue@3.3.4) + specifier: ^5.0.4 + version: 5.0.4(vite@4.2.3)(vue@3.4.19) '@vitejs/plugin-vue-jsx': - specifier: ^3.0.1 - version: 3.0.1(vite@4.2.3)(vue@3.3.4) + specifier: ^3.1.0 + version: 3.1.0(vite@4.2.3)(vue@3.4.19) '@vitest/ui': specifier: ^0.34.1 version: 0.34.1(vitest@0.34.1) '@vue/compiler-sfc': - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.4.19 + version: 3.4.19 '@vue/eslint-config-prettier': specifier: ^7.1.0 version: 7.1.0(eslint@8.43.0)(prettier@2.8.8) '@vue/eslint-config-typescript': specifier: ^11.0.3 - version: 11.0.3(eslint-plugin-vue@9.17.0)(eslint@8.43.0)(typescript@5.0.4) + version: 11.0.3(eslint-plugin-vue@9.17.0)(eslint@8.43.0)(typescript@5.3.3) '@vue/test-utils': - specifier: ^2.4.1 - version: 2.4.1(vue@3.3.4) + specifier: ^2.4.4 + version: 2.4.4(vue@3.4.19) '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 + specifier: ^0.5.1 + version: 0.5.1 autoprefixer: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.21) @@ -325,11 +325,11 @@ importers: specifier: ^2.0.3 version: 2.0.3(tailwindcss@3.3.0) typescript: - specifier: ~5.0.4 - version: 5.0.4 + specifier: ~5.3.0 + version: 5.3.3 unplugin-icons: specifier: ^0.14.15 - version: 0.14.15(@vue/compiler-sfc@3.3.4) + version: 0.14.15(@vue/compiler-sfc@3.4.19) vite: specifier: ^4.2.3 version: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) @@ -346,14 +346,14 @@ importers: specifier: ^0.17.0 version: 0.17.0(vite@4.2.3) vite-plugin-vue-devtools: - specifier: ^7.0.13 - version: 7.0.13(rollup@3.28.0)(vite@4.2.3) + specifier: ^7.0.15 + version: 7.0.15(rollup@3.28.0)(vite@4.2.3)(vue@3.4.19) vitest: specifier: ^0.34.1 version: 0.34.1(@vitest/ui@0.34.1)(jsdom@20.0.3)(sass@1.60.0) vue-tsc: - specifier: ^1.8.8 - version: 1.8.8(typescript@5.0.4) + specifier: ^1.8.27 + version: 1.8.27(typescript@5.3.3) packages/api-client: devDependencies: @@ -383,13 +383,13 @@ importers: dependencies: floating-vue: specifier: 2.0.0-beta.24 - version: 2.0.0-beta.24(vue@3.3.4) + version: 2.0.0-beta.24(vue@3.4.19) vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.4.19 + version: 3.4.19(typescript@5.3.3) vue-router: - specifier: ^4.2.4 - version: 4.2.4(vue@3.3.4) + specifier: ^4.2.5 + version: 4.2.5(vue@3.4.19) devDependencies: '@iconify-json/ri': specifier: ^1.1.15 @@ -405,7 +405,7 @@ importers: version: 7.6.3(react@18.2.0) '@storybook/addon-styling': specifier: ^1.3.7 - version: 1.3.7(less@4.2.0)(postcss@8.4.31)(react-dom@18.2.0)(react@18.2.0)(sass@1.60.0)(typescript@5.0.4)(webpack@5.89.0) + version: 1.3.7(less@4.2.0)(postcss@8.4.35)(react-dom@18.2.0)(react@18.2.0)(sass@1.60.0)(typescript@5.3.3)(webpack@5.89.0) '@storybook/blocks': specifier: ^7.6.3 version: 7.6.3(react-dom@18.2.0)(react@18.2.0) @@ -414,13 +414,13 @@ importers: version: 0.0.14-next.2 '@storybook/vue3': specifier: ^7.6.3 - version: 7.6.3(@vue/compiler-core@3.3.4)(vue@3.3.4) + version: 7.6.3(@vue/compiler-core@3.4.19)(vue@3.4.19) '@storybook/vue3-vite': specifier: ^7.6.3 - version: 7.6.3(@vue/compiler-core@3.3.4)(typescript@5.0.4)(vite@4.2.3)(vue@3.3.4) + version: 7.6.3(@vue/compiler-core@3.4.19)(typescript@5.3.3)(vite@4.2.3)(vue@3.4.19) eslint-plugin-storybook: specifier: ^0.6.15 - version: 0.6.15(eslint@8.43.0)(typescript@5.0.4) + version: 0.6.15(eslint@8.43.0)(typescript@5.3.3) react: specifier: ^18.2.0 version: 18.2.0 @@ -432,7 +432,7 @@ importers: version: 7.6.3 unplugin-icons: specifier: ^0.14.15 - version: 0.14.15(@vue/compiler-sfc@3.3.4) + version: 0.14.15(@vue/compiler-sfc@3.4.19) vite-plugin-dts: specifier: ^2.3.0 version: 2.3.0(@types/node@18.13.0)(rollup@3.28.0)(vite@4.2.3) @@ -441,7 +441,7 @@ importers: dependencies: '@ckpack/vue-color': specifier: ^1.5.0 - version: 1.5.0(vue@3.3.4) + version: 1.5.0(vue@3.4.19) '@tiptap/core': specifier: ^2.2.3 version: 2.2.3(@tiptap/pm@2.2.3) @@ -555,10 +555,10 @@ importers: version: 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3) '@tiptap/vue-3': specifier: ^2.2.3 - version: 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3)(vue@3.3.4) + version: 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3)(vue@3.4.19) floating-vue: specifier: 2.0.0-beta.24 - version: 2.0.0-beta.24(vue@3.3.4) + version: 2.0.0-beta.24(vue@3.4.19) github-markdown-css: specifier: ^5.2.0 version: 5.2.0 @@ -575,18 +575,18 @@ importers: specifier: ^6.3.7 version: 6.3.7 vue: - specifier: ^3.0.0 - version: 3.3.4 + specifier: ^3.4.19 + version: 3.4.19(typescript@5.3.3) devDependencies: '@iconify/json': specifier: ^2.2.117 version: 2.2.147 release-it: specifier: ^16.1.5 - version: 16.2.1(typescript@5.0.4) + version: 16.2.1(typescript@5.3.3) vite-plugin-dts: - specifier: ^3.5.3 - version: 3.6.3(@types/node@18.13.0)(rollup@3.28.0)(typescript@5.0.4)(vite@4.2.3) + specifier: ^3.7.3 + version: 3.7.3(@types/node@18.13.0)(rollup@3.28.0)(typescript@5.3.3)(vite@4.2.3) packages/shared: dependencies: @@ -594,11 +594,11 @@ importers: specifier: workspace:* version: link:../api-client vue: - specifier: ^3.3.4 - version: 3.3.4 + specifier: ^3.4.19 + version: 3.4.19(typescript@5.3.3) vue-router: - specifier: ^4.2.4 - version: 4.2.4(vue@3.3.4) + specifier: ^4.2.5 + version: 4.2.5(vue@3.4.19) devDependencies: vite-plugin-dts: specifier: ^2.3.0 @@ -725,7 +725,7 @@ packages: '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helpers': 7.23.5 - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@babel/template': 7.22.15 '@babel/traverse': 7.23.5 '@babel/types': 7.23.5 @@ -762,7 +762,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.23.5 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: @@ -783,7 +783,7 @@ packages: '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.5 lru-cache: 5.1.1 - semver: 6.3.0 + semver: 6.3.1 dev: true /@babel/helper-compilation-targets@7.22.15: @@ -797,26 +797,6 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} engines: {node: '>=6.9.0'} @@ -913,13 +893,6 @@ packages: '@babel/types': 7.22.5 dev: true - /@babel/helper-member-expression-to-functions@7.22.5: - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.5 - dev: true - /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} @@ -1007,20 +980,6 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-replace-supers@7.22.5: - resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-simple-access@7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} @@ -1059,20 +1018,20 @@ packages: /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-option@7.18.6: resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} @@ -1139,6 +1098,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.22.5 + dev: true /@babel/parser@7.23.5: resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} @@ -1148,6 +1108,13 @@ packages: '@babel/types': 7.23.5 dev: true + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.5 + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -1306,16 +1273,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.12): - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} @@ -1400,16 +1357,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} @@ -1931,21 +1878,6 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.22.5(@babel/core@7.20.12): - resolution: {integrity: sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.12 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.20.12) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.20.12) - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} engines: {node: '>=6.9.0'} @@ -1954,7 +1886,7 @@ packages: dependencies: '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) + '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) dev: true @@ -2174,7 +2106,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/parser': 7.23.9 '@babel/types': 7.22.5 dev: true @@ -2188,7 +2120,7 @@ packages: '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.22.5 + '@babel/parser': 7.23.9 '@babel/types': 7.22.5 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -2206,7 +2138,7 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@babel/types': 7.23.5 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -2221,6 +2153,7 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 + dev: true /@babel/types@7.23.5: resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} @@ -2229,7 +2162,6 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -2418,7 +2350,7 @@ packages: prettier: 2.8.8 dev: true - /@ckpack/vue-color@1.5.0(vue@3.3.4): + /@ckpack/vue-color@1.5.0(vue@3.4.19): resolution: {integrity: sha512-dj1zXVyay2m4LdlLJCQSdIS2FYwUl77BZqyKmUXiehyqjCP0bGYnPcL38lrShzYUc2FdkYQX8ANZZjRahd4PQw==} engines: {node: '>=12'} peerDependencies: @@ -2426,7 +2358,7 @@ packages: dependencies: '@ctrl/tinycolor': 3.6.1 material-colors: 1.2.6 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /@codemirror/autocomplete@6.3.0(@codemirror/language@6.3.1)(@codemirror/state@6.1.4)(@codemirror/view@6.5.1)(@lezer/common@1.0.1): @@ -3162,7 +3094,7 @@ packages: '@formkit/utils': 1.4.0 dev: false - /@formkit/vue@1.4.0(tailwindcss@3.3.0): + /@formkit/vue@1.4.0(tailwindcss@3.3.0)(typescript@5.3.3): resolution: {integrity: sha512-qxLJLG/rc0Mv75h9aaBu1SIFo8AZq1mMCa+u4aWQdXf0k/e8Mfuyhkch25c9pfbzSjEpFzs7G7L5U1gMuTcmtQ==} dependencies: '@formkit/core': 1.4.0 @@ -3174,9 +3106,10 @@ packages: '@formkit/themes': 1.4.0(tailwindcss@3.3.0) '@formkit/utils': 1.4.0 '@formkit/validation': 1.4.0 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - tailwindcss + - typescript - unocss - windicss dev: false @@ -3419,7 +3352,7 @@ packages: resolution: {integrity: sha512-sZAW08CkqgvqRjUIaLRjScjObcCzN9D75yekLA21EClYAZIhi4A+GEt2z/WqOCOksTaEPLYmQyhkpXcboc0LhQ==} dev: false - /@intlify/bundle-utils@7.4.0(vue-i18n@9.3.0-beta.25): + /@intlify/bundle-utils@7.4.0(vue-i18n@9.9.1): resolution: {integrity: sha512-AQfjBe2HUxzyN8ignIk3WhhSuVcSuirgzOzkd17nb337rCbI4Gv/t1R60UUyIqFoFdviLb/wLcDUzTD/xXjv9w==} engines: {node: '>= 14.16'} peerDependencies: @@ -3437,34 +3370,19 @@ packages: escodegen: 2.1.0 estree-walker: 2.0.2 jsonc-eslint-parser: 2.4.0 - magic-string: 0.30.2 + magic-string: 0.30.7 mlly: 1.4.2 source-map-js: 1.0.2 - vue-i18n: 9.3.0-beta.25(vue@3.3.4) + vue-i18n: 9.9.1(vue@3.4.19) yaml-eslint-parser: 1.2.2 dev: true - /@intlify/core-base@9.3.0-beta.25: - resolution: {integrity: sha512-Zohb874rZvvPe5o9QIQj3unApmsyI5/Y7KWUot5bqFAQrxowJ9HKFLnOpXj4EELEoZS0/ss4WUezpALJKbnvJA==} - engines: {node: '>= 16'} - dependencies: - '@intlify/devtools-if': 9.3.0-beta.25 - '@intlify/message-compiler': 9.3.0-beta.25 - '@intlify/shared': 9.3.0-beta.25 - '@intlify/vue-devtools': 9.3.0-beta.25 - - /@intlify/devtools-if@9.3.0-beta.25: - resolution: {integrity: sha512-F2TtZGb5bbh746SIJq0EwZxmsj4NV8kLImI+ubThfk0G/8M2qb/3YwmVN2pn8lx8+683ZMhYxbd39HEtczdVlQ==} + /@intlify/core-base@9.9.1: + resolution: {integrity: sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==} engines: {node: '>= 16'} dependencies: - '@intlify/shared': 9.3.0-beta.25 - - /@intlify/message-compiler@9.3.0-beta.25: - resolution: {integrity: sha512-uT7ybqKoDEw1XITQYnTYjWgZnpCDmHv9e3D4MmJDqHl2qCm6anzdUXWKHUhqR87Ha9Z8Rl44v40iSI/4NUbppQ==} - engines: {node: '>= 16'} - dependencies: - '@intlify/shared': 9.3.0-beta.25 - source-map-js: 1.0.2 + '@intlify/message-compiler': 9.9.1 + '@intlify/shared': 9.9.1 /@intlify/message-compiler@9.8.0: resolution: {integrity: sha512-McnYWhcoYmDJvssVu6QGR0shqlkJuL1HHdi5lK7fNqvQqRYaQ4lSLjYmZxwc8tRNMdIe9/KUKfyPxU9M6yCtNQ==} @@ -3474,22 +3392,24 @@ packages: source-map-js: 1.0.2 dev: true - /@intlify/shared@9.3.0-beta.24: - resolution: {integrity: sha512-AKxJ8s7eKIQWkNaf4wyyoLRwf4puCuQgjSChlDJm5JBEt6T8HGgnYTJLRXu6LD/JACn3Qwu6hM/XRX1c9yvjmQ==} - engines: {node: '>= 16'} - dev: true - - /@intlify/shared@9.3.0-beta.25: - resolution: {integrity: sha512-Zg+ECV9RPdp227tCJOgvPb+S3i651nf4kKHsMojSyWCppVK/4NFuDrBG2lIQSQL6Iq5LKVr5MkezHCW2NBTQRg==} + /@intlify/message-compiler@9.9.1: + resolution: {integrity: sha512-zTvP6X6HeumHOXuAE1CMMsV6tTX+opKMOxO1OHTCg5N5Sm/F7d8o2jdT6W6L5oHUsJ/vvkGefHIs7Q3hfowmsA==} engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 9.9.1 + source-map-js: 1.0.2 /@intlify/shared@9.8.0: resolution: {integrity: sha512-TmgR0RCLjzrSo+W3wT0ALf9851iFMlVI9EYNGeWvZFUQTAJx0bvfsMlPdgVtV1tDNRiAfhkFsMKu6jtUY1ZLKQ==} engines: {node: '>= 16'} dev: true - /@intlify/unplugin-vue-i18n@0.12.3(rollup@3.28.0)(vue-i18n@9.3.0-beta.25): - resolution: {integrity: sha512-0riPtSfTM58JmGNMmJho/aHD2z3K24BESYAmkLvKlo61/LbaPvnjYU1DbSbJEm6bSjE2oEjUj+di3QaYxXei/w==} + /@intlify/shared@9.9.1: + resolution: {integrity: sha512-b3Pta1nwkz5rGq434v0psHwEwHGy1pYCttfcM22IE//K9owbpkEvFptx9VcuRAxjQdrO2If249cmDDjBu5wMDA==} + engines: {node: '>= 16'} + + /@intlify/unplugin-vue-i18n@2.0.0(rollup@3.28.0)(vue-i18n@9.9.1): + resolution: {integrity: sha512-1oKvm92L9l2od2H9wKx2ZvR4tzn7gUtd7bPLI7AWUmm7U9H1iEypndt5d985ypxGsEs0gToDaKTrytbBIJwwSg==} engines: {node: '>= 14.16'} peerDependencies: petite-vue-i18n: '*' @@ -3503,31 +3423,24 @@ packages: vue-i18n-bridge: optional: true dependencies: - '@intlify/bundle-utils': 7.4.0(vue-i18n@9.3.0-beta.25) - '@intlify/shared': 9.3.0-beta.24 - '@rollup/pluginutils': 5.0.5(rollup@3.28.0) - '@vue/compiler-sfc': 3.3.4 + '@intlify/bundle-utils': 7.4.0(vue-i18n@9.9.1) + '@intlify/shared': 9.8.0 + '@rollup/pluginutils': 5.1.0(rollup@3.28.0) + '@vue/compiler-sfc': 3.4.19 debug: 4.3.4(supports-color@8.1.1) - fast-glob: 3.3.1 + fast-glob: 3.3.2 js-yaml: 4.1.0 json5: 2.2.3 - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 source-map-js: 1.0.2 unplugin: 1.5.1 - vue-i18n: 9.3.0-beta.25(vue@3.3.4) + vue-i18n: 9.9.1(vue@3.4.19) transitivePeerDependencies: - rollup - supports-color dev: true - /@intlify/vue-devtools@9.3.0-beta.25: - resolution: {integrity: sha512-p2ob9v9tqBYLq9DSiJ4nnfQSuQC0O8H9wuvzNRrej2qvLqPF3p/Xr2fRTM5NlW1uKQiFzXlZtIt+kBwSGUXWdw==} - engines: {node: '>= 16'} - dependencies: - '@intlify/core-base': 9.3.0-beta.25 - '@intlify/shared': 9.3.0-beta.25 - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -3784,12 +3697,12 @@ packages: - '@types/node' dev: true - /@microsoft/api-extractor-model@7.28.2(@types/node@18.13.0): - resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} + /@microsoft/api-extractor-model@7.28.3(@types/node@18.13.0): + resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@18.13.0) + '@rushstack/node-core-library': 3.62.0(@types/node@18.13.0) transitivePeerDependencies: - '@types/node' dev: true @@ -3814,22 +3727,22 @@ packages: - '@types/node' dev: true - /@microsoft/api-extractor@7.38.3(@types/node@18.13.0): - resolution: {integrity: sha512-xt9iYyC5f39281j77JTA9C3ISJpW1XWkCcnw+2vM78CPnro6KhPfwQdPDfwS5JCPNuq0grm8cMdPUOPvrchDWw==} + /@microsoft/api-extractor@7.39.0(@types/node@18.13.0): + resolution: {integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.2(@types/node@18.13.0) + '@microsoft/api-extractor-model': 7.28.3(@types/node@18.13.0) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.61.0(@types/node@18.13.0) + '@rushstack/node-core-library': 3.62.0(@types/node@18.13.0) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.1 + resolve: 1.22.8 semver: 7.5.4 source-map: 0.6.1 - typescript: 5.0.4 + typescript: 5.3.3 transitivePeerDependencies: - '@types/node' dev: true @@ -4827,21 +4740,6 @@ packages: rollup: 3.28.0 dev: true - /@rollup/pluginutils@5.0.5(rollup@3.28.0): - resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.28.0 - dev: true - /@rollup/pluginutils@5.1.0(rollup@3.28.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -4879,8 +4777,8 @@ packages: z-schema: 5.0.4 dev: true - /@rushstack/node-core-library@3.61.0(@types/node@18.13.0): - resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} + /@rushstack/node-core-library@3.62.0(@types/node@18.13.0): + resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} peerDependencies: '@types/node': '*' peerDependenciesMeta: @@ -4892,7 +4790,7 @@ packages: fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.1 + resolve: 1.22.8 semver: 7.5.4 z-schema: 5.0.4 dev: true @@ -4907,7 +4805,7 @@ packages: /@rushstack/rig-package@0.5.1: resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==} dependencies: - resolve: 1.22.1 + resolve: 1.22.8 strip-json-comments: 3.1.1 dev: true @@ -5093,7 +4991,7 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-styling@1.3.7(less@4.2.0)(postcss@8.4.31)(react-dom@18.2.0)(react@18.2.0)(sass@1.60.0)(typescript@5.0.4)(webpack@5.89.0): + /@storybook/addon-styling@1.3.7(less@4.2.0)(postcss@8.4.35)(react-dom@18.2.0)(react@18.2.0)(sass@1.60.0)(typescript@5.3.3)(webpack@5.89.0): resolution: {integrity: sha512-JSBZMOrSw/3rlq5YoEI7Qyq703KSNP0Jd+gxTWu3/tP6245mpjn2dXnR8FvqVxCi+FG4lt2kQyPzgsuwEw1SSA==} hasBin: true peerDependencies: @@ -5128,8 +5026,8 @@ packages: css-loader: 6.8.1(webpack@5.89.0) less: 4.2.0 less-loader: 11.1.3(less@4.2.0)(webpack@5.89.0) - postcss: 8.4.31 - postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.0.4)(webpack@5.89.0) + postcss: 8.4.35 + postcss-loader: 7.3.3(postcss@8.4.35)(typescript@5.3.3)(webpack@5.89.0) prettier: 2.8.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5231,7 +5129,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite@7.6.3(typescript@5.0.4)(vite@4.2.3): + /@storybook/builder-vite@7.6.3(typescript@5.3.3)(vite@4.2.3): resolution: {integrity: sha512-r/G/6wdwgbhMiMZ8Z+Js8VLjIo7a0DG5SxJorTHSWNi0+jyM+3Qlg3Xj96I8yL4gfTIKWVScHqHprhjRb2E64g==} peerDependencies: '@preact/preset-vite': '*' @@ -5262,7 +5160,7 @@ packages: fs-extra: 11.1.1 magic-string: 0.30.2 rollup: 3.28.0 - typescript: 5.0.4 + typescript: 5.3.3 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) transitivePeerDependencies: - encoding @@ -5678,19 +5576,19 @@ packages: file-system-cache: 2.3.0 dev: true - /@storybook/vue3-vite@7.6.3(@vue/compiler-core@3.3.4)(typescript@5.0.4)(vite@4.2.3)(vue@3.3.4): + /@storybook/vue3-vite@7.6.3(@vue/compiler-core@3.4.19)(typescript@5.3.3)(vite@4.2.3)(vue@3.4.19): resolution: {integrity: sha512-7NupDZn7FNm8SJSfTWOj1mrfyjGNII7bpnlvt1iH88L8UECmIh/gbDoBNi1XcGmPK09nrx3RnFdsxN5PVpeLPQ==} engines: {node: ^14.18 || >=16} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: - '@storybook/builder-vite': 7.6.3(typescript@5.0.4)(vite@4.2.3) + '@storybook/builder-vite': 7.6.3(typescript@5.3.3)(vite@4.2.3) '@storybook/core-server': 7.6.3 - '@storybook/vue3': 7.6.3(@vue/compiler-core@3.3.4)(vue@3.3.4) - '@vitejs/plugin-vue': 4.2.3(vite@4.2.3)(vue@3.3.4) + '@storybook/vue3': 7.6.3(@vue/compiler-core@3.4.19)(vue@3.4.19) + '@vitejs/plugin-vue': 4.2.3(vite@4.2.3)(vue@3.4.19) magic-string: 0.30.2 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) - vue-docgen-api: 4.75.1(vue@3.3.4) + vue-docgen-api: 4.75.1(vue@3.4.19) transitivePeerDependencies: - '@preact/preset-vite' - '@vue/compiler-core' @@ -5703,7 +5601,7 @@ packages: - vue dev: true - /@storybook/vue3@7.6.3(@vue/compiler-core@3.3.4)(vue@3.3.4): + /@storybook/vue3@7.6.3(@vue/compiler-core@3.4.19)(vue@3.4.19): resolution: {integrity: sha512-XoJOMcRngxOblXGFiaz5oqsCbTy+TVoWrOodjizYfJcMXIceKZrPz+bNI4x6HL5koXrx1HWy5VN187QGqy+RJg==} engines: {node: '>=16.0.0'} peerDependencies: @@ -5715,11 +5613,11 @@ packages: '@storybook/global': 5.0.0 '@storybook/preview-api': 7.6.3 '@storybook/types': 7.6.3 - '@vue/compiler-core': 3.3.4 + '@vue/compiler-core': 3.4.19 lodash: 4.17.21 ts-dedent: 2.2.0 type-fest: 2.19.0 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) vue-component-type-helpers: 1.8.27 transitivePeerDependencies: - encoding @@ -5778,7 +5676,7 @@ packages: resolution: {integrity: sha512-vkPewLEG8ua0efo3SsVT0BcBtkq5RZX8oPhDAyKL+k/rdOYSQTEocfGEXSaBwIwsXeOGBUpfKqI+UmHvNqdWXg==} dev: false - /@tanstack/vue-query@4.29.1(vue@3.3.4): + /@tanstack/vue-query@4.29.1(vue@3.4.19): resolution: {integrity: sha512-2/F12lOHQw3YQbHVKGZUTEuwxrws6UR3VEXNX/Obw2NLupmCYR7+dcBwwHQ75zUQngxLFQwHCJKX7Ne1Wyk/HA==} peerDependencies: '@vue/composition-api': ^1.1.2 @@ -5790,8 +5688,8 @@ packages: '@tanstack/match-sorter-utils': 8.7.6 '@tanstack/query-core': 4.29.1 '@vue/devtools-api': 6.5.0 - vue: 3.3.4 - vue-demi: 0.13.11(vue@3.3.4) + vue: 3.4.19(typescript@5.3.3) + vue-demi: 0.13.11(vue@3.4.19) dev: false /@testing-library/dom@8.20.1: @@ -6188,7 +6086,7 @@ packages: '@tiptap/pm': 2.2.3 dev: false - /@tiptap/vue-3@2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3)(vue@3.3.4): + /@tiptap/vue-3@2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3)(vue@3.4.19): resolution: {integrity: sha512-TC+pncpxP6GHgM+qvX/1mfT+Xl3OlEekZqjetNJC/MfFM55OL5dIEu5kVjOiRsGQ/TWgwBGPrRYEE0Y1D6FuBA==} peerDependencies: '@tiptap/core': ^2.0.0 @@ -6199,7 +6097,7 @@ packages: '@tiptap/extension-bubble-menu': 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3) '@tiptap/extension-floating-menu': 2.2.3(@tiptap/core@2.2.3)(@tiptap/pm@2.2.3) '@tiptap/pm': 2.2.3 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /@tootallnate/once@2.0.0: @@ -6259,7 +6157,7 @@ packages: /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@babel/types': 7.23.5 dev: true @@ -6505,7 +6403,7 @@ packages: dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 - csstype: 3.1.2 + csstype: 3.1.3 dev: true /@types/resolve@1.17.1: @@ -6609,7 +6507,7 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.43.0)(typescript@5.0.4): + /@typescript-eslint/eslint-plugin@5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6621,23 +6519,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.6(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.6(eslint@8.43.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 5.59.6 - '@typescript-eslint/type-utils': 5.59.6(eslint@8.43.0)(typescript@5.0.4) - '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/type-utils': 5.59.6(eslint@8.43.0)(typescript@5.3.3) + '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.43.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.59.6(eslint@8.43.0)(typescript@5.0.4): + /@typescript-eslint/parser@5.59.6(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6649,10 +6547,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.59.6 '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.43.0 - typescript: 5.0.4 + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -6665,7 +6563,7 @@ packages: '@typescript-eslint/visitor-keys': 5.59.6 dev: true - /@typescript-eslint/type-utils@5.59.6(eslint@8.43.0)(typescript@5.0.4): + /@typescript-eslint/type-utils@5.59.6(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6675,12 +6573,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4) - '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.3.3) + '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true @@ -6690,7 +6588,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.6(typescript@5.0.4): + /@typescript-eslint/typescript-estree@5.59.6(typescript@5.3.3): resolution: {integrity: sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6705,13 +6603,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: 3.21.0(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.59.6(eslint@8.43.0)(typescript@5.0.4): + /@typescript-eslint/utils@5.59.6(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -6722,7 +6620,7 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.59.6 '@typescript-eslint/types': 5.59.6 - '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.6(typescript@5.3.3) eslint: 8.43.0 eslint-scope: 5.1.1 semver: 7.5.4 @@ -6879,7 +6777,7 @@ packages: preact: 10.11.2 dev: false - /@uppy/vue@1.1.0(@uppy/core@3.8.0)(@uppy/dashboard@3.7.1)(@uppy/drag-drop@3.0.3)(@uppy/file-input@3.0.4)(@uppy/progress-bar@3.0.4)(@uppy/status-bar@3.2.5)(vue@3.3.4): + /@uppy/vue@1.1.0(@uppy/core@3.8.0)(@uppy/dashboard@3.7.1)(@uppy/drag-drop@3.0.3)(@uppy/file-input@3.0.4)(@uppy/progress-bar@3.0.4)(@uppy/status-bar@3.2.5)(vue@3.4.19): resolution: {integrity: sha512-xUKjLq8R0VBQHPDBb/f/bCL8+f51qSrTqYS6JXA4oFQ3QXICQN72E3rAPOyEwkiy+45JJMHA6uKeC+v6H9dcVg==} peerDependencies: '@uppy/core': ^3.6.0 @@ -6908,7 +6806,7 @@ packages: '@uppy/progress-bar': 3.0.4(@uppy/core@3.8.0) '@uppy/status-bar': 3.2.5(@uppy/core@3.8.0) shallow-equal: 1.2.1 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /@uppy/xhr-upload@3.6.0(@uppy/core@3.8.0): @@ -6922,23 +6820,23 @@ packages: nanoid: 4.0.0 dev: false - /@vitejs/plugin-vue-jsx@3.0.1(vite@4.2.3)(vue@3.3.4): - resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} + /@vitejs/plugin-vue-jsx@3.1.0(vite@4.2.3)(vue@3.4.19): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.0.0 + vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.20.12 - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.20.12) - '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.20.12) + '@babel/core': 7.23.5 + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@4.2.3(vite@4.2.3)(vue@3.3.4): + /@vitejs/plugin-vue@4.2.3(vite@4.2.3)(vue@3.4.19): resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -6946,7 +6844,18 @@ packages: vue: ^3.2.25 dependencies: vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) + dev: true + + /@vitejs/plugin-vue@5.0.4(vite@4.2.3)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) + vue: 3.4.19(typescript@5.3.3) dev: true /@vitest/expect@0.34.1: @@ -7010,68 +6919,29 @@ packages: pretty-format: 29.6.2 dev: true - /@volar/language-core@1.10.0: - resolution: {integrity: sha512-ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==} + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: - '@volar/source-map': 1.10.0 + '@volar/source-map': 1.11.1 dev: true - /@volar/language-core@1.10.10: - resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} - dependencies: - '@volar/source-map': 1.10.10 - dev: true - - /@volar/source-map@1.10.0: - resolution: {integrity: sha512-/ibWdcOzDGiq/GM1JU2eX8fH1bvAhl66hfe8yEgLEzg9txgr6qb5sQ/DEz5PcDL75tF5H5sCRRwn8Eu8ezi9mw==} + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} dependencies: muggle-string: 0.3.1 dev: true - /@volar/source-map@1.10.10: - resolution: {integrity: sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==} + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} dependencies: - muggle-string: 0.3.1 - dev: true - - /@volar/typescript@1.10.0: - resolution: {integrity: sha512-OtqGtFbUKYC0pLNIk3mHQp5xWnvL1CJIUc9VE39VdZ/oqpoBh5jKfb9uJ45Y4/oP/WYTrif/Uxl1k8VTPz66Gg==} - dependencies: - '@volar/language-core': 1.10.0 - dev: true - - /@volar/typescript@1.10.10: - resolution: {integrity: sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==} - dependencies: - '@volar/language-core': 1.10.10 + '@volar/language-core': 1.11.1 path-browserify: 1.0.1 dev: true - /@vue/babel-helper-vue-transform-on@1.0.2: - resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} - dev: true - /@vue/babel-helper-vue-transform-on@1.1.5: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.20.12): - resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} - dependencies: - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.12) - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - '@vue/babel-helper-vue-transform-on': 1.0.2 - camelcase: 6.3.0 - html-tags: 3.2.0 - svg-tags: 1.0.0 - transitivePeerDependencies: - - '@babel/core' - - supports-color - dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.23.5): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: @@ -7091,50 +6961,49 @@ packages: - supports-color dev: true - /@vue/compiler-core@3.3.4: - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} dependencies: - '@babel/parser': 7.22.5 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.19 + entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.3.4: - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 - /@vue/compiler-sfc@3.3.4: - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} dependencies: - '@babel/parser': 7.22.5 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 estree-walker: 2.0.2 - magic-string: 0.30.2 - postcss: 8.4.31 + magic-string: 0.30.7 + postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.4: - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - /@vue/devtools-core@7.0.13(rollup@3.28.0)(vite@4.2.3): - resolution: {integrity: sha512-cSnzDqR5TUyZ08XKHRFadLUHt+SJudU5W43+ImUKhes1BfQ/I6/SVjA9hepXxsMsHFDs7OgV8loopjsnZEojaA==} + /@vue/devtools-core@7.0.15(rollup@3.28.0)(vite@4.2.3)(vue@3.4.19): + resolution: {integrity: sha512-FTWknp0fDsAwPMRKjvQ6XKPED3Y9yPA+AefF/FOSkEfPh5Y2mLNwZaTHK/9zZjGXi76uJQMCDXycdQTxVoUIFQ==} dependencies: - '@vue/devtools-kit': 7.0.13 - '@vue/devtools-schema': 7.0.13 - '@vue/devtools-shared': 7.0.13 - birpc: 0.2.14 + '@vue/devtools-kit': 7.0.15(vue@3.4.19) + '@vue/devtools-shared': 7.0.15 + birpc: 0.2.16 fast-glob: 3.3.2 image-meta: 0.2.0 mitt: 3.0.1 @@ -7148,25 +7017,24 @@ packages: - rollup - supports-color - vite + - vue dev: true - /@vue/devtools-kit@7.0.13: - resolution: {integrity: sha512-u1Ocu+epsQR67iwKF/eiPrmTDdh7DWnt11VjAw0/61wBDuhKrC9tipw33KCl4tTVrCXg0PJp4b38koGiNCn2dQ==} + /@vue/devtools-kit@7.0.15(vue@3.4.19): + resolution: {integrity: sha512-dT7OeCe1LUCIhHIb/yRR6Hn+XHh73r1o78onqCrxEKHdoZwBItiIeVnmJZPEUDFstIxfs+tJL231mySk3laTow==} + peerDependencies: + vue: ^3.0.0 dependencies: - '@vue/devtools-schema': 7.0.13 - '@vue/devtools-shared': 7.0.13 + '@vue/devtools-shared': 7.0.15 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 + vue: 3.4.19(typescript@5.3.3) dev: true - /@vue/devtools-schema@7.0.13: - resolution: {integrity: sha512-sDGPPPbi8OZHJMifWl+BQaAlpnkDfsSqcd8s3Uk9dYzHceO63BQjvi/qi1Ru4F+U/eJSuNWv4l/VhiqUNQ5ndw==} - dev: true - - /@vue/devtools-shared@7.0.13: - resolution: {integrity: sha512-nSkUV4czv2UyloDXZwhpDoZic2/lcf3x2VRhK6xiCJY3cmO0+fL7qRDYDZYn11KwyLZngc7uiWF1f3AD0jyxVQ==} + /@vue/devtools-shared@7.0.15: + resolution: {integrity: sha512-fpfvMVvS7aDgO7x2JPFiTQ1MHcCc63/bE7yTgs278gMBybuO9b3hdiZ/k0Pw1rN+RefaU9yQiFA+5CCFc1D+6w==} dependencies: rfdc: 1.3.1 dev: true @@ -7183,7 +7051,7 @@ packages: prettier: 2.8.8 dev: true - /@vue/eslint-config-typescript@11.0.3(eslint-plugin-vue@9.17.0)(eslint@8.43.0)(typescript@5.0.4): + /@vue/eslint-config-typescript@11.0.3(eslint-plugin-vue@9.17.0)(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: @@ -7194,95 +7062,68 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.43.0)(typescript@5.0.4) - '@typescript-eslint/parser': 5.59.6(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/eslint-plugin': 5.59.6(@typescript-eslint/parser@5.59.6)(eslint@8.43.0)(typescript@5.3.3) + '@typescript-eslint/parser': 5.59.6(eslint@8.43.0)(typescript@5.3.3) eslint: 8.43.0 eslint-plugin-vue: 9.17.0(eslint@8.43.0) - typescript: 5.0.4 + typescript: 5.3.3 vue-eslint-parser: 9.3.0(eslint@8.43.0) transitivePeerDependencies: - supports-color dev: true - /@vue/language-core@1.8.22(typescript@5.0.4): - resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} + /@vue/language-core@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@volar/language-core': 1.10.10 - '@volar/source-map': 1.10.10 - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 - typescript: 5.0.4 - vue-template-compiler: 2.7.14 - dev: true - - /@vue/language-core@1.8.8(typescript@5.0.4): - resolution: {integrity: sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@volar/language-core': 1.10.0 - '@volar/source-map': 1.10.0 - '@vue/compiler-dom': 3.3.4 - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 - minimatch: 9.0.1 - muggle-string: 0.3.1 - typescript: 5.0.4 + path-browserify: 1.0.1 + typescript: 5.3.3 vue-template-compiler: 2.7.14 dev: true - /@vue/reactivity-transform@3.3.4: - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} dependencies: - '@babel/parser': 7.22.5 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.2 + '@vue/shared': 3.4.19 - /@vue/reactivity@3.3.4: - resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} dependencies: - '@vue/shared': 3.3.4 + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 - /@vue/runtime-core@3.3.4: - resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} dependencies: - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 + csstype: 3.1.3 - /@vue/runtime-dom@3.3.4: - resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} - dependencies: - '@vue/runtime-core': 3.3.4 - '@vue/shared': 3.3.4 - csstype: 3.1.2 - - /@vue/server-renderer@3.3.4(vue@3.3.4): - resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} peerDependencies: - vue: 3.3.4 + vue: 3.4.19 dependencies: - '@vue/compiler-ssr': 3.3.4 - '@vue/shared': 3.3.4 - vue: 3.3.4 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.3.3) - /@vue/shared@3.3.4: - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} - /@vue/test-utils@2.4.1(vue@3.3.4): - resolution: {integrity: sha512-VO8nragneNzUZUah6kOjiFmD/gwRjUauG9DROh6oaOeFwX1cZRUNHhdeogE8635cISigXFTtGLUQWx5KCb0xeg==} + /@vue/test-utils@2.4.4(vue@3.4.19): + resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} peerDependencies: '@vue/server-renderer': ^3.0.1 vue: ^3.0.1 @@ -7291,59 +7132,50 @@ packages: optional: true dependencies: js-beautify: 1.14.9 - vue: 3.3.4 - vue-component-type-helpers: 1.8.4 + vue: 3.4.19(typescript@5.3.3) + vue-component-type-helpers: 1.8.27 dev: true - /@vue/tsconfig@0.4.0: - resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} + /@vue/tsconfig@0.5.1: + resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} dev: true - /@vue/typescript@1.8.8(typescript@5.0.4): - resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==} - dependencies: - '@volar/typescript': 1.10.0 - '@vue/language-core': 1.8.8(typescript@5.0.4) - transitivePeerDependencies: - - typescript - dev: true - - /@vueuse/components@10.3.0(vue@3.3.4): + /@vueuse/components@10.3.0(vue@3.4.19): resolution: {integrity: sha512-EeZz3kjmJI7bH7JSxxMlLyk21LGl6GQjXfpl2n/GiI9QSJi+BVzIra5kEty5eM8McwAanx3e/HnK4drYTgFOWw==} dependencies: - '@vueuse/core': 10.3.0(vue@3.3.4) - '@vueuse/shared': 10.3.0(vue@3.3.4) - vue-demi: 0.14.5(vue@3.3.4) + '@vueuse/core': 10.3.0(vue@3.4.19) + '@vueuse/shared': 10.3.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/core@10.3.0(vue@3.3.4): + /@vueuse/core@10.3.0(vue@3.4.19): resolution: {integrity: sha512-BEM5yxcFKb5btFjTSAFjTu5jmwoW66fyV9uJIP4wUXXU8aR5Hl44gndaaXp7dC5HSObmgbnR2RN+Un1p68Mf5Q==} dependencies: '@types/web-bluetooth': 0.0.17 '@vueuse/metadata': 10.3.0 - '@vueuse/shared': 10.3.0(vue@3.3.4) - vue-demi: 0.14.5(vue@3.3.4) + '@vueuse/shared': 10.3.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/core@10.7.1(vue@3.3.4): + /@vueuse/core@10.7.1(vue@3.4.19): resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(vue@3.3.4) - vue-demi: 0.14.6(vue@3.3.4) + '@vueuse/shared': 10.7.1(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/integrations@10.7.1(axios@1.6.7)(fuse.js@6.6.2)(qrcode@1.5.3)(vue@3.3.4): + /@vueuse/integrations@10.7.1(axios@1.6.7)(fuse.js@6.6.2)(qrcode@1.5.3)(vue@3.4.19): resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} peerDependencies: async-validator: '*' @@ -7384,12 +7216,12 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.1(vue@3.3.4) - '@vueuse/shared': 10.7.1(vue@3.3.4) + '@vueuse/core': 10.7.1(vue@3.4.19) + '@vueuse/shared': 10.7.1(vue@3.4.19) axios: 1.6.7 fuse.js: 6.6.2 qrcode: 1.5.3 - vue-demi: 0.14.6(vue@3.3.4) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -7403,32 +7235,32 @@ packages: resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} dev: false - /@vueuse/router@10.3.0(vue-router@4.2.4)(vue@3.3.4): + /@vueuse/router@10.3.0(vue-router@4.2.5)(vue@3.4.19): resolution: {integrity: sha512-WCx/BAxO0eInuOcyNRBxDLS16tnNqzdaR6/babg6AUgAIL0TCfmHBh46wJa6hhg+NMGjd6HzCaktxBasp+0c0A==} peerDependencies: vue-router: '>=4.0.0-rc.1' dependencies: - '@vueuse/shared': 10.3.0(vue@3.3.4) - vue-demi: 0.14.5(vue@3.3.4) - vue-router: 4.2.4(vue@3.3.4) + '@vueuse/shared': 10.3.0(vue@3.4.19) + vue-demi: 0.14.7(vue@3.4.19) + vue-router: 4.2.5(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/shared@10.3.0(vue@3.3.4): + /@vueuse/shared@10.3.0(vue@3.4.19): resolution: {integrity: sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==} dependencies: - vue-demi: 0.14.5(vue@3.3.4) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/shared@10.7.1(vue@3.3.4): + /@vueuse/shared@10.7.1(vue@3.4.19): resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(vue@3.3.4) + vue-demi: 0.14.7(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8110,8 +7942,8 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /birpc@0.2.14: - resolution: {integrity: sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==} + /birpc@0.2.16: + resolution: {integrity: sha512-OtdZMBUZK0iZmWwD9aQXmtdUXtOHXz676T+cAX4lStFO3u5pQoKjMJtFfQzNzlzRC6ZHPRBvtFB6ATllNl7YKg==} dev: true /bl@4.1.0: @@ -8853,7 +8685,7 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@babel/types': 7.23.5 dev: true @@ -8907,7 +8739,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig@8.3.6(typescript@5.0.4): + /cosmiconfig@8.3.6(typescript@5.3.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -8920,7 +8752,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.0.4 + typescript: 5.3.3 dev: true /crelt@1.0.5: @@ -9023,8 +8855,8 @@ packages: cssom: 0.3.8 dev: true - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /csv-generate@3.4.3: resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} @@ -9645,6 +9477,10 @@ packages: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + /envinfo@7.11.0: resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} engines: {node: '>=4'} @@ -10348,14 +10184,14 @@ packages: prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-storybook@0.6.15(eslint@8.43.0)(typescript@5.0.4): + /eslint-plugin-storybook@0.6.15(eslint@8.43.0)(typescript@5.3.3): resolution: {integrity: sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==} engines: {node: 12.x || 14.x || >= 16} peerDependencies: eslint: '>=6' dependencies: '@storybook/csf': 0.0.1 - '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.0.4) + '@typescript-eslint/utils': 5.59.6(eslint@8.43.0)(typescript@5.3.3) eslint: 8.43.0 requireindex: 1.2.0 ts-dedent: 2.2.0 @@ -10904,7 +10740,7 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /floating-vue@2.0.0-beta.24(vue@3.3.4): + /floating-vue@2.0.0-beta.24(vue@3.4.19): resolution: {integrity: sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw==} peerDependencies: '@nuxt/kit': ^3.2.0 @@ -10914,8 +10750,8 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.3.4 - vue-resize: 2.0.0-alpha.1(vue@3.3.4) + vue: 3.4.19(typescript@5.3.3) + vue-resize: 2.0.0-alpha.1(vue@3.4.19) dev: false /flow-parser@0.223.2: @@ -11550,11 +11386,6 @@ packages: terser: 5.15.0 dev: true - /html-tags@3.2.0: - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} - engines: {node: '>=8'} - dev: true - /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -12277,7 +12108,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.23.5 - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -13086,13 +12917,13 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + dev: true - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} @@ -13105,7 +12936,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.0 + semver: 6.3.1 dev: true /make-error@1.3.6: @@ -13441,7 +13272,7 @@ packages: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.2 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 dev: true @@ -13505,6 +13336,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + /nanoid@4.0.0: resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} engines: {node: ^14 || ^16 || >=18} @@ -13882,14 +13718,14 @@ packages: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: true - /overlayscrollbars-vue@0.5.1(overlayscrollbars@2.1.1)(vue@3.3.4): + /overlayscrollbars-vue@0.5.1(overlayscrollbars@2.1.1)(vue@3.4.19): resolution: {integrity: sha512-hYoS7qm1xq4Kv7GpCTpo1YSUmgSXF2z9OcWbwGloGO8ZXefhADwDlYy6e35r2g5Gh04slZPsyQIqEXA/CptFMA==} peerDependencies: overlayscrollbars: ^2.0.0 vue: ^3.2.25 dependencies: overlayscrollbars: 2.1.1 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /overlayscrollbars@2.1.1: @@ -14235,7 +14071,7 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - /pinia@2.1.6(typescript@5.0.4)(vue@3.3.4): + /pinia@2.1.6(typescript@5.3.3)(vue@3.4.19): resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -14248,9 +14084,9 @@ packages: optional: true dependencies: '@vue/devtools-api': 6.5.0 - typescript: 5.0.4 - vue: 3.3.4 - vue-demi: 0.14.5(vue@3.3.4) + typescript: 5.3.3 + vue: 3.4.19(typescript@5.3.3) + vue-demi: 0.14.7(vue@3.4.19) dev: false /pirates@4.0.5: @@ -14291,7 +14127,7 @@ packages: dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /pngjs@5.0.0: @@ -14342,16 +14178,16 @@ packages: postcss: 8.4.21 yaml: 1.10.2 - /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.0.4)(webpack@5.89.0): + /postcss-loader@7.3.3(postcss@8.4.35)(typescript@5.3.3)(webpack@5.89.0): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: postcss: ^7.0.0 || ^8.0.1 webpack: ^5.0.0 dependencies: - cosmiconfig: 8.3.6(typescript@5.0.4) + cosmiconfig: 8.3.6(typescript@5.3.3) jiti: 1.18.2 - postcss: 8.4.31 + postcss: 8.4.35 semver: 7.5.4 webpack: 5.89.0(esbuild@0.18.20) transitivePeerDependencies: @@ -14457,6 +14293,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + /preact@10.11.2: resolution: {integrity: sha512-skAwGDFmgxhq1DCBHke/9e12ewkhc7WYwjuhHB8HHS8zkdtITXLRmUMTeol2ldxvLwYtwbFeifZ9uDDWuyL4Iw==} dev: false @@ -15276,7 +15120,7 @@ packages: engines: {node: '>= 0.10'} dev: true - /release-it@16.2.1(typescript@5.0.4): + /release-it@16.2.1(typescript@5.3.3): resolution: {integrity: sha512-+bHiKPqkpld+NaiW+K/2WsjaHgfPB00J6uk8a+g8QyuBtzfFoMVe+GKsfaDO5ztEHRrSg+7luoXzd8IfvPNPig==} engines: {node: '>=16'} hasBin: true @@ -15285,7 +15129,7 @@ packages: '@octokit/rest': 19.0.13 async-retry: 1.3.3 chalk: 5.3.0 - cosmiconfig: 8.3.6(typescript@5.0.4) + cosmiconfig: 8.3.6(typescript@5.3.3) execa: 7.2.0 git-url-parse: 13.1.0 globby: 13.2.2 @@ -16783,14 +16627,14 @@ packages: /tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - /tsutils@3.21.0(typescript@5.0.4): + /tsutils@3.21.0(typescript@5.3.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.4 + typescript: 5.3.3 dev: true /tty-table@4.1.6: @@ -16941,6 +16785,12 @@ packages: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true /uc.micro@2.0.0: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} @@ -17090,7 +16940,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /unplugin-icons@0.14.15(@vue/compiler-sfc@3.3.4): + /unplugin-icons@0.14.15(@vue/compiler-sfc@3.4.19): resolution: {integrity: sha512-J6YBA+fUzVM2IZPXCK3Pnk36jYVwQ6lkjRgOnZaXNIxpMDsmwDqrE1AGJ0zUbfuEoOa90OBGc0OPfN1r+qlSIQ==} peerDependencies: '@svgr/core': '>=5.5.0' @@ -17110,7 +16960,7 @@ packages: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.6 '@iconify/utils': 2.1.12 - '@vue/compiler-sfc': 3.3.4 + '@vue/compiler-sfc': 3.4.19 debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 local-pkg: 0.4.3 @@ -17317,7 +17167,7 @@ packages: peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 dependencies: - birpc: 0.2.14 + birpc: 0.2.16 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) vite-hot-client: 0.2.3(vite@4.2.3) dev: true @@ -17374,8 +17224,8 @@ packages: - supports-color dev: true - /vite-plugin-dts@3.6.3(@types/node@18.13.0)(rollup@3.28.0)(typescript@5.0.4)(vite@4.2.3): - resolution: {integrity: sha512-NyRvgobl15rYj65coi/gH7UAEH+CpSjh539DbGb40DfOTZSvDLNYTzc8CK4460W+LqXuMK7+U3JAxRB3ksrNPw==} + /vite-plugin-dts@3.7.3(@types/node@18.13.0)(rollup@3.28.0)(typescript@5.3.3)(vite@4.2.3): + resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -17384,14 +17234,14 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.38.3(@types/node@18.13.0) - '@rollup/pluginutils': 5.0.5(rollup@3.28.0) - '@vue/language-core': 1.8.22(typescript@5.0.4) + '@microsoft/api-extractor': 7.39.0(@types/node@18.13.0) + '@rollup/pluginutils': 5.1.0(rollup@3.28.0) + '@vue/language-core': 1.8.27(typescript@5.3.3) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 - typescript: 5.0.4 + typescript: 5.3.3 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) - vue-tsc: 1.8.22(typescript@5.0.4) + vue-tsc: 1.8.27(typescript@5.3.3) transitivePeerDependencies: - '@types/node' - rollup @@ -17487,16 +17337,16 @@ packages: vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) dev: true - /vite-plugin-vue-devtools@7.0.13(rollup@3.28.0)(vite@4.2.3): - resolution: {integrity: sha512-mV+lonRg7C+PA1cIAeSuGM+VUeqhZWRGNuXc+SZ7R+S2GzK40V0hNn/7K7GmZ6w4tlIIEVyLrKEDbilsPX85pw==} + /vite-plugin-vue-devtools@7.0.15(rollup@3.28.0)(vite@4.2.3)(vue@3.4.19): + resolution: {integrity: sha512-EBnf0LXXm5c7aWLlFGG2dNGoKYyHD9SD3wFqpjW1ACxUqd23kqcN4pQVwbKOZHfP7TnuaFHOTj5JBsXb/OeKrQ==} engines: {node: '>=v14.21.3'} peerDependencies: vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 dependencies: - '@vue/devtools-core': 7.0.13(rollup@3.28.0)(vite@4.2.3) - '@vue/devtools-kit': 7.0.13 - '@vue/devtools-shared': 7.0.13 - birpc: 0.2.14 + '@vue/devtools-core': 7.0.15(rollup@3.28.0)(vite@4.2.3)(vue@3.4.19) + '@vue/devtools-kit': 7.0.15(vue@3.4.19) + '@vue/devtools-shared': 7.0.15 + birpc: 0.2.16 execa: 8.0.1 sirv: 2.0.4 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) @@ -17506,6 +17356,7 @@ packages: - '@nuxt/kit' - rollup - supports-color + - vue dev: true /vite-plugin-vue-inspector@4.0.2(vite@4.2.3): @@ -17519,9 +17370,9 @@ packages: '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5) '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) - '@vue/compiler-dom': 3.3.4 + '@vue/compiler-dom': 3.4.19 kolorist: 1.8.0 - magic-string: 0.30.5 + magic-string: 0.30.7 vite: 4.2.3(@types/node@18.13.0)(less@4.2.0)(sass@1.60.0) transitivePeerDependencies: - supports-color @@ -17715,11 +17566,7 @@ packages: resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} dev: true - /vue-component-type-helpers@1.8.4: - resolution: {integrity: sha512-6bnLkn8O0JJyiFSIF0EfCogzeqNXpnjJ0vW/SZzNHfe6sPx30lTtTXlE5TFs2qhJlAtDFybStVNpL73cPe3OMQ==} - dev: true - - /vue-demi@0.13.11(vue@3.3.4): + /vue-demi@0.13.11(vue@3.4.19): resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -17731,11 +17578,11 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-demi@0.14.5(vue@3.3.4): - resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} + /vue-demi@0.14.7(vue@3.4.19): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -17746,41 +17593,26 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-demi@0.14.6(vue@3.3.4): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.3.4 - dev: false - - /vue-docgen-api@4.75.1(vue@3.3.4): + /vue-docgen-api@4.75.1(vue@3.4.19): resolution: {integrity: sha512-MECZ3uExz+ssmhD/2XrFoQQs93y17IVO1KDYTp8nr6i9GNrk67AAto6QAtilW1H/pTDPMkQxJ7w/25ZIqVtfAA==} peerDependencies: vue: '>=2' dependencies: '@babel/parser': 7.23.5 '@babel/types': 7.23.5 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.4 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 ast-types: 0.16.1 hash-sum: 2.0.0 lru-cache: 8.0.5 pug: 3.0.2 recast: 0.23.4 ts-map: 1.0.3 - vue: 3.3.4 - vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.3.4) + vue: 3.4.19(typescript@5.3.3) + vue-inbrowser-compiler-independent-utils: 4.71.1(vue@3.4.19) dev: true /vue-eslint-parser@9.3.0(eslint@8.43.0): @@ -17834,41 +17666,40 @@ packages: - '@interactjs/utils' dev: false - /vue-i18n@9.3.0-beta.25(vue@3.3.4): - resolution: {integrity: sha512-WfR5W3ql2fGFGyJfD6WsoyewqINra5NKxW50RIbLpiqw099PRNBZ4pPgMuO0J194OQ+VayOEMEGSnAimcolbQQ==} + /vue-i18n@9.9.1(vue@3.4.19): + resolution: {integrity: sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==} engines: {node: '>= 16'} peerDependencies: vue: ^3.0.0 dependencies: - '@intlify/core-base': 9.3.0-beta.25 - '@intlify/shared': 9.3.0-beta.25 - '@intlify/vue-devtools': 9.3.0-beta.25 + '@intlify/core-base': 9.9.1 + '@intlify/shared': 9.9.1 '@vue/devtools-api': 6.5.0 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) - /vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.3.4): + /vue-inbrowser-compiler-independent-utils@4.71.1(vue@3.4.19): resolution: {integrity: sha512-K3wt3iVmNGaFEOUR4JIThQRWfqokxLfnPslD41FDZB2ajXp789+wCqJyGYlIFsvEQ2P61PInw6/ph5iiqg51gg==} peerDependencies: vue: '>=2' dependencies: - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: true - /vue-resize@2.0.0-alpha.1(vue@3.3.4): + /vue-resize@2.0.0-alpha.1(vue@3.4.19): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false - /vue-router@4.2.4(vue@3.3.4): - resolution: {integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==} + /vue-router@4.2.5(vue@3.4.19): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /vue-template-compiler@2.7.14: @@ -17878,46 +17709,40 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.8.22(typescript@5.0.4): - resolution: {integrity: sha512-j9P4kHtW6eEE08aS5McFZE/ivmipXy0JzrnTgbomfABMaVKx37kNBw//irL3+LlE3kOo63XpnRigyPC3w7+z+A==} + /vue-tsc@1.8.27(typescript@5.3.3): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 1.10.10 - '@vue/language-core': 1.8.22(typescript@5.0.4) + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.3.3) semver: 7.5.4 - typescript: 5.0.4 + typescript: 5.3.3 dev: true - /vue-tsc@1.8.8(typescript@5.0.4): - resolution: {integrity: sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==} - hasBin: true + /vue@3.4.19(typescript@5.3.3): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} peerDependencies: typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@vue/language-core': 1.8.8(typescript@5.0.4) - '@vue/typescript': 1.8.8(typescript@5.0.4) - semver: 7.5.4 - typescript: 5.0.4 - dev: true - - /vue@3.3.4: - resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.4 - '@vue/runtime-dom': 3.3.4 - '@vue/server-renderer': 3.3.4(vue@3.3.4) - '@vue/shared': 3.3.4 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 + typescript: 5.3.3 - /vuedraggable@4.1.0(vue@3.3.4): + /vuedraggable@4.1.0(vue@3.4.19): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} peerDependencies: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.3.4 + vue: 3.4.19(typescript@5.3.3) dev: false /w3c-keyname@2.2.6: @@ -18158,7 +17983,7 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.23.5 + '@babel/parser': 7.23.9 '@babel/types': 7.23.5 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 diff --git a/ui/tsconfig.app.json b/ui/tsconfig.app.json index 23d630a7e0..cabcd19535 100644 --- a/ui/tsconfig.app.json +++ b/ui/tsconfig.app.json @@ -11,6 +11,7 @@ "baseUrl": ".", "composite": true, "noImplicitAny": false, + "noEmit": false, "paths": { "@/*": ["./src/*"], "@uc/*": ["./uc-src/*"], From 50fbe37be89c789154c07bdf122a2f4d33396cc6 Mon Sep 17 00:00:00 2001 From: MashiroT Date: Thu, 22 Feb 2024 17:44:06 +0800 Subject: [PATCH 2/2] feat: add support for force verify email during user registration (#5320) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /kind feature /kind improvement /area core /area console /kind api-change #### What this PR does / why we need it: 增加对用户注册时必须验证邮箱的支持 #### Which issue(s) this PR fixes: Fixes #5016 #### Special notes for your reviewer: `regRequireVerifyEmail` 为 `false` 时与现在的注册行为一致 为 `true` 时注册页显示验证码校验相关,注册成功后 `UserSpec.emailVerified` 即为 `true` 没有判断邮件通知是否开启,与现有的邮箱验证一致,如未开启则收不到邮件 #### Does this PR introduce a user-facing change? ```release-note 增加对用户注册时必须验证邮箱的支持 ``` --- .../run/halo/app/infra/SystemSetting.java | 1 + .../halo/app/actuator/GlobalInfoEndpoint.java | 12 +- .../service/EmailVerificationService.java | 17 ++ .../impl/EmailVerificationServiceImpl.java | 13 ++ .../theme/endpoint/PublicUserEndpoint.java | 94 ++++++++- .../resources/extensions/system-setting.yaml | 4 + .../endpoint/PublicUserEndpointTest.java | 11 +- .../src/api/api-halo-run-v1alpha1-user-api.ts | 197 ++++++++++++++++-- ui/packages/api-client/src/base.ts | 13 ++ ui/packages/api-client/src/configuration.ts | 44 ++-- ui/packages/api-client/src/models/index.ts | 1 + .../models/register-verify-email-request.ts | 27 +++ .../api-client/src/models/sign-up-request.ts | 10 +- ui/src/components/signup/SignupForm.vue | 100 ++++++++- ui/src/locales/en.yaml | 11 + ui/src/locales/zh-CN.yaml | 11 + ui/src/locales/zh-TW.yaml | 11 + ui/src/types/actuator.ts | 1 + 18 files changed, 519 insertions(+), 59 deletions(-) create mode 100644 ui/packages/api-client/src/models/register-verify-email-request.ts diff --git a/api/src/main/java/run/halo/app/infra/SystemSetting.java b/api/src/main/java/run/halo/app/infra/SystemSetting.java index 60e29851c9..610b88ab7a 100644 --- a/api/src/main/java/run/halo/app/infra/SystemSetting.java +++ b/api/src/main/java/run/halo/app/infra/SystemSetting.java @@ -67,6 +67,7 @@ public static class Basic { public static class User { public static final String GROUP = "user"; Boolean allowRegistration; + Boolean mustVerifyEmailOnRegistration; String defaultRole; String avatarPolicy; } diff --git a/application/src/main/java/run/halo/app/actuator/GlobalInfoEndpoint.java b/application/src/main/java/run/halo/app/actuator/GlobalInfoEndpoint.java index 667a5e7a11..b3a745c71a 100644 --- a/application/src/main/java/run/halo/app/actuator/GlobalInfoEndpoint.java +++ b/application/src/main/java/run/halo/app/actuator/GlobalInfoEndpoint.java @@ -55,13 +55,11 @@ public GlobalInfo globalInfo() { handleBasicSetting(info, configMap); handlePostSlugGenerationStrategy(info, configMap); })); - return info; } @Data public static class GlobalInfo { - private URL externalUrl; private boolean useAbsolutePermalink; @@ -85,6 +83,8 @@ public static class GlobalInfo { private String postSlugGenerationStrategy; private List socialAuthProviders; + + private Boolean mustVerifyEmailOnRegistration; } @Data @@ -117,12 +117,14 @@ private void handleCommentSetting(GlobalInfo info, ConfigMap configMap) { } private void handleUserSetting(GlobalInfo info, ConfigMap configMap) { - var user = SystemSetting.get(configMap, User.GROUP, User.class); - if (user == null) { + var userSetting = SystemSetting.get(configMap, User.GROUP, User.class); + if (userSetting == null) { info.setAllowRegistration(false); + info.setMustVerifyEmailOnRegistration(false); } else { info.setAllowRegistration( - user.getAllowRegistration() != null && user.getAllowRegistration()); + userSetting.getAllowRegistration() != null && userSetting.getAllowRegistration()); + info.setMustVerifyEmailOnRegistration(userSetting.getMustVerifyEmailOnRegistration()); } } diff --git a/application/src/main/java/run/halo/app/core/extension/service/EmailVerificationService.java b/application/src/main/java/run/halo/app/core/extension/service/EmailVerificationService.java index dedd0c9583..762f92afe1 100644 --- a/application/src/main/java/run/halo/app/core/extension/service/EmailVerificationService.java +++ b/application/src/main/java/run/halo/app/core/extension/service/EmailVerificationService.java @@ -27,4 +27,21 @@ public interface EmailVerificationService { * @throws EmailVerificationFailed if send failed */ Mono verify(String username, String code); + + /** + * Send verification code. + * The only difference is use email as username. + * + * @param email email to send must not be blank + */ + Mono sendRegisterVerificationCode(String email); + + /** + * Verify email by given code. + * + * @param email email as username to verify email must not be blank + * @param code code to verify email must not be blank + * @throws EmailVerificationFailed if send failed + */ + Mono verifyRegisterVerificationCode(String email, String code); } diff --git a/application/src/main/java/run/halo/app/core/extension/service/impl/EmailVerificationServiceImpl.java b/application/src/main/java/run/halo/app/core/extension/service/impl/EmailVerificationServiceImpl.java index 6b7357c0c9..e3d4e6208f 100644 --- a/application/src/main/java/run/halo/app/core/extension/service/impl/EmailVerificationServiceImpl.java +++ b/application/src/main/java/run/halo/app/core/extension/service/impl/EmailVerificationServiceImpl.java @@ -102,6 +102,19 @@ public Mono verify(String username, String code) { .then(); } + @Override + public Mono sendRegisterVerificationCode(String email) { + Assert.state(StringUtils.isNotBlank(email), "Email must not be blank"); + return sendVerificationNotification(email, email); + } + + @Override + public Mono verifyRegisterVerificationCode(String email, String code) { + Assert.state(StringUtils.isNotBlank(email), "Username must not be blank"); + Assert.state(StringUtils.isNotBlank(code), "Code must not be blank"); + return Mono.just(emailVerificationManager.verifyCode(email, email, code)); + } + Mono sendVerificationNotification(String username, String email) { var code = emailVerificationManager.generateCode(username, email); var subscribeNotification = autoSubscribeVerificationEmailNotification(email); diff --git a/application/src/main/java/run/halo/app/theme/endpoint/PublicUserEndpoint.java b/application/src/main/java/run/halo/app/theme/endpoint/PublicUserEndpoint.java index eb7ffd8634..bcd9507cc6 100644 --- a/application/src/main/java/run/halo/app/theme/endpoint/PublicUserEndpoint.java +++ b/application/src/main/java/run/halo/app/theme/endpoint/PublicUserEndpoint.java @@ -1,5 +1,6 @@ package run.halo.app.theme.endpoint; +import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.NOT_REQUIRED; import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; import static org.springdoc.core.fn.builders.apiresponse.Builder.responseBuilder; import static org.springdoc.core.fn.builders.parameter.Builder.parameterBuilder; @@ -11,6 +12,7 @@ import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.springdoc.webflux.core.fn.SpringdocRouteBuilder; import org.springframework.http.HttpStatus; @@ -29,8 +31,14 @@ import run.halo.app.core.extension.User; import run.halo.app.core.extension.endpoint.CustomEndpoint; import run.halo.app.core.extension.service.EmailPasswordRecoveryService; +import run.halo.app.core.extension.service.EmailVerificationService; import run.halo.app.core.extension.service.UserService; import run.halo.app.extension.GroupVersion; +import run.halo.app.infra.SystemConfigurableEnvironmentFetcher; +import run.halo.app.infra.SystemSetting; +import run.halo.app.infra.ValidationUtils; +import run.halo.app.infra.exception.AccessDeniedException; +import run.halo.app.infra.exception.EmailVerificationFailed; import run.halo.app.infra.exception.RateLimitExceededException; import run.halo.app.infra.utils.IpAddressUtils; @@ -48,6 +56,8 @@ public class PublicUserEndpoint implements CustomEndpoint { private final ReactiveUserDetailsService reactiveUserDetailsService; private final EmailPasswordRecoveryService emailPasswordRecoveryService; private final RateLimiterRegistry rateLimiterRegistry; + private final SystemConfigurableEnvironmentFetcher environmentFetcher; + private final EmailVerificationService emailVerificationService; @Override public RouterFunction endpoint() { @@ -62,6 +72,22 @@ public RouterFunction endpoint() { ) .response(responseBuilder().implementation(User.class)) ) + .POST("/users/-/send-register-verify-email", this::sendRegisterVerifyEmail, + builder -> builder.operationId("SendRegisterVerifyEmail") + .description( + "Send registration verification email, which can be called when " + + "mustVerifyEmailOnRegistration in user settings is true" + ) + .tag(tag) + .requestBody(requestBodyBuilder() + .required(true) + .implementation(RegisterVerifyEmailRequest.class) + ) + .response(responseBuilder() + .responseCode(HttpStatus.NO_CONTENT.toString()) + .implementation(Void.class) + ) + ) .POST("/users/-/send-password-reset-email", this::sendPasswordResetEmail, builder -> builder.operationId("SendPasswordResetEmail") .description("Send password reset email when forgot password") @@ -126,6 +152,9 @@ record ResetPasswordRequest(@Schema(requiredMode = REQUIRED, minLength = 6) Stri @Schema(requiredMode = REQUIRED) String token) { } + record RegisterVerifyEmailRequest(@Schema(requiredMode = REQUIRED) String email) { + } + private Mono sendPasswordResetEmail(ServerRequest request) { return request.bodyToMono(PasswordResetEmailRequest.class) .flatMap(passwordResetRequest -> { @@ -154,6 +183,30 @@ public GroupVersion groupVersion() { private Mono signUp(ServerRequest request) { return request.bodyToMono(SignUpRequest.class) + .doOnNext(signUpRequest -> signUpRequest.user().getSpec().setEmailVerified(false)) + .flatMap(signUpRequest -> environmentFetcher.fetch(SystemSetting.User.GROUP, + SystemSetting.User.class) + .map(user -> BooleanUtils.isTrue(user.getMustVerifyEmailOnRegistration())) + .defaultIfEmpty(false) + .flatMap(mustVerifyEmailOnRegistration -> { + if (!mustVerifyEmailOnRegistration) { + return Mono.just(signUpRequest); + } + if (!StringUtils.isNumeric(signUpRequest.verifyCode)) { + return Mono.error(new EmailVerificationFailed()); + } + return emailVerificationService.verifyRegisterVerificationCode( + signUpRequest.user().getSpec().getEmail(), + signUpRequest.verifyCode) + .flatMap(verified -> { + if (BooleanUtils.isNotTrue(verified)) { + return Mono.error(new EmailVerificationFailed()); + } + signUpRequest.user().getSpec().setEmailVerified(true); + return Mono.just(signUpRequest); + }); + }) + ) .flatMap(signUpRequest -> userService.signUp(signUpRequest.user(), signUpRequest.password()) ) @@ -168,6 +221,35 @@ private Mono signUp(ServerRequest request) { .onErrorMap(RequestNotPermitted.class, RateLimitExceededException::new); } + private Mono sendRegisterVerifyEmail(ServerRequest request) { + return request.bodyToMono(RegisterVerifyEmailRequest.class) + .switchIfEmpty(Mono.error( + () -> new ServerWebInputException("Required request body is missing.")) + ) + .map(emailReq -> { + var email = emailReq.email(); + if (!ValidationUtils.isValidEmail(email)) { + throw new ServerWebInputException("Invalid email address."); + } + return email; + }) + .flatMap(email -> environmentFetcher.fetch(SystemSetting.User.GROUP, + SystemSetting.User.class) + .map(config -> BooleanUtils.isTrue(config.getMustVerifyEmailOnRegistration())) + .defaultIfEmpty(false) + .doOnNext(mustVerifyEmailOnRegistration -> { + if (!mustVerifyEmailOnRegistration) { + throw new AccessDeniedException("Email verification is not required."); + } + }) + .transformDeferred(sendRegisterEmailVerificationCodeRateLimiter(email)) + .flatMap(s -> emailVerificationService.sendRegisterVerificationCode(email) + .onErrorMap(RequestNotPermitted.class, RateLimitExceededException::new)) + .onErrorMap(RequestNotPermitted.class, RateLimitExceededException::new) + ) + .then(ServerResponse.ok().build()); + } + private RateLimiterOperator getRateLimiterForSignUp(ServerWebExchange exchange) { var clientIp = IpAddressUtils.getClientIp(exchange.getRequest()); var rateLimiter = rateLimiterRegistry.rateLimiter("signup-from-ip-" + clientIp, @@ -187,7 +269,17 @@ private Mono authenticate(String username, ServerWebExchange exchange) { }); } + private RateLimiterOperator sendRegisterEmailVerificationCodeRateLimiter(String email) { + String rateLimiterKey = "send-register-verify-email:" + email; + var rateLimiter = + rateLimiterRegistry.rateLimiter(rateLimiterKey, "send-email-verification-code"); + return RateLimiterOperator.of(rateLimiter); + } + record SignUpRequest(@Schema(requiredMode = REQUIRED) User user, - @Schema(requiredMode = REQUIRED, minLength = 6) String password) { + @Schema(requiredMode = REQUIRED, minLength = 6) String password, + @Schema(requiredMode = NOT_REQUIRED, minLength = 6, maxLength = 6) + String verifyCode + ) { } } diff --git a/application/src/main/resources/extensions/system-setting.yaml b/application/src/main/resources/extensions/system-setting.yaml index 0f3a4f0c93..6674db21ff 100644 --- a/application/src/main/resources/extensions/system-setting.yaml +++ b/application/src/main/resources/extensions/system-setting.yaml @@ -96,6 +96,10 @@ spec: name: allowRegistration label: "开放注册" value: false + - $formkit: checkbox + name: mustVerifyEmailOnRegistration + label: "注册需验证邮箱(请确保启用邮件通知)" + value: false - $formkit: roleSelect name: defaultRole label: "默认角色" diff --git a/application/src/test/java/run/halo/app/theme/endpoint/PublicUserEndpointTest.java b/application/src/test/java/run/halo/app/theme/endpoint/PublicUserEndpointTest.java index 46b4ba63bb..8acdefcc09 100644 --- a/application/src/test/java/run/halo/app/theme/endpoint/PublicUserEndpointTest.java +++ b/application/src/test/java/run/halo/app/theme/endpoint/PublicUserEndpointTest.java @@ -3,6 +3,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -21,6 +22,8 @@ import run.halo.app.core.extension.User; import run.halo.app.core.extension.service.UserService; import run.halo.app.extension.Metadata; +import run.halo.app.infra.SystemConfigurableEnvironmentFetcher; +import run.halo.app.infra.SystemSetting; /** * Tests for {@link PublicUserEndpoint}. @@ -36,7 +39,8 @@ class PublicUserEndpointTest { private ServerSecurityContextRepository securityContextRepository; @Mock private ReactiveUserDetailsService reactiveUserDetailsService; - + @Mock + SystemConfigurableEnvironmentFetcher environmentFetcher; @Mock RateLimiterRegistry rateLimiterRegistry; @@ -67,6 +71,9 @@ void signUp() { .password("123456") .authorities("test-role") .build())); + SystemSetting.User userSetting = mock(SystemSetting.User.class); + when(environmentFetcher.fetch(SystemSetting.User.GROUP, SystemSetting.User.class)) + .thenReturn(Mono.just(userSetting)); when(rateLimiterRegistry.rateLimiter("signup-from-ip-127.0.0.1", "signup")) .thenReturn(RateLimiter.ofDefaults("signup")); @@ -74,7 +81,7 @@ void signUp() { webClient.post() .uri("/users/-/signup") .header("X-Forwarded-For", "127.0.0.1") - .bodyValue(new PublicUserEndpoint.SignUpRequest(user, "fake-password")) + .bodyValue(new PublicUserEndpoint.SignUpRequest(user, "fake-password", "")) .exchange() .expectStatus().isOk(); diff --git a/ui/packages/api-client/src/api/api-halo-run-v1alpha1-user-api.ts b/ui/packages/api-client/src/api/api-halo-run-v1alpha1-user-api.ts index e6d4c728e3..4529111dd7 100644 --- a/ui/packages/api-client/src/api/api-halo-run-v1alpha1-user-api.ts +++ b/ui/packages/api-client/src/api/api-halo-run-v1alpha1-user-api.ts @@ -36,15 +36,19 @@ import { RequestArgs, BaseAPI, RequiredError, + operationServerMap, } from "../base"; // @ts-ignore import { PasswordResetEmailRequest } from "../models"; // @ts-ignore +import { RegisterVerifyEmailRequest } from "../models"; +// @ts-ignore import { ResetPasswordRequest } from "../models"; // @ts-ignore import { SignUpRequest } from "../models"; // @ts-ignore import { User } from "../models"; + /** * ApiHaloRunV1alpha1UserApi - axios parameter creator * @export @@ -183,6 +187,67 @@ export const ApiHaloRunV1alpha1UserApiAxiosParamCreator = function ( options: localVarRequestOptions, }; }, + /** + * Send registration verification email, which can be called when mustVerifyEmailOnRegistration in user settings is true + * @param {RegisterVerifyEmailRequest} registerVerifyEmailRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sendRegisterVerifyEmail: async ( + registerVerifyEmailRequest: RegisterVerifyEmailRequest, + options: AxiosRequestConfig = {} + ): Promise => { + // verify required parameter 'registerVerifyEmailRequest' is not null or undefined + assertParamExists( + "sendRegisterVerifyEmail", + "registerVerifyEmailRequest", + registerVerifyEmailRequest + ); + const localVarPath = `/apis/api.halo.run/v1alpha1/users/-/send-register-verify-email`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { + method: "POST", + ...baseOptions, + ...options, + }; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication BasicAuth required + // http basic authentication required + setBasicAuthToObject(localVarRequestOptions, configuration); + + // authentication BearerAuth required + // http bearer authentication required + await setBearerAuthToObject(localVarHeaderParameter, configuration); + + localVarHeaderParameter["Content-Type"] = "application/json"; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = + baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = { + ...localVarHeaderParameter, + ...headersFromBaseOptions, + ...options.headers, + }; + localVarRequestOptions.data = serializeDataIfNeeded( + registerVerifyEmailRequest, + localVarRequestOptions, + configuration + ); + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Sign up a new user * @param {SignUpRequest} signUpRequest @@ -273,12 +338,18 @@ export const ApiHaloRunV1alpha1UserApiFp = function ( resetPasswordRequest, options ); - return createRequestFunction( - localVarAxiosArgs, - globalAxios, - BASE_PATH, - configuration - ); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = + operationServerMap["ApiHaloRunV1alpha1UserApi.resetPasswordByToken"]?.[ + index + ]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration + )(axios, operationBasePath || basePath); }, /** * Send password reset email when forgot password @@ -297,12 +368,48 @@ export const ApiHaloRunV1alpha1UserApiFp = function ( passwordResetEmailRequest, options ); - return createRequestFunction( - localVarAxiosArgs, - globalAxios, - BASE_PATH, - configuration - ); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = + operationServerMap[ + "ApiHaloRunV1alpha1UserApi.sendPasswordResetEmail" + ]?.[index]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration + )(axios, operationBasePath || basePath); + }, + /** + * Send registration verification email, which can be called when mustVerifyEmailOnRegistration in user settings is true + * @param {RegisterVerifyEmailRequest} registerVerifyEmailRequest + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async sendRegisterVerifyEmail( + registerVerifyEmailRequest: RegisterVerifyEmailRequest, + options?: AxiosRequestConfig + ): Promise< + (axios?: AxiosInstance, basePath?: string) => AxiosPromise + > { + const localVarAxiosArgs = + await localVarAxiosParamCreator.sendRegisterVerifyEmail( + registerVerifyEmailRequest, + options + ); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = + operationServerMap[ + "ApiHaloRunV1alpha1UserApi.sendRegisterVerifyEmail" + ]?.[index]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration + )(axios, operationBasePath || basePath); }, /** * Sign up a new user @@ -320,12 +427,16 @@ export const ApiHaloRunV1alpha1UserApiFp = function ( signUpRequest, options ); - return createRequestFunction( - localVarAxiosArgs, - globalAxios, - BASE_PATH, - configuration - ); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = + operationServerMap["ApiHaloRunV1alpha1UserApi.signUp"]?.[index]?.url; + return (axios, basePath) => + createRequestFunction( + localVarAxiosArgs, + globalAxios, + BASE_PATH, + configuration + )(axios, operationBasePath || basePath); }, }; }; @@ -376,6 +487,23 @@ export const ApiHaloRunV1alpha1UserApiFactory = function ( ) .then((request) => request(axios, basePath)); }, + /** + * Send registration verification email, which can be called when mustVerifyEmailOnRegistration in user settings is true + * @param {ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + sendRegisterVerifyEmail( + requestParameters: ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest, + options?: AxiosRequestConfig + ): AxiosPromise { + return localVarFp + .sendRegisterVerifyEmail( + requestParameters.registerVerifyEmailRequest, + options + ) + .then((request) => request(axios, basePath)); + }, /** * Sign up a new user * @param {ApiHaloRunV1alpha1UserApiSignUpRequest} requestParameters Request parameters. @@ -428,6 +556,20 @@ export interface ApiHaloRunV1alpha1UserApiSendPasswordResetEmailRequest { readonly passwordResetEmailRequest: PasswordResetEmailRequest; } +/** + * Request parameters for sendRegisterVerifyEmail operation in ApiHaloRunV1alpha1UserApi. + * @export + * @interface ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest + */ +export interface ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest { + /** + * + * @type {RegisterVerifyEmailRequest} + * @memberof ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmail + */ + readonly registerVerifyEmailRequest: RegisterVerifyEmailRequest; +} + /** * Request parameters for signUp operation in ApiHaloRunV1alpha1UserApi. * @export @@ -488,6 +630,25 @@ export class ApiHaloRunV1alpha1UserApi extends BaseAPI { .then((request) => request(this.axios, this.basePath)); } + /** + * Send registration verification email, which can be called when mustVerifyEmailOnRegistration in user settings is true + * @param {ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest} requestParameters Request parameters. + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ApiHaloRunV1alpha1UserApi + */ + public sendRegisterVerifyEmail( + requestParameters: ApiHaloRunV1alpha1UserApiSendRegisterVerifyEmailRequest, + options?: AxiosRequestConfig + ) { + return ApiHaloRunV1alpha1UserApiFp(this.configuration) + .sendRegisterVerifyEmail( + requestParameters.registerVerifyEmailRequest, + options + ) + .then((request) => request(this.axios, this.basePath)); + } + /** * Sign up a new user * @param {ApiHaloRunV1alpha1UserApiSignUpRequest} requestParameters Request parameters. diff --git a/ui/packages/api-client/src/base.ts b/ui/packages/api-client/src/base.ts index 1159a28897..e3d5d119d6 100644 --- a/ui/packages/api-client/src/base.ts +++ b/ui/packages/api-client/src/base.ts @@ -73,3 +73,16 @@ export class RequiredError extends Error { this.name = "RequiredError"; } } + +interface ServerMap { + [key: string]: { + url: string, + description: string, + }[]; +} + +/** + * + * @export + */ +export const operationServerMap: ServerMap = {}; diff --git a/ui/packages/api-client/src/configuration.ts b/ui/packages/api-client/src/configuration.ts index e93a3074a9..534622b5a2 100644 --- a/ui/packages/api-client/src/configuration.ts +++ b/ui/packages/api-client/src/configuration.ts @@ -13,19 +13,12 @@ */ export interface ConfigurationParameters { - apiKey?: - | string - | Promise - | ((name: string) => string) - | ((name: string) => Promise); + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); username?: string; password?: string; - accessToken?: - | string - | Promise - | ((name?: string, scopes?: string[]) => string) - | ((name?: string, scopes?: string[]) => Promise); + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); basePath?: string; + serverIndex?: number; baseOptions?: any; formDataCtor?: new () => any; } @@ -36,11 +29,7 @@ export class Configuration { * @param name security name * @memberof Configuration */ - apiKey?: - | string - | Promise - | ((name: string) => string) - | ((name: string) => Promise); + apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); /** * parameter for basic security * @@ -61,11 +50,7 @@ export class Configuration { * @param scopes oauth2 scope * @memberof Configuration */ - accessToken?: - | string - | Promise - | ((name?: string, scopes?: string[]) => string) - | ((name?: string, scopes?: string[]) => Promise); + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); /** * override base path * @@ -73,6 +58,13 @@ export class Configuration { * @memberof Configuration */ basePath?: string; + /** + * override server index + * + * @type {number} + * @memberof Configuration + */ + serverIndex?: number; /** * base options for axios calls * @@ -95,6 +87,7 @@ export class Configuration { this.password = param.password; this.accessToken = param.accessToken; this.basePath = param.basePath; + this.serverIndex = param.serverIndex; this.baseOptions = param.baseOptions; this.formDataCtor = param.formDataCtor; } @@ -110,14 +103,7 @@ export class Configuration { * @return True if the given MIME is JSON, false otherwise. */ public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp( - "^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$", - "i" - ); - return ( - mime !== null && - (jsonMime.test(mime) || - mime.toLowerCase() === "application/json-patch+json") - ); + const jsonMime: RegExp = new RegExp("^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$", "i"); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === "application/json-patch+json"); } } diff --git a/ui/packages/api-client/src/models/index.ts b/ui/packages/api-client/src/models/index.ts index d0c5700934..86ce65eb2b 100644 --- a/ui/packages/api-client/src/models/index.ts +++ b/ui/packages/api-client/src/models/index.ts @@ -148,6 +148,7 @@ export * from "./reason-type-notifier-matrix"; export * from "./reason-type-notifier-request"; export * from "./reason-type-spec"; export * from "./ref"; +export * from "./register-verify-email-request"; export * from "./reply"; export * from "./reply-list"; export * from "./reply-request"; diff --git a/ui/packages/api-client/src/models/register-verify-email-request.ts b/ui/packages/api-client/src/models/register-verify-email-request.ts new file mode 100644 index 0000000000..6ffff154cf --- /dev/null +++ b/ui/packages/api-client/src/models/register-verify-email-request.ts @@ -0,0 +1,27 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Halo Next API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +/** + * + * @export + * @interface RegisterVerifyEmailRequest + */ +export interface RegisterVerifyEmailRequest { + /** + * + * @type {string} + * @memberof RegisterVerifyEmailRequest + */ + email: string; +} diff --git a/ui/packages/api-client/src/models/sign-up-request.ts b/ui/packages/api-client/src/models/sign-up-request.ts index c592e9740a..ed8c23e748 100644 --- a/ui/packages/api-client/src/models/sign-up-request.ts +++ b/ui/packages/api-client/src/models/sign-up-request.ts @@ -24,14 +24,20 @@ import { User } from "./user"; export interface SignUpRequest { /** * - * @type {string} + * @type {any} * @memberof SignUpRequest */ - password: string; + password: any; /** * * @type {User} * @memberof SignUpRequest */ user: User; + /** + * + * @type {any} + * @memberof SignUpRequest + */ + verifyCode?: any; } diff --git a/ui/src/components/signup/SignupForm.vue b/ui/src/components/signup/SignupForm.vue index 4d6a1fbced..dbba739460 100644 --- a/ui/src/components/signup/SignupForm.vue +++ b/ui/src/components/signup/SignupForm.vue @@ -1,10 +1,13 @@