diff --git a/.nvmrc b/.nvmrc index 016efd8a0..df9385826 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.10.0 \ No newline at end of file +v20.11.0 \ No newline at end of file diff --git a/build/utils.ts b/build/utils.ts index 296738941..cac884c64 100644 --- a/build/utils.ts +++ b/build/utils.ts @@ -3,7 +3,13 @@ import { readdir, stat } from "node:fs"; import { fileURLToPath } from "node:url"; import { dirname, resolve } from "node:path"; import { sum, formatBytes } from "@pureadmin/utils"; -import { dependencies, devDependencies, name, version } from "../package.json"; +import { + name, + version, + engines, + dependencies, + devDependencies +} from "../package.json"; /** 启动`node`进程时所在工作目录的绝对路径 */ const root: string = process.cwd(); @@ -35,9 +41,9 @@ const alias: Record = { "@build": pathResolve() }; -/** 平台的名称、版本、依赖、最后构建时间 */ +/** 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示 */ const __APP_INFO__ = { - pkg: { name, version, dependencies, devDependencies }, + pkg: { name, version, engines, dependencies, devDependencies }, lastBuildTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss") }; diff --git a/locales/en.yaml b/locales/en.yaml index bc1bbe45c..a3846101e 100644 --- a/locales/en.yaml +++ b/locales/en.yaml @@ -111,6 +111,7 @@ menus: hsPureTableBase: Base Usage hsPureTableHigh: High Usage hsTree: Big Data Tree + hsboard: Paint Board hsMenuoverflow: Menu Overflow Show Tooltip Text hsChildMenuoverflow: Child Menu Overflow Show Tooltip Text status: diff --git a/locales/zh-CN.yaml b/locales/zh-CN.yaml index 21364443e..e0d5fb1c3 100644 --- a/locales/zh-CN.yaml +++ b/locales/zh-CN.yaml @@ -111,6 +111,7 @@ menus: hsPureTableBase: 基础用法(23个示例) hsPureTableHigh: 高级用法(11个示例) hsTree: 大数据树业务组件 + hsboard: 艺术画板 hsMenuoverflow: 目录超出显示 Tooltip 文字提示 hsChildMenuoverflow: 菜单超出显示 Tooltip 文字提示 status: diff --git a/package.json b/package.json index 4ead08423..62b613cb2 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@logicflow/extension": "^1.2.19", "@pureadmin/descriptions": "^1.2.0", "@pureadmin/table": "^3.0.1", - "@pureadmin/utils": "^2.3.1", + "@pureadmin/utils": "^2.4.0", "@vueuse/core": "^10.7.1", "@vueuse/motion": "^2.0.0", "@wangeditor/editor": "^5.1.23", @@ -87,7 +87,7 @@ "v-contextmenu": "3.0.0", "v3-infinite-loading": "^1.3.1", "version-rocket": "^1.7.1", - "vue": "^3.4.7", + "vue": "^3.4.10", "vue-i18n": "^9.9.0", "vue-json-pretty": "^2.3.0", "vue-pdf-embed": "^1.2.1", @@ -98,7 +98,7 @@ "vue-waterfall-plugin-next": "^2.3.1", "vue3-danmaku": "^1.6.0", "vuedraggable": "^4.1.0", - "wavesurfer.js": "^7.6.3", + "wavesurfer.js": "^7.6.4", "xgplayer": "^3.0.11", "xlsx": "^0.18.5" }, @@ -115,7 +115,7 @@ "@pureadmin/theme": "^3.2.0", "@types/intro.js": "^5.1.5", "@types/js-cookie": "^3.0.6", - "@types/node": "^20.10.8", + "@types/node": "^20.11.0", "@types/nprogress": "^0.2.3", "@types/qrcode": "^1.5.5", "@types/qs": "^6.9.11", @@ -131,12 +131,12 @@ "eslint-config-prettier": "^9.1.0", "eslint-define-config": "^2.1.0", "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-vue": "^9.19.2", + "eslint-plugin-vue": "^9.20.0", "husky": "^8.0.3", "lint-staged": "^15.2.0", "picocolors": "^1.0.0", "postcss": "^8.4.33", - "postcss-html": "^1.5.0", + "postcss-html": "^1.6.0", "postcss-import": "^15.1.0", "postcss-scss": "^4.0.9", "prettier": "^3.1.1", @@ -162,7 +162,7 @@ "vue-tsc": "^1.8.27" }, "engines": { - "node": "^18.12.0 || >=20.0.0", + "node": "^18.18.0 || ^20.9.0 || >=21.1.0", "pnpm": ">=8.6.10" }, "packageManager": "pnpm@8.6.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c888c2633..8c971aaaa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ dependencies: version: 1.0.1 '@howdyjs/mouse-menu': specifier: 2.0.9 - version: 2.0.9(vue@3.4.7) + version: 2.0.9(vue@3.4.10) '@logicflow/core': specifier: ^1.2.18 version: 1.2.18 @@ -24,20 +24,20 @@ dependencies: specifier: ^3.0.1 version: 3.0.1(element-plus@2.5.1)(typescript@5.3.3) '@pureadmin/utils': - specifier: ^2.3.1 - version: 2.3.1(echarts@5.4.3)(vue@3.4.7) + specifier: ^2.4.0 + version: 2.4.0(echarts@5.4.3)(vue@3.4.10) '@vueuse/core': specifier: ^10.7.1 - version: 10.7.1(vue@3.4.7) + version: 10.7.1(vue@3.4.10) '@vueuse/motion': specifier: ^2.0.0 - version: 2.0.0(rollup@2.79.1)(vue@3.4.7) + version: 2.0.0(rollup@2.79.1)(vue@3.4.10) '@wangeditor/editor': specifier: ^5.1.23 version: 5.1.23 '@wangeditor/editor-for-vue': specifier: ^5.1.12 - version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.7) + version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.10) '@zxcvbn-ts/core': specifier: ^3.0.4 version: 3.0.4 @@ -64,7 +64,7 @@ dependencies: version: 3.0.3(typescript@5.3.3) element-plus: specifier: ^2.5.1 - version: 2.5.1(vue@3.4.7) + version: 2.5.1(vue@3.4.10) intro.js: specifier: ^7.2.0 version: 7.2.0 @@ -91,7 +91,7 @@ dependencies: version: 0.12.7 pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.3.3)(vue@3.4.7) + version: 2.1.7(typescript@5.3.3)(vue@3.4.10) pinyin-pro: specifier: ^3.19.0 version: 3.19.0 @@ -115,7 +115,7 @@ dependencies: version: 8.7.1 v-contextmenu: specifier: 3.0.0 - version: 3.0.0(vue@3.4.7) + version: 3.0.0(vue@3.4.10) v3-infinite-loading: specifier: ^1.3.1 version: 1.3.1 @@ -123,41 +123,41 @@ dependencies: specifier: ^1.7.1 version: 1.7.1 vue: - specifier: ^3.4.7 - version: 3.4.7(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vue-i18n: specifier: ^9.9.0 - version: 9.9.0(vue@3.4.7) + version: 9.9.0(vue@3.4.10) vue-json-pretty: specifier: ^2.3.0 - version: 2.3.0(vue@3.4.7) + version: 2.3.0(vue@3.4.10) vue-pdf-embed: specifier: ^1.2.1 - version: 1.2.1(vue@3.4.7) + version: 1.2.1(vue@3.4.10) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.4.7) + version: 4.2.5(vue@3.4.10) vue-tippy: specifier: ^6.4.1 - version: 6.4.1(vue@3.4.7) + version: 6.4.1(vue@3.4.10) vue-types: specifier: ^5.1.1 - version: 5.1.1(vue@3.4.7) + version: 5.1.1(vue@3.4.10) vue-virtual-scroller: specifier: 2.0.0-beta.8 - version: 2.0.0-beta.8(vue@3.4.7) + version: 2.0.0-beta.8(vue@3.4.10) vue-waterfall-plugin-next: specifier: ^2.3.1 - version: 2.3.1(@types/lodash-es@4.17.12)(vue@3.4.7) + version: 2.3.1(@types/lodash-es@4.17.12)(vue@3.4.10) vue3-danmaku: specifier: ^1.6.0 - version: 1.6.0(vue@3.4.7) + version: 1.6.0(vue@3.4.10) vuedraggable: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.7) + version: 4.1.0(vue@3.4.10) wavesurfer.js: - specifier: ^7.6.3 - version: 7.6.3 + specifier: ^7.6.4 + version: 7.6.4 xgplayer: specifier: ^3.0.11 version: 3.0.11(core-js@3.35.0) @@ -168,7 +168,7 @@ dependencies: devDependencies: '@commitlint/cli': specifier: ^18.4.4 - version: 18.4.4(@types/node@20.10.8)(typescript@5.3.3) + version: 18.4.4(@types/node@20.11.0)(typescript@5.3.3) '@commitlint/config-conventional': specifier: ^18.4.4 version: 18.4.4 @@ -189,7 +189,7 @@ devDependencies: version: 1.2.10 '@iconify/vue': specifier: ^4.1.1 - version: 4.1.1(vue@3.4.7) + version: 4.1.1(vue@3.4.10) '@intlify/unplugin-vue-i18n': specifier: ^2.0.0 version: 2.0.0(rollup@2.79.1)(vue-i18n@9.9.0) @@ -203,8 +203,8 @@ devDependencies: specifier: ^3.0.6 version: 3.0.6 '@types/node': - specifier: ^20.10.8 - version: 20.10.8 + specifier: ^20.11.0 + version: 20.11.0 '@types/nprogress': specifier: ^0.2.3 version: 0.2.3 @@ -225,10 +225,10 @@ devDependencies: version: 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@vitejs/plugin-vue': specifier: ^5.0.3 - version: 5.0.3(vite@5.0.11)(vue@3.4.7) + version: 5.0.3(vite@5.0.11)(vue@3.4.10) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.0.11)(vue@3.4.7) + version: 3.1.0(vite@5.0.11)(vue@3.4.10) autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.33) @@ -251,8 +251,8 @@ devDependencies: specifier: ^5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.1.1) eslint-plugin-vue: - specifier: ^9.19.2 - version: 9.19.2(eslint@8.56.0) + specifier: ^9.20.0 + version: 9.20.0(eslint@8.56.0) husky: specifier: ^8.0.3 version: 8.0.3 @@ -266,8 +266,8 @@ devDependencies: specifier: ^8.4.33 version: 8.4.33 postcss-html: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.6.0 + version: 1.6.0 postcss-import: specifier: ^15.1.0 version: 15.1.0(postcss@8.4.33) @@ -294,7 +294,7 @@ devDependencies: version: 4.4.0(stylelint@16.1.0) stylelint-config-recommended-vue: specifier: ^1.5.0 - version: 1.5.0(postcss-html@1.5.0)(stylelint@16.1.0) + version: 1.5.0(postcss-html@1.6.0)(stylelint@16.1.0) stylelint-config-standard-scss: specifier: ^12.0.0 version: 12.0.0(postcss@8.4.33)(stylelint@16.1.0) @@ -312,7 +312,7 @@ devDependencies: version: 5.3.3 vite: specifier: ^5.0.11 - version: 5.0.11(@types/node@20.10.8)(sass@1.69.7) + version: 5.0.11(@types/node@20.11.0)(sass@1.69.7) vite-plugin-cdn-import: specifier: ^0.3.5 version: 0.3.5(rollup@2.79.1) @@ -330,7 +330,7 @@ devDependencies: version: 1.0.0 vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.4.7) + version: 5.1.0(vue@3.4.10) vue-eslint-parser: specifier: ^9.4.0 version: 9.4.0(eslint@8.56.0) @@ -752,14 +752,14 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: false - /@commitlint/cli@18.4.4(@types/node@20.10.8)(typescript@5.3.3): + /@commitlint/cli@18.4.4(@types/node@20.11.0)(typescript@5.3.3): resolution: {integrity: sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g==} engines: {node: '>=v18'} hasBin: true dependencies: '@commitlint/format': 18.4.4 '@commitlint/lint': 18.4.4 - '@commitlint/load': 18.4.4(@types/node@20.10.8)(typescript@5.3.3) + '@commitlint/load': 18.4.4(@types/node@20.11.0)(typescript@5.3.3) '@commitlint/read': 18.4.4 '@commitlint/types': 18.4.4 execa: 5.1.1 @@ -830,7 +830,7 @@ packages: '@commitlint/types': 18.4.4 dev: true - /@commitlint/load@18.4.4(@types/node@20.10.8)(typescript@5.3.3): + /@commitlint/load@18.4.4(@types/node@20.11.0)(typescript@5.3.3): resolution: {integrity: sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==} engines: {node: '>=v18'} dependencies: @@ -840,7 +840,7 @@ packages: '@commitlint/types': 18.4.4 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.3.3) - cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.3.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.11.0)(cosmiconfig@8.3.6)(typescript@5.3.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -955,20 +955,20 @@ packages: engines: {node: '>=10'} dev: false - /@element-plus/icons-vue@1.1.4(vue@3.4.7): + /@element-plus/icons-vue@1.1.4(vue@3.4.10): resolution: {integrity: sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==} peerDependencies: vue: ^3.2.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /@element-plus/icons-vue@2.3.1(vue@3.4.7): + /@element-plus/icons-vue@2.3.1(vue@3.4.10): resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==} peerDependencies: vue: ^3.2.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /@esbuild/aix-ppc64@0.19.11: @@ -1237,20 +1237,20 @@ packages: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false - /@howdyjs/mouse-menu@2.0.9(vue@3.4.7): + /@howdyjs/mouse-menu@2.0.9(vue@3.4.10): resolution: {integrity: sha512-tR+KEOL7dJrG7Uj/KkT60RFiN5AKG893j+ah69c3x4FgQM/rRwI9AMJxeuCNzust+IV5lLnrHFvQii6EQoTtrA==} peerDependencies: vue: '>=3.0.0' dependencies: tslib: 1.14.1 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -1262,8 +1262,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} dev: true /@iconify-icons/ep@1.2.12: @@ -1282,13 +1282,13 @@ packages: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} dev: true - /@iconify/vue@4.1.1(vue@3.4.7): + /@iconify/vue@4.1.1(vue@3.4.10): resolution: {integrity: sha512-RL85Bm/DAe8y6rT6pux7D2FJSiUEM/TPfyK7GrbAOfTSwrhvwJW+S5yijdGcmtXouA8MtuH9C7l4hiSE4mLMjg==} peerDependencies: vue: '>=3' dependencies: '@iconify/types': 2.0.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: true /@intlify/bundle-utils@7.5.0(vue-i18n@9.9.0): @@ -1310,9 +1310,9 @@ packages: estree-walker: 2.0.2 jsonc-eslint-parser: 2.4.0 magic-string: 0.30.5 - mlly: 1.4.2 + mlly: 1.5.0 source-map-js: 1.0.2 - vue-i18n: 9.9.0(vue@3.4.7) + vue-i18n: 9.9.0(vue@3.4.10) yaml-eslint-parser: 1.2.2 dev: true @@ -1352,16 +1352,16 @@ packages: '@intlify/bundle-utils': 7.5.0(vue-i18n@9.9.0) '@intlify/shared': 9.9.0 '@rollup/pluginutils': 5.1.0(rollup@2.79.1) - '@vue/compiler-sfc': 3.4.7 + '@vue/compiler-sfc': 3.4.10 debug: 4.3.4 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.6.0 - vue-i18n: 9.9.0(vue@3.4.7) + vue-i18n: 9.9.0(vue@3.4.10) transitivePeerDependencies: - rollup - supports-color @@ -1400,7 +1400,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -1421,7 +1421,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -1458,7 +1458,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 jest-mock: 27.5.1 dev: false @@ -1468,7 +1468,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.10.8 + '@types/node': 20.11.0 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -1497,7 +1497,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -1581,7 +1581,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.8 + '@types/node': 20.11.0 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: false @@ -1667,8 +1667,8 @@ packages: ignore: 5.3.0 jiti: 1.21.0 knitwork: 1.0.0 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.2.0 semver: 7.5.4 @@ -1691,7 +1691,7 @@ packages: consola: 3.2.3 defu: 6.1.4 hookable: 5.5.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.2.0 std-env: 3.7.0 @@ -1731,9 +1731,9 @@ packages: peerDependencies: element-plus: ^2.0.0 dependencies: - '@element-plus/icons-vue': 2.3.1(vue@3.4.7) - element-plus: 2.5.1(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) + '@element-plus/icons-vue': 2.3.1(vue@3.4.10) + element-plus: 2.5.1(vue@3.4.10) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - typescript dev: false @@ -1743,8 +1743,8 @@ packages: peerDependencies: element-plus: ^2.0.0 dependencies: - element-plus: 2.5.1(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) + element-plus: 2.5.1(vue@3.4.10) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - typescript dev: false @@ -1757,8 +1757,8 @@ packages: string-hash: 1.1.3 dev: true - /@pureadmin/utils@2.3.1(echarts@5.4.3)(vue@3.4.7): - resolution: {integrity: sha512-rg23cFs7y0jJ54TNCIM810ZKLf6G7Hk8h2Lr/D1Uw+ertDxCtIeQYpJ56Vo+I8ibUpVZDBA0qpKiUziUTs//WA==} + /@pureadmin/utils@2.4.0(echarts@5.4.3)(vue@3.4.10): + resolution: {integrity: sha512-Tx6s0tx9QmPVbLErrKYCDubYceZpRpjVDxuiK9EdU1W3H+xashVZOn8cBEozMZ2vef8tWYrQPVqCQMTF+g0KZw==} peerDependencies: echarts: '*' vue: '*' @@ -1769,7 +1769,7 @@ packages: optional: true dependencies: echarts: 5.4.3 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /@rollup/pluginutils@4.2.1: @@ -1979,7 +1979,7 @@ packages: /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /@types/intro.js@5.1.5: @@ -2028,8 +2028,8 @@ packages: resolution: {integrity: sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==} dev: false - /@types/node@20.10.8: - resolution: {integrity: sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==} + /@types/node@20.11.0: + resolution: {integrity: sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==} dependencies: undici-types: 5.26.5 @@ -2048,7 +2048,7 @@ packages: /@types/qrcode@1.5.5: resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: true /@types/qs@6.9.11: @@ -2266,7 +2266,7 @@ packages: nanoid: 3.3.7 dev: false - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.11)(vue@3.4.7): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.11)(vue@3.4.10): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2276,21 +2276,21 @@ packages: '@babel/core': 7.23.7 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.7) - vite: 5.0.11(@types/node@20.10.8)(sass@1.69.7) - vue: 3.4.7(typescript@5.3.3) + vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.3(vite@5.0.11)(vue@3.4.7): + /@vitejs/plugin-vue@5.0.3(vite@5.0.11)(vue@3.4.10): resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.0.11(@types/node@20.10.8)(sass@1.69.7) - vue: 3.4.7(typescript@5.3.3) + vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7) + vue: 3.4.10(typescript@5.3.3) dev: true /@volar/language-core@1.11.1: @@ -2335,39 +2335,39 @@ packages: - supports-color dev: true - /@vue/compiler-core@3.4.7: - resolution: {integrity: sha512-hhCaE3pTMrlIJK7M/o3Xf7HV8+JoNTGOQ/coWS+V+pH6QFFyqtoXqQzpqsNp7UK17xYKua/MBiKj4e1vgZOBYw==} + /@vue/compiler-core@3.4.10: + resolution: {integrity: sha512-53vxh7K9qbx+JILnGEhrFRyr7H7e4NdT8RuTNU3m6HhJKFvcAqFTNXpYMHnyuAzzRGdsbsYHBgQC3H6xEXTG6w==} dependencies: '@babel/parser': 7.23.6 - '@vue/shared': 3.4.7 + '@vue/shared': 3.4.10 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - /@vue/compiler-dom@3.4.7: - resolution: {integrity: sha512-qDKBAIurCTub4n/6jDYkXwgsFuriqqmmLrIq1N2QDfYJA/mwiwvxi09OGn28g+uDdERX9NaKDLji0oTjE3sScg==} + /@vue/compiler-dom@3.4.10: + resolution: {integrity: sha512-QAALBJksIFpXGYuo74rtMgnwpVZDvd3kYbUa4gYX9s/5QiqEvZSgbKtOdUGydXcxKPt3ifC+0/bhPVHXN2694A==} dependencies: - '@vue/compiler-core': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-core': 3.4.10 + '@vue/shared': 3.4.10 - /@vue/compiler-sfc@3.4.7: - resolution: {integrity: sha512-Gec6CLkReVswDYjQFq79O5rktri4R7TsD/VPCiUoJw40JhNNxaNJJa8mrQrWoJluW4ETy6QN0NUyC/JO77OCOw==} + /@vue/compiler-sfc@3.4.10: + resolution: {integrity: sha512-sTOssaQySgrMjrhZxmAqdp6n+E51VteIVIDaOR537H2P63DyzMmig21U0XXFxiXmMIfrK91lAInnc+bIAYemGw==} dependencies: '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.7 - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-ssr': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-core': 3.4.10 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.33 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.7: - resolution: {integrity: sha512-PvYeSOvnCkST5mGS0TLwEn5w+4GavtEn6adcq8AspbHaIr+mId5hp7cG3ASy3iy8b+LuXEG2/QaV/nj5BQ/Aww==} + /@vue/compiler-ssr@3.4.10: + resolution: {integrity: sha512-Y90TL1abretWbUiK5rv+9smS1thCHE5sSuhZgiLh6cxgZ2Pcy3BEvDd3reID0iwNcTdMbTeE6NI3Aq4Mux6hqQ==} dependencies: - '@vue/compiler-dom': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.10 + '@vue/shared': 3.4.10 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -2382,8 +2382,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.10 + '@vue/shared': 3.4.10 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -2392,49 +2392,49 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.7: - resolution: {integrity: sha512-F539DO0ogH0+L8F9Pnw7cjqibcmSOh5UTk16u5f4MKQ8fraqepI9zdh+sozPX6VmEHOcjo8qw3Or9ZcFFw4SZA==} + /@vue/reactivity@3.4.10: + resolution: {integrity: sha512-SmGGpo37LzPcAFTopHNIJRNVOQfma9YgyPkAzx9/TJ01lbCCYigS28hEcY1hjiJ1PRK8iVX62Ov5yzmUgYH/pQ==} dependencies: - '@vue/shared': 3.4.7 + '@vue/shared': 3.4.10 - /@vue/runtime-core@3.4.7: - resolution: {integrity: sha512-QMMsWRQaD3BpGyjjChthpl4Mji4Fjx1qfdufsXlDkKU3HV+hWNor2z+29F+E1MmVcP0ZfRZUfqYgtsQoL7IGwQ==} + /@vue/runtime-core@3.4.10: + resolution: {integrity: sha512-Ri2Cz9sFr66AEUewGUK8IXhIUAhshTHVUGuJR8pqMbtjIds+zPa8QPO5UZImGMQ8HTY7eEpKwztCct9V3+Iqug==} dependencies: - '@vue/reactivity': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/reactivity': 3.4.10 + '@vue/shared': 3.4.10 - /@vue/runtime-dom@3.4.7: - resolution: {integrity: sha512-XwegyUY1rw8zxsX1Z36vwYcqo+uOgih5ti7y9vx+pPFhNdSQmN4LqK2RmSeAJG1oKV8NqSUmjpv92f/x6h0SeQ==} + /@vue/runtime-dom@3.4.10: + resolution: {integrity: sha512-ROsdi5M2niRDmjXJNZ8KKiGwXyG1FO8l9n6sCN0kaJEHbjWkuigu96YAI3fK/AWUZPSXXEcMEBVPC6rL3mmUuA==} dependencies: - '@vue/runtime-core': 3.4.7 - '@vue/shared': 3.4.7 + '@vue/runtime-core': 3.4.10 + '@vue/shared': 3.4.10 csstype: 3.1.3 - /@vue/server-renderer@3.4.7(vue@3.4.7): - resolution: {integrity: sha512-3bWnYLEkLLhkDWqvNk7IvbQD4UcxvFKxELBiOO2iG3m6AniFIsBWfHOO5tLVQnjdWkODu4rq0GipmfEenVAK5Q==} + /@vue/server-renderer@3.4.10(vue@3.4.10): + resolution: {integrity: sha512-WpCBAhesLq44JKWfdFqb+Bi4ACUW0d8x1z90GnE0spccsAlEDMXV5nm+pwXLyW0OdP2iPrO/n/QMJh4B1v9Ciw==} peerDependencies: - vue: 3.4.7 + vue: 3.4.10 dependencies: - '@vue/compiler-ssr': 3.4.7 - '@vue/shared': 3.4.7 - vue: 3.4.7(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 + vue: 3.4.10(typescript@5.3.3) - /@vue/shared@3.4.7: - resolution: {integrity: sha512-G+i4glX1dMJk88sbJEcQEGWRQnVm9eIY7CcQbO5dpdsD9SF8jka3Mr5OqZYGjczGN1+D6EUwdu6phcmcx9iuPA==} + /@vue/shared@3.4.10: + resolution: {integrity: sha512-C0mIVhwW1xQLMFyqMJxnhq6fWyE02lCgcE+TDdtGpg6B3H6kh/0YcqS54qYc76UJNlWegf3VgsLqgk6D9hBmzQ==} - /@vueuse/core@10.7.1(vue@3.4.7): + /@vueuse/core@10.7.1(vue@3.4.10): resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.1 - '@vueuse/shared': 10.7.1(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 10.7.1(vue@3.4.10) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/core@8.9.4(vue@3.4.7): + /@vueuse/core@8.9.4(vue@3.4.10): resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} peerDependencies: '@vue/composition-api': ^1.1.0 @@ -2447,18 +2447,18 @@ packages: dependencies: '@types/web-bluetooth': 0.0.14 '@vueuse/metadata': 8.9.4 - '@vueuse/shared': 8.9.4(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 8.9.4(vue@3.4.10) + vue: 3.4.10(typescript@5.3.3) + vue-demi: 0.14.6(vue@3.4.10) dev: false - /@vueuse/core@9.13.0(vue@3.4.7): + /@vueuse/core@9.13.0(vue@3.4.10): resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0(vue@3.4.7) - vue-demi: 0.14.6(vue@3.4.7) + '@vueuse/shared': 9.13.0(vue@3.4.10) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2476,18 +2476,18 @@ packages: resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} dev: false - /@vueuse/motion@2.0.0(rollup@2.79.1)(vue@3.4.7): + /@vueuse/motion@2.0.0(rollup@2.79.1)(vue@3.4.10): resolution: {integrity: sha512-V3TAlbt1OPmb9DZFoFCz9WC3Oue54t9VHlavSWm+VU1JNimYcd+pc6aGR/hgaHUAU9tOPRHoDTleSrv2zrdIsw==} peerDependencies: vue: '>=3.0.0' dependencies: - '@vueuse/core': 10.7.1(vue@3.4.7) - '@vueuse/shared': 10.7.1(vue@3.4.7) + '@vueuse/core': 10.7.1(vue@3.4.10) + '@vueuse/shared': 10.7.1(vue@3.4.10) csstype: 3.1.3 framesync: 6.1.2 popmotion: 11.0.5 style-value-types: 5.1.2 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) optionalDependencies: '@nuxt/kit': 3.9.1(rollup@2.79.1) transitivePeerDependencies: @@ -2496,16 +2496,16 @@ packages: - supports-color dev: false - /@vueuse/shared@10.7.1(vue@3.4.7): + /@vueuse/shared@10.7.1(vue@3.4.10): resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/shared@8.9.4(vue@3.4.7): + /@vueuse/shared@8.9.4(vue@3.4.10): resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} peerDependencies: '@vue/composition-api': ^1.1.0 @@ -2516,14 +2516,14 @@ packages: vue: optional: true dependencies: - vue: 3.4.7(typescript@5.3.3) - vue-demi: 0.14.6(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-demi: 0.14.6(vue@3.4.10) dev: false - /@vueuse/shared@9.13.0(vue@3.4.7): + /@vueuse/shared@9.13.0(vue@3.4.10): resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} dependencies: - vue-demi: 0.14.6(vue@3.4.7) + vue-demi: 0.14.6(vue@3.4.10) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2603,14 +2603,14 @@ packages: snabbdom: 3.5.1 dev: false - /@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.7): + /@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.10): resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==} peerDependencies: '@wangeditor/editor': '>=5.1.0' vue: ^3.0.5 dependencies: '@wangeditor/editor': 5.1.23 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /@wangeditor/editor@5.1.23: @@ -3064,7 +3064,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001576 - electron-to-chromium: 1.4.626 + electron-to-chromium: 1.4.628 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) @@ -3094,9 +3094,9 @@ packages: dotenv: 16.3.1 giget: 1.2.1 jiti: 1.21.0 - mlly: 1.4.2 + mlly: 1.5.0 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 rc9: 2.1.1 @@ -3412,7 +3412,7 @@ packages: requiresBuild: true dev: false - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.8)(cosmiconfig@8.3.6)(typescript@5.3.3): + /cosmiconfig-typescript-loader@5.0.0(@types/node@20.11.0)(cosmiconfig@8.3.6)(typescript@5.3.3): resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} engines: {node: '>=v16'} peerDependencies: @@ -3420,7 +3420,7 @@ packages: cosmiconfig: '>=8.2' typescript: '>=4' dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 cosmiconfig: 8.3.6(typescript@5.3.3) jiti: 1.21.0 typescript: 5.3.3 @@ -3959,25 +3959,25 @@ packages: resolution: {integrity: sha512-cmMHg4MxrNOV2dFziV3ISRo+rM/3tAH8TE3wWMGKd4ucjvk21Bfb6MJfPuNAicLOkq4fYZm+J+mr0NmDPnvolQ==} dependencies: core-js: 3.35.0 - element-plus: 2.5.1(vue@3.4.7) - vue: 3.4.7(typescript@5.3.3) + element-plus: 2.5.1(vue@3.4.10) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' - typescript dev: false - /electron-to-chromium@1.4.626: - resolution: {integrity: sha512-f7/be56VjRRQk+Ric6PmIrEtPcIqsn3tElyAu9Sh6egha2VLJ82qwkcOdcnT06W+Pb6RUulV1ckzrGbKzVcTHg==} + /electron-to-chromium@1.4.628: + resolution: {integrity: sha512-2k7t5PHvLsufpP6Zwk0nof62yLOsCf032wZx7/q0mv8gwlXjhcxI3lz6f0jBr0GrnWKcm3burXzI3t5IrcdUxw==} - /element-plus@2.1.4(@types/lodash-es@4.17.12)(vue@3.4.7): + /element-plus@2.1.4(@types/lodash-es@4.17.12)(vue@3.4.10): resolution: {integrity: sha512-pcwgDbKUrzyWbixYB/zIbLPLBQ/NPGPJnGXJ+jYozUSthPW4SuriaUGJKgbAE6PDBAtw3IodiT2E2GbiaZLxww==} peerDependencies: vue: ^3.2.0 dependencies: '@ctrl/tinycolor': 3.6.1 - '@element-plus/icons-vue': 1.1.4(vue@3.4.7) + '@element-plus/icons-vue': 1.1.4(vue@3.4.10) '@popperjs/core': 2.11.8 - '@vueuse/core': 8.9.4(vue@3.4.7) + '@vueuse/core': 8.9.4(vue@3.4.10) async-validator: 4.2.5 dayjs: 1.11.10 escape-html: 1.0.3 @@ -3986,24 +3986,24 @@ packages: lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) memoize-one: 6.0.0 normalize-wheel-es: 1.2.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@types/lodash-es' - '@vue/composition-api' dev: false - /element-plus@2.5.1(vue@3.4.7): + /element-plus@2.5.1(vue@3.4.10): resolution: {integrity: sha512-ylX9h2U125/nesPlLWgfPkI1rID9EiGROlgf0QkzBUjx+/d4w/YqS+IqZZZC5yvQPhKYu9aMDqEBzOurwn4Cnw==} peerDependencies: vue: ^3.2.0 dependencies: '@ctrl/tinycolor': 3.6.1 - '@element-plus/icons-vue': 2.3.1(vue@3.4.7) + '@element-plus/icons-vue': 2.3.1(vue@3.4.10) '@floating-ui/dom': 1.5.4 '@popperjs/core': /@sxzz/popperjs-es@2.11.7 '@types/lodash': 4.14.202 '@types/lodash-es': 4.17.12 - '@vueuse/core': 9.13.0(vue@3.4.7) + '@vueuse/core': 9.13.0(vue@3.4.10) async-validator: 4.2.5 dayjs: 1.11.10 escape-html: 1.0.3 @@ -4012,7 +4012,7 @@ packages: lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) memoize-one: 6.0.0 normalize-wheel-es: 1.2.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) transitivePeerDependencies: - '@vue/composition-api' dev: false @@ -4186,8 +4186,8 @@ packages: synckit: 0.8.8 dev: true - /eslint-plugin-vue@9.19.2(eslint@8.56.0): - resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} + /eslint-plugin-vue@9.20.0(eslint@8.56.0): + resolution: {integrity: sha512-9/DV5CM7ItfgWmXjL6j3zyDtVTrslYdnEm+rnYNajdElx17b3erxi/Wc6FY7t3BQ6dgo0t/UBpgiWCOKtJyN8Q==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -4226,7 +4226,7 @@ packages: '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -4622,7 +4622,7 @@ packages: node-fetch-native: 1.6.1 nypm: 0.3.4 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 tar: 6.2.0 dev: false optional: true @@ -5165,7 +5165,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -5290,7 +5290,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -5308,7 +5308,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 jest-mock: 27.5.1 jest-util: 27.5.1 dev: false @@ -5324,7 +5324,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 - '@types/node': 20.10.8 + '@types/node': 20.11.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -5346,7 +5346,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -5401,7 +5401,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 dev: false /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -5457,7 +5457,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -5514,7 +5514,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 graceful-fs: 4.2.11 dev: false @@ -5553,7 +5553,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -5578,7 +5578,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.10.8 + '@types/node': 20.11.0 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -5589,7 +5589,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -5842,7 +5842,7 @@ packages: engines: {node: '>=14'} requiresBuild: true dependencies: - mlly: 1.4.2 + mlly: 1.5.0 pkg-types: 1.0.3 dev: false optional: true @@ -6186,11 +6186,11 @@ packages: dev: false optional: true - /mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + /mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} dependencies: acorn: 8.11.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 @@ -6320,7 +6320,7 @@ packages: dependencies: citty: 0.1.5 execa: 8.0.1 - pathe: 1.1.1 + pathe: 1.1.2 ufo: 1.3.2 dev: false optional: true @@ -6487,8 +6487,8 @@ packages: util: 0.10.4 dev: false - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} /perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} @@ -6514,7 +6514,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /pinia@2.1.7(typescript@5.3.3)(vue@3.4.7): + /pinia@2.1.7(typescript@5.3.3)(vue@3.4.10): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -6528,8 +6528,8 @@ packages: dependencies: '@vue/devtools-api': 6.5.1 typescript: 5.3.3 - vue: 3.4.7(typescript@5.3.3) - vue-demi: 0.14.6(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-demi: 0.14.6(vue@3.4.10) dev: false /pinyin-pro@3.19.0: @@ -6551,8 +6551,8 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 /pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} @@ -6709,8 +6709,8 @@ packages: postcss: 8.4.33 dev: true - /postcss-html@1.5.0: - resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==} + /postcss-html@1.6.0: + resolution: {integrity: sha512-OWgQ9/Pe23MnNJC0PL4uZp8k0EDaUvqpJFSiwFxOLClAhmD7UEisyhO3x5hVsD4xFrjReVTXydlrMes45dJ71w==} engines: {node: ^12 || >=14} dependencies: htmlparser2: 8.0.2 @@ -7953,14 +7953,14 @@ packages: postcss-selector-parser: 6.0.15 dev: true - /stylelint-config-html@1.1.0(postcss-html@1.5.0)(stylelint@16.1.0): + /stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.1.0): resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} engines: {node: ^12 || >=14} peerDependencies: postcss-html: ^1.0.0 stylelint: '>=14.0.0' dependencies: - postcss-html: 1.5.0 + postcss-html: 1.6.0 stylelint: 16.1.0(typescript@5.3.3) dev: true @@ -7990,17 +7990,17 @@ packages: stylelint-scss: 6.0.0(stylelint@16.1.0) dev: true - /stylelint-config-recommended-vue@1.5.0(postcss-html@1.5.0)(stylelint@16.1.0): + /stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.1.0): resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==} engines: {node: ^12 || >=14} peerDependencies: postcss-html: ^1.0.0 stylelint: '>=14.0.0' dependencies: - postcss-html: 1.5.0 + postcss-html: 1.6.0 semver: 7.5.4 stylelint: 16.1.0(typescript@5.3.3) - stylelint-config-html: 1.1.0(postcss-html@1.5.0)(stylelint@16.1.0) + stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.1.0) stylelint-config-recommended: 14.0.0(stylelint@16.1.0) dev: true @@ -8510,8 +8510,8 @@ packages: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.5 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.5.0 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.2.0 strip-literal: 1.3.0 @@ -8594,13 +8594,13 @@ packages: hasBin: true dev: true - /v-contextmenu@3.0.0(vue@3.4.7): + /v-contextmenu@3.0.0(vue@3.4.10): resolution: {integrity: sha512-zi38JxmTt66TmljgV1JbfEa9WvoQkpzRuEwZK7Tjb2XoRejbWLozQtkyTWXJa6x6Y3FrVDfgT36w01gpTpo41A==} engines: {node: '>=10.16.0'} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /v3-infinite-loading@1.3.1: @@ -8649,7 +8649,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 5.0.11(@types/node@20.10.8)(sass@1.69.7) + vite: 5.0.11(@types/node@20.11.0)(sass@1.69.7) transitivePeerDependencies: - supports-color dev: true @@ -8673,16 +8673,16 @@ packages: resolution: {integrity: sha512-jnr7faHJPkKxukBXVpg7Ui1UDqhmxD7xU6JGidq8ivSHTsNAPqzSpPpwW8O1PBP/0+Owq4bLfNNk11drOkz4xA==} dev: true - /vite-svg-loader@5.1.0(vue@3.4.7): + /vite-svg-loader@5.1.0(vue@3.4.10): resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} peerDependencies: vue: '>=3.2.13' dependencies: svgo: 3.2.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: true - /vite@5.0.11(@types/node@20.10.8)(sass@1.69.7): + /vite@5.0.11(@types/node@20.11.0)(sass@1.69.7): resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -8710,7 +8710,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.10.8 + '@types/node': 20.11.0 esbuild: 0.19.11 postcss: 8.4.33 rollup: 4.9.4 @@ -8719,7 +8719,7 @@ packages: fsevents: 2.3.3 dev: true - /vue-demi@0.14.6(vue@3.4.7): + /vue-demi@0.14.6(vue@3.4.10): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -8731,7 +8731,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /vue-eslint-parser@9.4.0(eslint@8.56.0): @@ -8752,7 +8752,7 @@ packages: - supports-color dev: true - /vue-i18n@9.9.0(vue@3.4.7): + /vue-i18n@9.9.0(vue@3.4.10): resolution: {integrity: sha512-xQ5SxszUAqK5n84N+uUyHH/PiQl9xZ24FOxyAaNonmOQgXeN+rD9z/6DStOpOxNFQn4Cgcquot05gZc+CdOujA==} engines: {node: '>= 16'} peerDependencies: @@ -8761,48 +8761,48 @@ packages: '@intlify/core-base': 9.9.0 '@intlify/shared': 9.9.0 '@vue/devtools-api': 6.5.1 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) - /vue-json-pretty@2.3.0(vue@3.4.7): + /vue-json-pretty@2.3.0(vue@3.4.10): resolution: {integrity: sha512-iBul6Xg7vZfMV2MQC/gGtzbyg8FLk6cJ8KG91f37UEkQyXqHg91VQJ24bDBXNVuOSP04BUKxWagD3V2N/WEy0g==} engines: {node: '>= 10.0.0', npm: '>= 5.0.0'} peerDependencies: vue: '>=3.0.0' dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.7): + /vue-observe-visibility@2.0.0-alpha.1(vue@3.4.10): resolution: {integrity: sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue-pdf-embed@1.2.1(vue@3.4.7): + /vue-pdf-embed@1.2.1(vue@3.4.10): resolution: {integrity: sha512-4uUm4wxaEGT9cS1cyuagAmMJjBxfQXWG1MvdGPesD3CiXhhSp4i0VMUCYwhFXtZ5+QqWv4mXbfLJ29Wpt+Qcuw==} peerDependencies: vue: ^2.x || ^3.x dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue-resize@2.0.0-alpha.1(vue@3.4.7): + /vue-resize@2.0.0-alpha.1(vue@3.4.10): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue-router@4.2.5(vue@3.4.7): + /vue-router@4.2.5(vue@3.4.10): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /vue-template-compiler@2.7.16: @@ -8812,13 +8812,13 @@ packages: he: 1.2.0 dev: true - /vue-tippy@6.4.1(vue@3.4.7): + /vue-tippy@6.4.1(vue@3.4.10): resolution: {integrity: sha512-PEAKdioZjUvYWz4euxHFSXKJbL6kIKO29/LtQaCBbnd5Vg0U5kL8iLuqRshB2I31pXPSQS0qJsWx56178eS2QA==} peerDependencies: vue: ^3.2.0 dependencies: tippy.js: 6.3.7 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /vue-tsc@1.8.27(typescript@5.3.3): @@ -8833,7 +8833,7 @@ packages: typescript: 5.3.3 dev: true - /vue-types@5.1.1(vue@3.4.7): + /vue-types@5.1.1(vue@3.4.10): resolution: {integrity: sha512-FMY/JCLWePXgGIcMDqYdJsQm1G0CDxEjq6W0+tZMJZlX37q/61eSGSIa/XFRwa9T7kkKXuxxl94/2kgxyWQqKw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8843,62 +8843,62 @@ packages: optional: true dependencies: is-plain-object: 5.0.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.7): + /vue-virtual-scroller@2.0.0-beta.8(vue@3.4.10): resolution: {integrity: sha512-b8/f5NQ5nIEBRTNi6GcPItE4s7kxNHw2AIHLtDp+2QvqdTjVN0FgONwX9cr53jWRgnu+HRLPaWDOR2JPI5MTfQ==} peerDependencies: vue: ^3.2.0 dependencies: mitt: 2.1.0 - vue: 3.4.7(typescript@5.3.3) - vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.7) - vue-resize: 2.0.0-alpha.1(vue@3.4.7) + vue: 3.4.10(typescript@5.3.3) + vue-observe-visibility: 2.0.0-alpha.1(vue@3.4.10) + vue-resize: 2.0.0-alpha.1(vue@3.4.10) dev: false - /vue-waterfall-plugin-next@2.3.1(@types/lodash-es@4.17.12)(vue@3.4.7): + /vue-waterfall-plugin-next@2.3.1(@types/lodash-es@4.17.12)(vue@3.4.10): resolution: {integrity: sha512-0Wd7s/IgiUo1cezDr+H9FhcIinE/N+BxIhStD+3azlUnyqFyUOXzLC/a1wMFx6RQiYgY3fSAL+PwnVTyLxrHdw==} dependencies: animate.css: 4.1.1 - element-plus: 2.1.4(@types/lodash-es@4.17.12)(vue@3.4.7) - vue-router: 4.2.5(vue@3.4.7) + element-plus: 2.1.4(@types/lodash-es@4.17.12)(vue@3.4.10) + vue-router: 4.2.5(vue@3.4.10) transitivePeerDependencies: - '@types/lodash-es' - '@vue/composition-api' - vue dev: false - /vue3-danmaku@1.6.0(vue@3.4.7): + /vue3-danmaku@1.6.0(vue@3.4.10): resolution: {integrity: sha512-XjwVKIelupDD3PWn6k22l5qS8y+SCdFUYq4sSpcPInqk7CyzXWSAfz2BL6WWx9HU9CRWS3x2oDMkepLkJoWvNQ==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false - /vue@3.4.7(typescript@5.3.3): - resolution: {integrity: sha512-4urmkWpudekq0CPNMO7p6mBGa9qmTXwJMO2r6CT4EzIJVG7WoSReiysiNb7OSi/WI113oX0Srn9Rz1k/DCXKFQ==} + /vue@3.4.10(typescript@5.3.3): + resolution: {integrity: sha512-c+O8qGqdWPF9joTCzMGeDDedViooh6c8RY3+eW5+6GCAIY8YjChmU06LsUu0PnMZbIk1oKUoJTqKzmghYtFypw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.7 - '@vue/compiler-sfc': 3.4.7 - '@vue/runtime-dom': 3.4.7 - '@vue/server-renderer': 3.4.7(vue@3.4.7) - '@vue/shared': 3.4.7 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-sfc': 3.4.10 + '@vue/runtime-dom': 3.4.10 + '@vue/server-renderer': 3.4.10(vue@3.4.10) + '@vue/shared': 3.4.10 typescript: 5.3.3 - /vuedraggable@4.1.0(vue@3.4.7): + /vuedraggable@4.1.0(vue@3.4.10): resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} peerDependencies: vue: ^3.0.1 dependencies: sortablejs: 1.14.0 - vue: 3.4.7(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /w3c-hr-time@1.0.2: @@ -8921,8 +8921,8 @@ packages: makeerror: 1.0.12 dev: false - /wavesurfer.js@7.6.3: - resolution: {integrity: sha512-iZJmJ1Wcq0VywH/gm33M/3QOzez374l7lcFZIe/xJ4nmeN4aorz6q+6aV5B/VN0e1F2E9c3n60F6Ku+qV+EJsA==} + /wavesurfer.js@7.6.4: + resolution: {integrity: sha512-ZpGOHzFeShTD02OoXNSoo9hfHM7awPckNjlRuCbLb9eKcHTJB8tEE+REkNOwJKJ46uo0cT7VeRbMlVvKgzUV/w==} dev: false /webidl-conversions@5.0.0: diff --git a/src/components/ReCropper/src/index.tsx b/src/components/ReCropper/src/index.tsx index bd57e142c..5f03f7081 100644 --- a/src/components/ReCropper/src/index.tsx +++ b/src/components/ReCropper/src/index.tsx @@ -3,9 +3,7 @@ import Cropper from "cropperjs"; import { useTippy } from "vue-tippy"; import { ElUpload } from "element-plus"; import type { CSSProperties } from "vue"; -import { useResizeObserver } from "@vueuse/core"; import { longpress } from "@/directives/longpress"; -import { delay, debounce, isArray, downloadByBase64 } from "@pureadmin/utils"; import { ref, unref, @@ -15,6 +13,13 @@ import { onUnmounted, defineComponent } from "vue"; +import { + delay, + debounce, + isArray, + downloadByBase64, + useResizeObserver +} from "@pureadmin/utils"; import { Reload, Upload, @@ -126,9 +131,7 @@ export default defineComponent({ cropper.value?.destroy(); }); - useResizeObserver(tippyElRef, () => { - handCropper("reset"); - }); + useResizeObserver(tippyElRef, () => handCropper("reset")); async function init() { const imgEl = unref(imgElRef); diff --git a/src/components/ReIcon/src/offlineIcon.ts b/src/components/ReIcon/src/offlineIcon.ts index be3b5c571..9e3cf1ffe 100644 --- a/src/components/ReIcon/src/offlineIcon.ts +++ b/src/components/ReIcon/src/offlineIcon.ts @@ -27,6 +27,8 @@ import Lollipop from "@iconify-icons/ep/lollipop"; import Monitor from "@iconify-icons/ep/monitor"; import Tag from "@iconify-icons/ri/bookmark-2-line"; import Table from "@iconify-icons/ri/table-line"; +import Info from "@iconify-icons/ri/file-info-line"; +import Artboard from "@iconify-icons/ri/artboard-line"; addIcon("ubuntuFill", UbuntuFill); addIcon("menu", Menu); addIcon("edit", Edit); @@ -49,3 +51,5 @@ addIcon("lollipop", Lollipop); addIcon("monitor", Monitor); addIcon("tag", Tag); addIcon("table", Table); +addIcon("info", Info); +addIcon("artboard", Artboard); diff --git a/src/layout/components/navbar.vue b/src/layout/components/navbar.vue index c13b785f6..d1c8782e5 100644 --- a/src/layout/components/navbar.vue +++ b/src/layout/components/navbar.vue @@ -46,7 +46,7 @@ const { t, locale, translationCh, translationEn } = useTranslationLang();
- + diff --git a/src/layout/components/search/components/SearchResult.vue b/src/layout/components/search/components/SearchResult.vue index 22d0d76a7..fd63c1a9c 100644 --- a/src/layout/components/search/components/SearchResult.vue +++ b/src/layout/components/search/components/SearchResult.vue @@ -1,6 +1,6 @@ diff --git a/src/layout/components/sidebar/horizontal.vue b/src/layout/components/sidebar/horizontal.vue index 58836d497..072e0c12e 100644 --- a/src/layout/components/sidebar/horizontal.vue +++ b/src/layout/components/sidebar/horizontal.vue @@ -64,7 +64,7 @@ nextTick(() => {
- + diff --git a/src/layout/components/sidebar/mixNav.vue b/src/layout/components/sidebar/mixNav.vue index 21eb38d1a..17086b684 100644 --- a/src/layout/components/sidebar/mixNav.vue +++ b/src/layout/components/sidebar/mixNav.vue @@ -97,7 +97,7 @@ watch(
- + diff --git a/src/layout/components/tag/index.vue b/src/layout/components/tag/index.vue index 87f6c72ba..66fc7b32d 100644 --- a/src/layout/components/tag/index.vue +++ b/src/layout/components/tag/index.vue @@ -4,12 +4,12 @@ import { emitter } from "@/utils/mitt"; import { RouteConfigs } from "../../types"; import { useTags } from "../../hooks/useTag"; import { routerArrays } from "@/layout/types"; +import { useFullscreen, onClickOutside } from "@vueuse/core"; import { handleAliveRoute, getTopMenu } from "@/router/utils"; import { useSettingStoreHook } from "@/store/modules/settings"; -import { isEqual, isAllEmpty, debounce } from "@pureadmin/utils"; import { useMultiTagsStoreHook } from "@/store/modules/multiTags"; import { ref, watch, unref, toRaw, nextTick, onBeforeUnmount } from "vue"; -import { useResizeObserver, useFullscreen, onClickOutside } from "@vueuse/core"; +import { isEqual, isAllEmpty, useResizeObserver } from "@pureadmin/utils"; import ExitFullscreen from "@iconify-icons/ri/fullscreen-exit-fill"; import Fullscreen from "@iconify-icons/ri/fullscreen-fill"; @@ -503,10 +503,7 @@ onMounted(() => { }); }); - useResizeObserver( - scrollbarDom, - debounce(() => dynamicTagView()) - ); + useResizeObserver(scrollbarDom, dynamicTagView); }); onBeforeUnmount(() => { diff --git a/src/layout/index.vue b/src/layout/index.vue index b18f4fe19..727168b1a 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -4,10 +4,8 @@ import "animate.css"; import "@/components/ReIcon/src/offlineIcon"; import { setType } from "./types"; import { useLayout } from "./hooks/useLayout"; -import { useResizeObserver } from "@vueuse/core"; import { useAppStoreHook } from "@/store/modules/app"; import { useSettingStoreHook } from "@/store/modules/settings"; -import { deviceDetection, useDark, useGlobal } from "@pureadmin/utils"; import { useDataThemeChange } from "@/layout/hooks/useDataThemeChange"; import { h, @@ -18,6 +16,12 @@ import { onBeforeMount, defineComponent } from "vue"; +import { + useDark, + useGlobal, + deviceDetection, + useResizeObserver +} from "@pureadmin/utils"; import navbar from "./components/navbar.vue"; import tag from "./components/tag/index.vue"; @@ -84,7 +88,7 @@ let isAutoCloseSidebar = true; useResizeObserver(appWrapperRef, entries => { if (isMobile) return; const entry = entries[0]; - const { width } = entry.contentRect; + const [{ inlineSize: width }] = entry.borderBoxSize; width <= 760 ? setTheme("vertical") : setTheme(useAppStoreHook().layout); /** width app-wrapper类容器宽度 * 0 < width <= 760 隐藏侧边栏 diff --git a/src/main.ts b/src/main.ts index 55865c7b2..d9b756e05 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,12 @@ import App from "./App.vue"; import router from "./router"; import { setupStore } from "@/store"; -import ElementPlus from "element-plus"; import { useI18n } from "@/plugins/i18n"; import { getPlatformConfig } from "./config"; import { MotionPlugin } from "@vueuse/motion"; import { useEcharts } from "@/plugins/echarts"; import { createApp, type Directive } from "vue"; +import { useElementPlus } from "@/plugins/elementPlus"; import { injectResponsiveStorage } from "@/utils/responsive"; import Table from "@pureadmin/table"; @@ -61,7 +61,7 @@ getPlatformConfig(app).then(async config => { app .use(MotionPlugin) .use(useI18n) - .use(ElementPlus) + .use(useElementPlus) .use(Table) .use(PureDescriptions) .use(useEcharts); diff --git a/src/plugins/echarts/index.ts b/src/plugins/echarts.ts similarity index 100% rename from src/plugins/echarts/index.ts rename to src/plugins/echarts.ts index 131119a3b..cb62d9664 100644 --- a/src/plugins/echarts/index.ts +++ b/src/plugins/echarts.ts @@ -1,7 +1,7 @@ import type { App } from "vue"; import * as echarts from "echarts/core"; -import { CanvasRenderer, SVGRenderer } from "echarts/renderers"; import { PieChart, BarChart, LineChart } from "echarts/charts"; +import { CanvasRenderer, SVGRenderer } from "echarts/renderers"; import { GridComponent, TitleComponent, diff --git a/src/plugins/element-plus/index.ts b/src/plugins/element-plus/index.ts deleted file mode 100644 index 072ae1f67..000000000 --- a/src/plugins/element-plus/index.ts +++ /dev/null @@ -1,141 +0,0 @@ -import type { App, Component } from "vue"; -import { - ElTag, - ElAffix, - ElSkeleton, - ElBreadcrumb, - ElBreadcrumbItem, - ElScrollbar, - ElSubMenu, - ElButton, - ElCol, - ElRow, - ElSpace, - ElDivider, - ElCard, - ElDropdown, - ElDialog, - ElMenu, - ElMenuItem, - ElDropdownItem, - ElDropdownMenu, - ElIcon, - ElInput, - ElForm, - ElFormItem, - ElPopover, - ElPopper, - ElTooltip, - ElDrawer, - ElPagination, - ElAlert, - ElRadio, - ElRadioButton, - ElRadioGroup, - ElDescriptions, - ElDescriptionsItem, - ElBacktop, - ElSwitch, - ElBadge, - ElTabs, - ElTabPane, - ElAvatar, - ElEmpty, - ElCollapse, - ElCollapseItem, - ElTable, - ElTableColumn, - ElLink, - ElColorPicker, - ElSelect, - ElOption, - ElTimeline, - ElTimelineItem, - ElResult, - ElSteps, - ElStep, - ElTree, - ElTreeV2, - ElPopconfirm, - ElCheckbox, - ElCheckboxGroup, - // 指令 - ElLoading, - ElInfiniteScroll -} from "element-plus"; - -// Directives -const plugins = [ElLoading, ElInfiniteScroll]; - -const components = [ - ElTag, - ElAffix, - ElSkeleton, - ElBreadcrumb, - ElBreadcrumbItem, - ElScrollbar, - ElSubMenu, - ElButton, - ElCol, - ElRow, - ElSpace, - ElDivider, - ElCard, - ElDropdown, - ElDialog, - ElMenu, - ElMenuItem, - ElDropdownItem, - ElDropdownMenu, - ElIcon, - ElInput, - ElForm, - ElFormItem, - ElPopover, - ElPopper, - ElTooltip, - ElDrawer, - ElPagination, - ElAlert, - ElRadio, - ElRadioButton, - ElRadioGroup, - ElDescriptions, - ElDescriptionsItem, - ElBacktop, - ElSwitch, - ElBadge, - ElTabs, - ElTabPane, - ElAvatar, - ElEmpty, - ElCollapse, - ElCollapseItem, - ElTree, - ElTreeV2, - ElPopconfirm, - ElCheckbox, - ElCheckboxGroup, - ElTable, - ElTableColumn, - ElLink, - ElColorPicker, - ElSelect, - ElOption, - ElTimeline, - ElTimelineItem, - ElResult, - ElSteps, - ElStep -]; - -export function useElementPlus(app: App) { - // 注册组件 - components.forEach((component: Component) => { - app.component(component.name, component); - }); - // 注册指令 - plugins.forEach(plugin => { - app.use(plugin); - }); -} diff --git a/src/plugins/elementPlus.ts b/src/plugins/elementPlus.ts new file mode 100644 index 000000000..ddc664427 --- /dev/null +++ b/src/plugins/elementPlus.ts @@ -0,0 +1,242 @@ +// 按需引入element-plus(该方法稳定且明确。当然也支持:https://element-plus.org/zh-CN/guide/quickstart.html#%E6%8C%89%E9%9C%80%E5%AF%BC%E5%85%A5) +import type { App, Component } from "vue"; +import { + /** + * 为了方便演示平台将 element-plus 导出的所有组件引入,实际使用中如果你没用到哪个组件,将其注释掉就行 + * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/component.ts#L111-L211 + * */ + ElAffix, + ElAlert, + ElAutocomplete, + ElAutoResizer, + ElAvatar, + ElBacktop, + ElBadge, + ElBreadcrumb, + ElBreadcrumbItem, + ElButton, + ElButtonGroup, + ElCalendar, + ElCard, + ElCarousel, + ElCarouselItem, + ElCascader, + ElCascaderPanel, + ElCheckTag, + ElCheckbox, + ElCheckboxButton, + ElCheckboxGroup, + ElCol, + ElCollapse, + ElCollapseItem, + ElCollapseTransition, + ElColorPicker, + ElConfigProvider, + ElContainer, + ElAside, + ElFooter, + ElHeader, + ElMain, + ElDatePicker, + ElDescriptions, + ElDescriptionsItem, + ElDialog, + ElDivider, + ElDrawer, + ElDropdown, + ElDropdownItem, + ElDropdownMenu, + ElEmpty, + ElForm, + ElFormItem, + ElIcon, + ElImage, + ElImageViewer, + ElInput, + ElInputNumber, + ElLink, + ElMenu, + ElMenuItem, + ElMenuItemGroup, + ElSubMenu, + ElPageHeader, + ElPagination, + ElPopconfirm, + ElPopover, + ElPopper, + ElProgress, + ElRadio, + ElRadioButton, + ElRadioGroup, + ElRate, + ElResult, + ElRow, + ElScrollbar, + ElSelect, + ElOption, + ElOptionGroup, + ElSelectV2, + ElSkeleton, + ElSkeletonItem, + ElSlider, + ElSpace, + ElStatistic, + ElCountdown, + ElSteps, + ElStep, + ElSwitch, + ElTable, + ElTableColumn, + ElTableV2, + ElTabs, + ElTabPane, + ElTag, + ElText, + ElTimePicker, + ElTimeSelect, + ElTimeline, + ElTimelineItem, + ElTooltip, + ElTransfer, + ElTree, + ElTreeSelect, + ElTreeV2, + ElUpload, + ElWatermark, + ElTour, + ElTourStep, + /** + * 为了方便演示平台将 element-plus 导出的所有插件引入,实际使用中如果你没用到哪个插件,将其注释掉就行 + * 导出来源:https://github.com/element-plus/element-plus/blob/dev/packages/element-plus/plugin.ts#L11-L16 + * */ + ElLoading, // v-loading 指令 + ElInfiniteScroll, // v-infinite-scroll 指令 + ElPopoverDirective, // v-popover 指令 + ElMessage, // $message 全局属性对象globalProperties + ElMessageBox, // $msgbox、$alert、$confirm、$prompt 全局属性对象globalProperties + ElNotification // $notify 全局属性对象globalProperties +} from "element-plus"; + +const components = [ + ElAffix, + ElAlert, + ElAutocomplete, + ElAutoResizer, + ElAvatar, + ElBacktop, + ElBadge, + ElBreadcrumb, + ElBreadcrumbItem, + ElButton, + ElButtonGroup, + ElCalendar, + ElCard, + ElCarousel, + ElCarouselItem, + ElCascader, + ElCascaderPanel, + ElCheckTag, + ElCheckbox, + ElCheckboxButton, + ElCheckboxGroup, + ElCol, + ElCollapse, + ElCollapseItem, + ElCollapseTransition, + ElColorPicker, + ElConfigProvider, + ElContainer, + ElAside, + ElFooter, + ElHeader, + ElMain, + ElDatePicker, + ElDescriptions, + ElDescriptionsItem, + ElDialog, + ElDivider, + ElDrawer, + ElDropdown, + ElDropdownItem, + ElDropdownMenu, + ElEmpty, + ElForm, + ElFormItem, + ElIcon, + ElImage, + ElImageViewer, + ElInput, + ElInputNumber, + ElLink, + ElMenu, + ElMenuItem, + ElMenuItemGroup, + ElSubMenu, + ElPageHeader, + ElPagination, + ElPopconfirm, + ElPopover, + ElPopper, + ElProgress, + ElRadio, + ElRadioButton, + ElRadioGroup, + ElRate, + ElResult, + ElRow, + ElScrollbar, + ElSelect, + ElOption, + ElOptionGroup, + ElSelectV2, + ElSkeleton, + ElSkeletonItem, + ElSlider, + ElSpace, + ElStatistic, + ElCountdown, + ElSteps, + ElStep, + ElSwitch, + ElTable, + ElTableColumn, + ElTableV2, + ElTabs, + ElTabPane, + ElTag, + ElText, + ElTimePicker, + ElTimeSelect, + ElTimeline, + ElTimelineItem, + ElTooltip, + ElTransfer, + ElTree, + ElTreeSelect, + ElTreeV2, + ElUpload, + ElWatermark, + ElTour, + ElTourStep +]; + +const plugins = [ + ElLoading, + ElInfiniteScroll, + ElPopoverDirective, + ElMessage, + ElMessageBox, + ElNotification +]; + +/** 按需引入`element-plus` */ +export function useElementPlus(app: App) { + // 全局注册组件 + components.forEach((component: Component) => { + app.component(component.name, component); + }); + // 全局注册插件 + plugins.forEach(plugin => { + app.use(plugin); + }); +} diff --git a/src/router/enums.ts b/src/router/enums.ts index 25b32bfb3..17def4030 100644 --- a/src/router/enums.ts +++ b/src/router/enums.ts @@ -12,13 +12,14 @@ const home = 0, // 平台规定只有 home 路由的 rank 才能为 0 ,所以 permission = 9, system = 10, tabs = 11, - formdesign = 12, - flowchart = 13, - ppt = 14, - editor = 15, - guide = 16, - about = 17, - menuoverflow = 18; + about = 12, + editor = 13, + flowchart = 14, + formdesign = 15, + board = 16, + ppt = 17, + guide = 18, + menuoverflow = 19; export { home, @@ -33,11 +34,12 @@ export { permission, system, tabs, - formdesign, - flowchart, - ppt, - editor, - guide, about, + editor, + flowchart, + formdesign, + board, + ppt, + guide, menuoverflow }; diff --git a/src/router/modules/about.ts b/src/router/modules/about.ts index f4fef7b4d..0ef9cb6cc 100644 --- a/src/router/modules/about.ts +++ b/src/router/modules/about.ts @@ -5,6 +5,7 @@ export default { path: "/about", redirect: "/about/index", meta: { + icon: "info", title: $t("menus.hsAbout"), rank: about }, diff --git a/src/router/modules/board.ts b/src/router/modules/board.ts new file mode 100644 index 000000000..6e9378e6b --- /dev/null +++ b/src/router/modules/board.ts @@ -0,0 +1,25 @@ +import { $t } from "@/plugins/i18n"; +import { board } from "@/router/enums"; +const IFrame = () => import("@/layout/frameView.vue"); + +export default { + path: "/board", + redirect: "/board/index", + meta: { + icon: "artboard", + title: $t("menus.hsboard"), + rank: board + }, + children: [ + { + path: "/board/index", + name: "FrameBoard", + component: IFrame, + meta: { + title: $t("menus.hsboard"), + frameSrc: "https://songlh.top/paint-board/", + extraIcon: "IF-pure-iconfont-new svg" + } + } + ] +} satisfies RouteConfigsTable; diff --git a/src/router/modules/formdesign.ts b/src/router/modules/formdesign.ts index 9bd1b9e62..1aaf7f90b 100644 --- a/src/router/modules/formdesign.ts +++ b/src/router/modules/formdesign.ts @@ -18,7 +18,8 @@ export default { meta: { title: $t("menus.hsFormDesign"), frameSrc: - "https://haixin-fang.github.io/starfish-vue3-lowcode/playground/index.html#/" + "https://haixin-fang.github.io/vue-form-design/playground/index.html", + frameLoading: false } } ] diff --git a/src/style/element-plus.scss b/src/style/element-plus.scss index 4a07d680c..a55b664aa 100644 --- a/src/style/element-plus.scss +++ b/src/style/element-plus.scss @@ -156,6 +156,18 @@ /* 自定义菜单搜索样式 */ .pure-search-dialog { + @media screen and (width > 760px) and (width <= 940px) { + .el-input__inner { + font-size: 12px; + } + } + + @media screen and (width <= 470px) { + .el-input__inner { + font-size: 12px; + } + } + .el-dialog__header { display: none; } diff --git a/src/views/able/watermark.vue b/src/views/able/watermark.vue index 66a5fc663..5d2e8072b 100644 --- a/src/views/able/watermark.vue +++ b/src/views/able/watermark.vue @@ -36,7 +36,7 @@ onBeforeUnmount(() => { - + 拥有code:'btn_add' 权限可见 - + 拥有code:['btn_edit'] 权限可见 - + 拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见 @@ -38,16 +38,15 @@ defineOptions({
函数方式判断权限
- + 拥有code:'btn_add' 权限可见 - + 拥有code:['btn_edit'] 权限可见 拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见 @@ -62,16 +61,15 @@ defineOptions({
- + 拥有code:'btn_add' 权限可见 - + 拥有code:['btn_edit'] 权限可见 拥有code:['btn_add', 'btn_edit', 'btn_delete'] 权限可见 diff --git a/types/global-components.d.ts b/types/global-components.d.ts index 54638a4a5..4ae804fe4 100644 --- a/types/global-components.d.ts +++ b/types/global-components.d.ts @@ -111,6 +111,8 @@ declare module "vue" { ElResult: (typeof import("element-plus"))["ElResult"]; ElSelectV2: (typeof import("element-plus"))["ElSelectV2"]; ElWatermark: (typeof import("element-plus"))["ElWatermark"]; + ElTour: (typeof import("element-plus"))["ElTour"]; + ElTourStep: (typeof import("element-plus"))["ElTourStep"]; } interface ComponentCustomProperties { diff --git a/types/global.d.ts b/types/global.d.ts index bdc8e0e6e..76e70dcd6 100644 --- a/types/global.d.ts +++ b/types/global.d.ts @@ -6,12 +6,16 @@ import type { TableColumns } from "@pureadmin/table"; */ declare global { /** - * 平台的名称、版本、依赖、最后构建时间的类型提示 + * 平台的名称、版本、运行所需的`node`和`pnpm`版本、依赖、最后构建时间的类型提示 */ const __APP_INFO__: { pkg: { name: string; version: string; + engines: { + node: string; + pnpm: string; + }; dependencies: Recordable; devDependencies: Recordable; };