diff --git a/CHANGELOG.md b/CHANGELOG.md index b58e80b8..ddbd97a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # CHANGE LOG +## 4.8.7 + +## Feats + +- 更新 `vite` 版本至 `5.2.12` +- 更新 `vue` 版本至 `3.4.27` +- 更新 `vue-hooks-plus` 版本至 `2.2.0` +- 更新 `@types/lodash-es` 版本至 `4.17.12` +- `FetchFunction` 移除,使用 `AxiosResponseInterceptor`, `AxiosRequestInterceptor` 替代插件类型推导 +- `echarts macarons theme` 优化 +- `RChart` 组件的默认 `loading` 效果支持自动跟随主题切换 +- `SIDE_BAR_LOGO` 更名为 `SIDE_BAR_LOGO_DEFAULT`,现在支持在 `setting store` 中动态更新,以满足更广泛的需求 + +## Fixes + +- 修复 `primaryColorOverride` 配置项不生效问题 +- 修复面包屑在 `sameLevel` 的情况下,可能会被覆盖问题 + ## 4.8.6 ## Fixes diff --git a/package.json b/package.json index 30b5510a..2ac07b76 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ray-template", "private": false, - "version": "4.8.6", + "version": "4.8.7", "type": "module", "engines": { "node": "^18.0.0 || >=20.0.0", @@ -48,9 +48,9 @@ "pinia": "^2.1.7", "pinia-plugin-persistedstate": "^3.2.0", "print-js": "^1.6.0", - "vue": "^3.4.26", + "vue": "^3.4.27", "vue-demi": "0.14.6", - "vue-hooks-plus": "2.1.0", + "vue-hooks-plus": "2.2.0", "vue-i18n": "^9.13.1", "vue-router": "^4.3.2", "vue3-next-qrcode": "2.0.10" @@ -63,7 +63,7 @@ "@types/crypto-js": "^4.1.1", "@types/dom-to-image": "2.6.7", "@types/jsbarcode": "3.11.4", - "@types/lodash-es": "^4.17.11", + "@types/lodash-es": "^4.17.12", "@types/mockjs": "1.0.7", "@typescript-eslint/eslint-plugin": "^6.5.0", "@typescript-eslint/parser": "^6.5.0", @@ -92,7 +92,7 @@ "typescript": "^5.2.2", "unplugin-auto-import": "^0.17.5", "unplugin-vue-components": "^0.26.0", - "vite": "^5.2.11", + "vite": "^5.2.12", "vite-bundle-analyzer": "0.9.4", "vite-plugin-cdn2": "1.1.0", "vite-plugin-compression": "^0.5.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86895a21..943f8e70 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@vueuse/core': specifier: ^10.9.0 - version: 10.9.0(vue@3.4.26) + version: 10.9.0(vue@3.4.27) axios: specifier: ^1.6.7 version: 1.6.8 @@ -40,10 +40,10 @@ dependencies: version: 1.1.0 naive-ui: specifier: ^2.38.2 - version: 2.38.2(vue@3.4.26) + version: 2.38.2(vue@3.4.27) pinia: specifier: ^2.1.7 - version: 2.1.7(typescript@5.2.2)(vue@3.4.26) + version: 2.1.7(typescript@5.2.2)(vue@3.4.27) pinia-plugin-persistedstate: specifier: ^3.2.0 version: 3.2.1(pinia@2.1.7) @@ -51,20 +51,20 @@ dependencies: specifier: ^1.6.0 version: 1.6.0 vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) vue-demi: specifier: 0.14.6 - version: 0.14.6(vue@3.4.26) + version: 0.14.6(vue@3.4.27) vue-hooks-plus: - specifier: 2.1.0 - version: 2.1.0(vue@3.4.26) + specifier: 2.2.0 + version: 2.2.0(vue@3.4.27) vue-i18n: specifier: ^9.13.1 - version: 9.13.1(vue@3.4.26) + version: 9.13.1(vue@3.4.27) vue-router: specifier: ^4.3.2 - version: 4.3.2(vue@3.4.26) + version: 4.3.2(vue@3.4.27) vue3-next-qrcode: specifier: 2.0.10 version: 2.0.10(typescript@5.2.2) @@ -92,7 +92,7 @@ devDependencies: specifier: 3.11.4 version: 3.11.4 '@types/lodash-es': - specifier: ^4.17.11 + specifier: ^4.17.12 version: 4.17.12 '@types/mockjs': specifier: 1.0.7 @@ -105,10 +105,10 @@ devDependencies: version: 6.21.0(eslint@8.57.0)(typescript@5.2.2) '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.2.11)(vue@3.4.26) + version: 5.0.4(vite@5.2.12)(vue@3.4.27) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.2.11)(vue@3.4.26) + version: 3.1.0(vite@5.2.12)(vue@3.4.27) '@vitest/ui': specifier: 1.4.0 version: 1.4.0(vitest@1.5.2) @@ -120,7 +120,7 @@ devDependencies: version: 12.0.0(eslint-plugin-vue@9.25.0)(eslint@8.57.0)(typescript@5.2.2) '@vue/test-utils': specifier: 2.4.3 - version: 2.4.3(vue@3.4.26) + version: 2.4.3(vue@3.4.27) autoprefixer: specifier: ^10.4.15 version: 10.4.16(postcss@8.4.38) @@ -177,10 +177,10 @@ devDependencies: version: 0.17.5(@vueuse/core@10.9.0) unplugin-vue-components: specifier: ^0.26.0 - version: 0.26.0(vue@3.4.26) + version: 0.26.0(vue@3.4.27) vite: - specifier: ^5.2.11 - version: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + specifier: ^5.2.12 + version: 5.2.12(@types/node@20.5.1)(sass@1.71.1) vite-bundle-analyzer: specifier: 0.9.4 version: 0.9.4 @@ -189,31 +189,31 @@ devDependencies: version: 1.1.0 vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@5.2.11) + version: 0.5.1(vite@5.2.12) vite-plugin-ejs: specifier: ^1.7.0 - version: 1.7.0(vite@5.2.11) + version: 1.7.0(vite@5.2.12) vite-plugin-eslint: specifier: 1.8.1 - version: 1.8.1(eslint@8.57.0)(vite@5.2.11) + version: 1.8.1(eslint@8.57.0)(vite@5.2.12) vite-plugin-imp: specifier: ^2.4.0 - version: 2.4.0(vite@5.2.11) + version: 2.4.0(vite@5.2.12) vite-plugin-inspect: specifier: ^0.8.3 - version: 0.8.3(vite@5.2.11) + version: 0.8.3(vite@5.2.12) vite-plugin-mock-dev-server: specifier: 1.4.7 - version: 1.4.7(vite@5.2.11) + version: 1.4.7(vite@5.2.12) vite-plugin-svg-icons: specifier: ^2.0.1 - version: 2.0.1(vite@5.2.11) + version: 2.0.1(vite@5.2.12) vite-svg-loader: specifier: ^4.0.0 version: 4.0.0 vite-tsconfig-paths: specifier: 4.3.2 - version: 4.3.2(typescript@5.2.2)(vite@5.2.11) + version: 4.3.2(typescript@5.2.2)(vite@5.2.12) vitest: specifier: 1.5.2 version: 1.5.2(@types/node@20.5.1)(@vitest/ui@1.4.0)(happy-dom@14.3.1)(sass@1.71.1) @@ -743,12 +743,12 @@ packages: css-render: 0.15.12 dev: false - /@css-render/vue3-ssr@0.15.12(vue@3.4.26): + /@css-render/vue3-ssr@0.15.12(vue@3.4.27): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 dependencies: - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /@emotion/hash@0.8.0: @@ -1254,7 +1254,7 @@ packages: jsonc-eslint-parser: 2.4.0 mlly: 1.6.1 source-map-js: 1.2.0 - vue-i18n: 9.13.1(vue@3.4.26) + vue-i18n: 9.13.1(vue@3.4.27) yaml-eslint-parser: 1.2.2 dev: true @@ -1303,7 +1303,7 @@ packages: picocolors: 1.0.1 source-map-js: 1.2.0 unplugin: 1.10.1 - vue-i18n: 9.13.1(vue@3.4.26) + vue-i18n: 9.13.1(vue@3.4.27) transitivePeerDependencies: - rollup - supports-color @@ -1437,128 +1437,128 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/rollup-android-arm-eabi@4.14.3: - resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} + /@rollup/rollup-android-arm-eabi@4.17.2: + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.14.3: - resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} + /@rollup/rollup-android-arm64@4.17.2: + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.14.3: - resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} + /@rollup/rollup-darwin-arm64@4.17.2: + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.14.3: - resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} + /@rollup/rollup-darwin-x64@4.17.2: + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.3: - resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} + /@rollup/rollup-linux-arm-gnueabihf@4.17.2: + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-musleabihf@4.14.3: - resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} + /@rollup/rollup-linux-arm-musleabihf@4.17.2: + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.3: - resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} + /@rollup/rollup-linux-arm64-gnu@4.17.2: + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.3: - resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} + /@rollup/rollup-linux-arm64-musl@4.17.2: + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.3: - resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} + /@rollup/rollup-linux-powerpc64le-gnu@4.17.2: + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.14.3: - resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} + /@rollup/rollup-linux-riscv64-gnu@4.17.2: + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.3: - resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} + /@rollup/rollup-linux-s390x-gnu@4.17.2: + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.14.3: - resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} + /@rollup/rollup-linux-x64-gnu@4.17.2: + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.3: - resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + /@rollup/rollup-linux-x64-musl@4.17.2: + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.3: - resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} + /@rollup/rollup-win32-arm64-msvc@4.17.2: + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.3: - resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} + /@rollup/rollup-win32-ia32-msvc@4.17.2: + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.3: - resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} + /@rollup/rollup-win32-x64-msvc@4.17.2: + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] requiresBuild: true @@ -1634,10 +1634,14 @@ packages: /@types/lodash-es@4.17.12: resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: - '@types/lodash': 4.17.0 + '@types/lodash': 4.17.1 /@types/lodash@4.17.0: resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + dev: false + + /@types/lodash@4.17.1: + resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -1818,7 +1822,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11)(vue@3.4.26): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.12)(vue@3.4.27): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1828,21 +1832,21 @@ packages: '@babel/core': 7.24.1 '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.1) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.1) - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) - vue: 3.4.26(typescript@5.2.2) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.11)(vue@3.4.26): + /@vitejs/plugin-vue@5.0.4(vite@5.2.12)(vue@3.4.27): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) - vue: 3.4.26(typescript@5.2.2) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) + vue: 3.4.27(typescript@5.2.2) dev: true /@vitest/expect@1.5.2: @@ -1978,15 +1982,6 @@ packages: source-map-js: 1.2.0 dev: true - /@vue/compiler-core@3.4.26: - resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} - dependencies: - '@babel/parser': 7.24.5 - '@vue/shared': 3.4.26 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - /@vue/compiler-core@3.4.27: resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} dependencies: @@ -1995,7 +1990,6 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - dev: true /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} @@ -2004,18 +1998,11 @@ packages: '@vue/shared': 3.4.21 dev: true - /@vue/compiler-dom@3.4.26: - resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} - dependencies: - '@vue/compiler-core': 3.4.26 - '@vue/shared': 3.4.26 - /@vue/compiler-dom@3.4.27: resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} dependencies: '@vue/compiler-core': 3.4.27 '@vue/shared': 3.4.27 - dev: true /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} @@ -2031,19 +2018,6 @@ packages: source-map-js: 1.2.0 dev: true - /@vue/compiler-sfc@3.4.26: - resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} - dependencies: - '@babel/parser': 7.24.5 - '@vue/compiler-core': 3.4.26 - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 - estree-walker: 2.0.2 - magic-string: 0.30.10 - postcss: 8.4.38 - source-map-js: 1.2.0 - /@vue/compiler-sfc@3.4.27: resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} dependencies: @@ -2056,7 +2030,6 @@ packages: magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - dev: true /@vue/compiler-ssr@3.4.21: resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} @@ -2065,18 +2038,11 @@ packages: '@vue/shared': 3.4.21 dev: true - /@vue/compiler-ssr@3.4.26: - resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} - dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/shared': 3.4.26 - /@vue/compiler-ssr@3.4.27: resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} dependencies: '@vue/compiler-dom': 3.4.27 '@vue/shared': 3.4.27 - dev: true /@vue/devtools-api@6.6.1: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} @@ -2134,45 +2100,41 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.26: - resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} + /@vue/reactivity@3.4.27: + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} dependencies: - '@vue/shared': 3.4.26 + '@vue/shared': 3.4.27 - /@vue/runtime-core@3.4.26: - resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} + /@vue/runtime-core@3.4.27: + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} dependencies: - '@vue/reactivity': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/reactivity': 3.4.27 + '@vue/shared': 3.4.27 - /@vue/runtime-dom@3.4.26: - resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} + /@vue/runtime-dom@3.4.27: + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} dependencies: - '@vue/runtime-core': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/runtime-core': 3.4.27 + '@vue/shared': 3.4.27 csstype: 3.1.3 - /@vue/server-renderer@3.4.26(vue@3.4.26): - resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} + /@vue/server-renderer@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 dependencies: - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 - vue: 3.4.26(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + vue: 3.4.27(typescript@5.2.2) /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} dev: true - /@vue/shared@3.4.26: - resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} - /@vue/shared@3.4.27: resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - dev: true - /@vue/test-utils@2.4.3(vue@3.4.26): + /@vue/test-utils@2.4.3(vue@3.4.27): resolution: {integrity: sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==} peerDependencies: '@vue/server-renderer': ^3.0.1 @@ -2182,17 +2144,17 @@ packages: optional: true dependencies: js-beautify: 1.14.11 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) vue-component-type-helpers: 1.8.26 dev: true - /@vueuse/core@10.9.0(vue@3.4.26): + /@vueuse/core@10.9.0(vue@3.4.27): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.26) - vue-demi: 0.14.7(vue@3.4.26) + '@vueuse/shared': 10.9.0(vue@3.4.27) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2200,10 +2162,10 @@ packages: /@vueuse/metadata@10.9.0: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} - /@vueuse/shared@10.9.0(vue@3.4.26): + /@vueuse/shared@10.9.0(vue@3.4.27): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5768,13 +5730,13 @@ packages: minimatch: 3.1.2 dev: true - /naive-ui@2.38.2(vue@3.4.26): + /naive-ui@2.38.2(vue@3.4.27): resolution: {integrity: sha512-WhZ+6DW61aYSmFyfH7evcSGFmd2xR68Yq1mNRrVdJwBhZsnNdAUsMN9IeNCVEPMCND/jzYZghkStoNoR5Xa09g==} peerDependencies: vue: ^3.0.0 dependencies: '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.4.26) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.27) '@types/katex': 0.16.7 '@types/lodash': 4.17.0 '@types/lodash-es': 4.17.12 @@ -5789,10 +5751,10 @@ packages: lodash-es: 4.17.21 seemly: 0.3.8 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.4.26) - vooks: 0.2.12(vue@3.4.26) - vue: 3.4.26(typescript@5.2.2) - vueuc: 0.4.58(vue@3.4.26) + vdirs: 0.1.8(vue@3.4.27) + vooks: 0.2.12(vue@3.4.27) + vue: 3.4.27(typescript@5.2.2) + vueuc: 0.4.58(vue@3.4.27) dev: false /nanoid@3.3.7: @@ -6172,10 +6134,10 @@ packages: peerDependencies: pinia: ^2.0.0 dependencies: - pinia: 2.1.7(typescript@5.2.2)(vue@3.4.26) + pinia: 2.1.7(typescript@5.2.2)(vue@3.4.27) dev: false - /pinia@2.1.7(typescript@5.2.2)(vue@3.4.26): + /pinia@2.1.7(typescript@5.2.2)(vue@3.4.27): resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} peerDependencies: '@vue/composition-api': ^1.4.0 @@ -6189,8 +6151,8 @@ packages: dependencies: '@vue/devtools-api': 6.6.1 typescript: 5.2.2 - vue: 3.4.26(typescript@5.2.2) - vue-demi: 0.14.6(vue@3.4.26) + vue: 3.4.27(typescript@5.2.2) + vue-demi: 0.14.6(vue@3.4.27) dev: false /pkg-types@1.0.3: @@ -6564,29 +6526,29 @@ packages: fsevents: 2.3.3 dev: true - /rollup@4.14.3: - resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} + /rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.3 - '@rollup/rollup-android-arm64': 4.14.3 - '@rollup/rollup-darwin-arm64': 4.14.3 - '@rollup/rollup-darwin-x64': 4.14.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 - '@rollup/rollup-linux-arm-musleabihf': 4.14.3 - '@rollup/rollup-linux-arm64-gnu': 4.14.3 - '@rollup/rollup-linux-arm64-musl': 4.14.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 - '@rollup/rollup-linux-riscv64-gnu': 4.14.3 - '@rollup/rollup-linux-s390x-gnu': 4.14.3 - '@rollup/rollup-linux-x64-gnu': 4.14.3 - '@rollup/rollup-linux-x64-musl': 4.14.3 - '@rollup/rollup-win32-arm64-msvc': 4.14.3 - '@rollup/rollup-win32-ia32-msvc': 4.14.3 - '@rollup/rollup-win32-x64-msvc': 4.14.3 + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 dev: true @@ -7548,7 +7510,7 @@ packages: dependencies: '@antfu/utils': 0.7.7 '@rollup/pluginutils': 5.1.0 - '@vueuse/core': 10.9.0(vue@3.4.26) + '@vueuse/core': 10.9.0(vue@3.4.27) fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.8 @@ -7559,7 +7521,7 @@ packages: - rollup dev: true - /unplugin-vue-components@0.26.0(vue@3.4.26): + /unplugin-vue-components@0.26.0(vue@3.4.27): resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} engines: {node: '>=14'} peerDependencies: @@ -7582,7 +7544,7 @@ packages: minimatch: 9.0.3 resolve: 1.22.8 unplugin: 1.10.0 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - rollup - supports-color @@ -7669,13 +7631,13 @@ packages: engines: {node: '>= 0.8'} dev: true - /vdirs@0.1.8(vue@3.4.26): + /vdirs@0.1.8(vue@3.4.27): resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /vite-bundle-analyzer@0.9.4: @@ -7694,7 +7656,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - '@types/node' - less @@ -7720,7 +7682,7 @@ packages: - supports-color dev: true - /vite-plugin-compression@0.5.1(vite@5.2.11): + /vite-plugin-compression@0.5.1(vite@5.2.12): resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} peerDependencies: vite: '>=2.0.0' @@ -7728,21 +7690,21 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-ejs@1.7.0(vite@5.2.11): + /vite-plugin-ejs@1.7.0(vite@5.2.12): resolution: {integrity: sha512-JNP3zQDC4mSbfoJ3G73s5mmZITD8NGjUmLkq4swxyahy/W0xuokK9U9IJGXw7KCggq6UucT6hJ0p+tQrNtqTZw==} peerDependencies: vite: '>=5.0.0' dependencies: ejs: 3.1.9 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) dev: true - /vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.2.11): + /vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.2.12): resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} peerDependencies: eslint: '>=7' @@ -7752,10 +7714,10 @@ packages: '@types/eslint': 8.56.6 eslint: 8.57.0 rollup: 2.79.1 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) dev: true - /vite-plugin-imp@2.4.0(vite@5.2.11): + /vite-plugin-imp@2.4.0(vite@5.2.12): resolution: {integrity: sha512-L/6/nvOw+MyNh4UxAlCZHsmKd5MitmHamqqAWB15sbUgVIEz/OQ8jpKr6kkQU0eA/AIe8fkCVbQBlP81ajrqWg==} peerDependencies: vite: '>= 2.0.0-beta.5' @@ -7767,12 +7729,12 @@ packages: chalk: 4.1.2 param-case: 3.0.4 pascal-case: 3.1.2 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - supports-color dev: true - /vite-plugin-inspect@0.8.3(vite@5.2.11): + /vite-plugin-inspect@0.8.3(vite@5.2.12): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -7791,13 +7753,13 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - rollup - supports-color dev: true - /vite-plugin-mock-dev-server@1.4.7(vite@5.2.11): + /vite-plugin-mock-dev-server@1.4.7(vite@5.2.12): resolution: {integrity: sha512-vGNW423fkmMibf0BfYL89n2n4tNKDt51d6Ee14gC1LlLiJAp6jabJBPsjWgU+uMgtp68+1uBb5F1qTlqdAhnoQ==} engines: {node: ^16 || ^18 || >= 20} peerDependencies: @@ -7819,7 +7781,7 @@ packages: mime-types: 2.1.35 path-to-regexp: 6.2.1 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -7828,7 +7790,7 @@ packages: - utf-8-validate dev: true - /vite-plugin-svg-icons@2.0.1(vite@5.2.11): + /vite-plugin-svg-icons@2.0.1(vite@5.2.12): resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} peerDependencies: vite: '>=2.0.0' @@ -7841,7 +7803,7 @@ packages: pathe: 0.2.0 svg-baker: 1.7.0 svgo: 2.8.0 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - supports-color dev: true @@ -7853,7 +7815,7 @@ packages: svgo: 3.1.0 dev: true - /vite-tsconfig-paths@4.3.2(typescript@5.2.2)(vite@5.2.11): + /vite-tsconfig-paths@4.3.2(typescript@5.2.2)(vite@5.2.12): resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==} peerDependencies: vite: '*' @@ -7864,14 +7826,14 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 3.0.3(typescript@5.2.2) - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@5.2.11(@types/node@20.5.1)(sass@1.71.1): - resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + /vite@5.2.12(@types/node@20.5.1)(sass@1.71.1): + resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -7901,7 +7863,7 @@ packages: '@types/node': 20.5.1 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.14.3 + rollup: 4.17.2 sass: 1.71.1 optionalDependencies: fsevents: 2.3.3 @@ -7952,7 +7914,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.5.1)(sass@1.71.1) + vite: 5.2.12(@types/node@20.5.1)(sass@1.71.1) vite-node: 1.5.2(@types/node@20.5.1)(sass@1.71.1) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -7965,20 +7927,20 @@ packages: - terser dev: true - /vooks@0.2.12(vue@3.4.26): + /vooks@0.2.12(vue@3.4.27): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /vue-component-type-helpers@1.8.26: resolution: {integrity: sha512-CIwb7s8cqUuPpHDk+0DY8EJ/x8tzdzqw8ycX8hhw1GnbngTgSsIceHAqrrLjmv8zXi+j5XaiqYRQMw8sKyyjkw==} dev: true - /vue-demi@0.14.6(vue@3.4.26): + /vue-demi@0.14.6(vue@3.4.27): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -7990,10 +7952,10 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false - /vue-demi@0.14.7(vue@3.4.26): + /vue-demi@0.14.7(vue@3.4.27): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -8005,7 +7967,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) /vue-eslint-parser@9.3.2(eslint@8.57.0): resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} @@ -8043,8 +8005,8 @@ packages: - supports-color dev: true - /vue-hooks-plus@2.1.0(vue@3.4.26): - resolution: {integrity: sha512-UkwmyoFX8WlfHgkqgDJ1jTLvVohtspRR8JFIZYCAgG01nqYVxoTiHZbEhOdIMH1Ba0CxP/xL26knT1+a2w5JpQ==} + /vue-hooks-plus@2.2.0(vue@3.4.27): + resolution: {integrity: sha512-Zad8X7hsddVGtNizYVeAFp35N8Y82IOrwWfy1GgkOZwg/hhYs/oEjPBtTU6FV4fOGEpJ7trP2MffRO5J1iohHw==} peerDependencies: vue: ^3.2.25 dependencies: @@ -8055,10 +8017,10 @@ packages: qs: 6.12.1 query-string: 7.1.3 screenfull: 5.2.0 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false - /vue-i18n@9.13.1(vue@3.4.26): + /vue-i18n@9.13.1(vue@3.4.27): resolution: {integrity: sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==} engines: {node: '>= 16'} peerDependencies: @@ -8067,15 +8029,15 @@ packages: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 '@vue/devtools-api': 6.6.1 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) - /vue-router@4.3.2(vue@3.4.26): + /vue-router@4.3.2(vue@3.4.27): resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /vue-template-compiler@2.7.16: @@ -8101,39 +8063,39 @@ packages: resolution: {integrity: sha512-YwdQ1YjbHzcUsA7Vj5ziQLoX7oQZGWDZNaAadLu7EZzV9UU8Dd2IXAxGobF7dIHamgz5mPiOgH1Xb3qO8bCGDA==} dependencies: js-binary-schema-parser: 2.0.3 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false - /vue@3.4.26(typescript@5.2.2): - resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} + /vue@3.4.27(typescript@5.2.2): + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-sfc': 3.4.26 - '@vue/runtime-dom': 3.4.26 - '@vue/server-renderer': 3.4.26(vue@3.4.26) - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-sfc': 3.4.27 + '@vue/runtime-dom': 3.4.27 + '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/shared': 3.4.27 typescript: 5.2.2 - /vueuc@0.4.58(vue@3.4.26): + /vueuc@0.4.58(vue@3.4.27): resolution: {integrity: sha512-Wnj/N8WbPRSxSt+9ji1jtDHPzda5h2OH/0sFBhvdxDRuyCZbjGg3/cKMaKqEoe+dErTexG2R+i6Q8S/Toq1MYg==} peerDependencies: vue: ^3.0.11 dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.4.26) + '@css-render/vue3-ssr': 0.15.12(vue@3.4.27) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 seemly: 0.3.8 - vdirs: 0.1.8(vue@3.4.26) - vooks: 0.2.12(vue@3.4.26) - vue: 3.4.26(typescript@5.2.2) + vdirs: 0.1.8(vue@3.4.27) + vooks: 0.2.12(vue@3.4.27) + vue: 3.4.27(typescript@5.2.2) dev: false /webidl-conversions@7.0.0: diff --git a/src/app-config/app-config.ts b/src/app-config/app-config.ts index 7ee24cf5..15928f49 100644 --- a/src/app-config/app-config.ts +++ b/src/app-config/app-config.ts @@ -78,7 +78,7 @@ export const PRE_LOADING_CONFIG: PreloadingConfig = { * * 如果不设置该属性或者为空, 则不会渲染 LOGO */ -export const SIDE_BAR_LOGO: LayoutSideBarLogo | undefined = { +export const SIDE_BAR_LOGO_DEFAULT: LayoutSideBarLogo | undefined = { icon: 'ray', title: 'Ray Template', url: '/dashboard', diff --git a/src/app-config/echart-themes/macarons/macarons-dark.json b/src/app-config/echart-themes/macarons/macarons-dark.json index e1dfa0c2..e39c701c 100644 --- a/src/app-config/echart-themes/macarons/macarons-dark.json +++ b/src/app-config/echart-themes/macarons/macarons-dark.json @@ -7,7 +7,24 @@ "#f7c5a0", "#d4a4eb", "#d2f5a6", - "#76f2f2" + "#76f2f2", + "#9b8bba", + "#e098c7", + "#8fd3e8", + "#71669e", + "#cc70af", + "#7cb4cc", + "#7EC4FF", + "#5FCBB0", + "#49C4BF", + "#F0C9CA", + "#34DC90", + "#3295E0", + "#EAB62E", + "#76C3F3", + "#2DC2C0", + "#FCC43F", + "#84CFFF" ], "backgroundColor": "transparent", "textStyle": {}, @@ -297,6 +314,9 @@ "legend": { "textStyle": { "color": "#999999" + }, + "pageTextStyle": { + "color": "#999999" } }, "tooltip": { diff --git a/src/app-config/echart-themes/macarons/macarons.json b/src/app-config/echart-themes/macarons/macarons.json index 7f5b2cac..7bc9bdfc 100644 --- a/src/app-config/echart-themes/macarons/macarons.json +++ b/src/app-config/echart-themes/macarons/macarons.json @@ -19,7 +19,13 @@ "#c9ab00", "#7eb00a", "#6f5553", - "#c14089" + "#c14089", + "#516b91", + "#59c4e6", + "#edafda", + "#93b7e3", + "#a5e7f0", + "#cbb0e3" ], "backgroundColor": "transparent", "textStyle": {}, diff --git a/src/axios/axios-interceptor/request/plugins/cancel.ts b/src/axios/axios-interceptor/request/plugins/cancel.ts index 5de03287..dbf1430e 100644 --- a/src/axios/axios-interceptor/request/plugins/cancel.ts +++ b/src/axios/axios-interceptor/request/plugins/cancel.ts @@ -1,6 +1,6 @@ import { axiosCanceler } from '@/axios/utils/interceptor' -import type { FetchFunction, FetchErrorFunction } from '@/axios/types' +import type { AxiosRequestInterceptor, FetchErrorFunction } from '@/axios/types' /** * @@ -10,7 +10,7 @@ import type { FetchFunction, FetchErrorFunction } from '@/axios/types' * @description * 移除请求拦截器与注入请求拦截器。 */ -const injectRequestCanceler: FetchFunction = (ins, mode) => { +const injectRequestCanceler: AxiosRequestInterceptor = (ins, mode) => { axiosCanceler.removePendingRequest(ins) // 检查是否存在重复请求, 若存在则取消已发的请求 axiosCanceler.addPendingRequest(ins) // 把当前的请求信息添加到 pendingRequest 表中 } diff --git a/src/axios/axios-interceptor/request/plugins/request-headers.ts b/src/axios/axios-interceptor/request/plugins/request-headers.ts index ad9bf35e..c0f59491 100644 --- a/src/axios/axios-interceptor/request/plugins/request-headers.ts +++ b/src/axios/axios-interceptor/request/plugins/request-headers.ts @@ -2,7 +2,10 @@ import { appendRequestHeaders } from '@/axios/utils/append-request-headers' import { APP_CATCH_KEY } from '@/app-config' import { getStorage } from '@/utils' -import type { RequestInterceptorConfig, FetchFunction } from '@/axios/types' +import type { + RequestInterceptorConfig, + AxiosRequestInterceptor, +} from '@/axios/types' /** * @@ -26,7 +29,7 @@ const requestHeaderToken = (ins: RequestInterceptorConfig, mode: string) => { } /** 注入请求头信息 */ -const injectRequestHeaders: FetchFunction = (ins, mode) => { +const injectRequestHeaders: AxiosRequestInterceptor = (ins, mode) => { appendRequestHeaders(ins, [ requestHeaderToken(ins, mode), { diff --git a/src/axios/axios-interceptor/response/plugins/cancel.ts b/src/axios/axios-interceptor/response/plugins/cancel.ts index 5a0d1bab..5f4592b6 100644 --- a/src/axios/axios-interceptor/response/plugins/cancel.ts +++ b/src/axios/axios-interceptor/response/plugins/cancel.ts @@ -1,6 +1,9 @@ import { axiosCanceler } from '@/axios/utils/interceptor' -import type { FetchFunction, FetchErrorFunction } from '@/axios/types' +import type { + AxiosResponseInterceptor, + FetchErrorFunction, +} from '@/axios/types' /** * @@ -10,7 +13,7 @@ import type { FetchFunction, FetchErrorFunction } from '@/axios/types' * @description * 响应成功后注销请求取消器。 */ -const injectResponseCanceler: FetchFunction = (ins, mode) => { +const injectResponseCanceler: AxiosResponseInterceptor = (ins, mode) => { axiosCanceler.removePendingRequest(ins) } diff --git a/src/axios/types.ts b/src/axios/types.ts index 6b534089..b464965f 100644 --- a/src/axios/types.ts +++ b/src/axios/types.ts @@ -7,6 +7,8 @@ import type { Axios, AxiosResponse, AxiosError, + InternalAxiosRequestConfig, + AxiosRequestHeaders, } from 'axios' import type { AnyFC } from '@/types' @@ -45,6 +47,24 @@ export interface AppRawRequestConfig extends AxiosRequestConfig { * 标记该请求的配置项是否被标记了取消。 */ __CANCELER_TAG_RAY_TEMPLATE__?: '__CANCELER_TAG_RAY_TEMPLATE__' + /** + * + * @description + * 该接口是否需要自动弹出请求状态提示。 + * 统一显示后端返回的提示信息。 + * + * @default true + */ + responseErrorMessage?: boolean + /** + * + * @description + * 该接口是否需要自动弹出请求状态提示。 + * 统一显示后端返回的提示信息。 + * + * @default false + */ + responseSuccessMessage?: boolean } export interface CancelerParams @@ -125,11 +145,6 @@ export interface ErrorImplementQueue { implementResponseInterceptorErrorArray: AnyFC[] } -export type FetchFunction = ( - ins: RequestInterceptorConfig & ResponseInterceptorConfig, - mode: string, -) => void - export type FetchType = 'ok' | 'error' export type FetchErrorFunction = ( @@ -146,3 +161,24 @@ export interface AxiosFetchError { requestError: T | null responseError: T | null } + +interface AxiosResponseConfigInterceptor + extends AppRawRequestConfig { + headers: AxiosRequestHeaders +} + +type AxiosResponseOmit = Omit, 'config'> + +type AxiosResponseInterceptorIns = AxiosResponseOmit & { + config: AxiosResponseConfigInterceptor +} + +export type AxiosResponseInterceptor = ( + ins: AxiosResponseInterceptorIns, + mode: string, +) => void + +export type AxiosRequestInterceptor = ( + ins: RequestInterceptorConfig, + mode: string, +) => void diff --git a/src/components/RChart/src/utils.ts b/src/components/RChart/src/utils.ts index 0c8e6fe1..638e2a76 100644 --- a/src/components/RChart/src/utils.ts +++ b/src/components/RChart/src/utils.ts @@ -9,6 +9,8 @@ * @remark 今天也是元气满满撸代码的一天 */ +import { useTheme } from '@/hooks' + import type { ChartThemeRawArray, ChartThemeRawModules, @@ -68,14 +70,17 @@ export const setupChartTheme = () => { * @example * const options = loadingOptions({ ...LoadingOptions }) */ -export const loadingOptions = (options?: LoadingOptions) => - Object.assign( +export const loadingOptions = (options?: LoadingOptions) => { + const { getAppTheme } = useTheme() + const { theme } = getAppTheme() + + return Object.assign( {}, { text: 'loading', color: '#c23531', - textColor: '#000', - maskColor: 'rgba(255, 255, 255, 0.9)', + textColor: theme ? '#fff' : '#000', + maskColor: theme ? 'rgba(0, 0, 0, 0.5)' : 'rgba(255, 255, 255, 0.5)', zlevel: 0, fontSize: 12, showSpinner: true, @@ -87,3 +92,4 @@ export const loadingOptions = (options?: LoadingOptions) => }, options, ) +} diff --git a/src/layout/components/Menu/components/SiderBarLogo/index.tsx b/src/layout/components/Menu/components/SiderBarLogo/index.tsx index 76b3461f..32e15835 100644 --- a/src/layout/components/Menu/components/SiderBarLogo/index.tsx +++ b/src/layout/components/Menu/components/SiderBarLogo/index.tsx @@ -14,7 +14,8 @@ import './index.scss' import { NEllipsis, NTooltip } from 'naive-ui' import { RIcon } from '@/components' -import { isValueType } from '@/utils' +import { isValueType, renderNode } from '@/utils' +import { useSettingGetters } from '@/store' /** * @@ -33,10 +34,7 @@ export default defineComponent({ }, setup() { const router = useRouter() - - const { - layout: { sideBarLogo }, - } = __APP_CFG__ + const { getSideBarLogo } = useSettingGetters() /** * @@ -46,27 +44,35 @@ export default defineComponent({ * - outsideStation: 新开页面跳转 */ const sideBarLogoClick = () => { - if (sideBarLogo && sideBarLogo.url) { - sideBarLogo.jumpType === 'station' - ? router.push(sideBarLogo.url) - : window.open(sideBarLogo.url) + if (getSideBarLogo.value && getSideBarLogo.value.url) { + getSideBarLogo.value.jumpType === 'station' + ? router.push(getSideBarLogo.value.url) + : window.open(getSideBarLogo.value.url) } } const TemplateLogo = ({ cursor }: { cursor: string }) => { - if (typeof sideBarLogo.icon === 'string') { + if (!getSideBarLogo.value) { + return null + } + + if (typeof getSideBarLogo.value.icon === 'string') { return ( - + ) } - if (isValueType(sideBarLogo.icon, 'Object')) { - return + if (isValueType(getSideBarLogo.value.icon, 'Object')) { + return renderNode(getSideBarLogo.value.icon) } } return { - sideBarLogo, + sideBarLogo: getSideBarLogo, sideBarLogoClick, TemplateLogo, } @@ -104,7 +110,7 @@ export default defineComponent({ {{ trigger: () => (

- {sideBarLogo.title[0] || null} + {sideBarLogo.title?.[0] || null}

), default: () => sideBarLogo.title, diff --git a/src/store/hooks/useSettingStore.ts b/src/store/hooks/useSettingStore.ts index 458d9317..7e7b2e53 100644 --- a/src/store/hooks/useSettingStore.ts +++ b/src/store/hooks/useSettingStore.ts @@ -16,67 +16,86 @@ export const useSettingGetters = () => { /** * - * @remark 获取设置抽屉方向 + * @description + * 获取设置抽屉方向。 */ const getDrawerPlacement = computed(() => variable.drawerPlacement) /** * - * @remark 获取 Naive UI 覆盖配置 + * @description + * 获取 Naive UI 覆盖配置。 */ const getPrimaryColorOverride = computed(() => variable.primaryColorOverride) /** * - * @remark 获取 app 主题 + * @description + * 获取 app 主题。 */ const getAppTheme = computed(() => variable.appTheme) /** * - * @remark 获取菜单标签开关 + * @description + * 获取菜单标签开关。 */ const getMenuTagSwitch = computed(() => variable.menuTagSwitch) /** * - * @remark 获取面包屑开关 + * @description + * 获取面包屑开关。 */ const getBreadcrumbSwitch = computed(() => variable.breadcrumbSwitch) /** * - * @remark 获取 app 当前语言 + * @description + * 获取 app 当前语言。 */ const getLocaleLanguage = computed(() => variable.localeLanguage) /** * - * @remark 获取锁屏开关 + * @description + * 获取锁屏开关。 */ const getLockScreenSwitch = computed(() => variable.lockScreenSwitch) /** * - * @remark 获取版权信息开关 + * @description + * 获取版权信息开关。 */ const getCopyrightSwitch = computed(() => variable.copyrightSwitch) /** * - * @remark 获取 app 内容区域过渡动画效果 + * @description + * 获取 app 内容区域过渡动画效果。 */ const getContentTransition = computed(() => variable.contentTransition) /** * - * @remark 获取水印开关 + * @description + * 获取水印开关。 */ const getWatermarkSwitch = computed(() => variable.watermarkSwitch) /** * - * @remark 获取水印配置 + * @description + * 获取水印配置。 */ const getWatermarkConfig = computed(() => variable.watermarkConfig) /** * - * @remark 获取 app 根路由 + * @description + * 获取 app 根路由。 */ const getAppRootRoute = computed(() => variable.appRootRoute) + /** + * + * @description + * 获取 side bar 配置。 + */ + const getSideBarLogo = computed(() => variable.sideBarLogo) + return { getDrawerPlacement, getPrimaryColorOverride, @@ -90,6 +109,7 @@ export const useSettingGetters = () => { getWatermarkSwitch, getWatermarkConfig, getAppRootRoute, + getSideBarLogo, } } diff --git a/src/store/modules/menu/index.ts b/src/store/modules/menu/index.ts index 9752758b..39233024 100644 --- a/src/store/modules/menu/index.ts +++ b/src/store/modules/menu/index.ts @@ -376,11 +376,16 @@ export const piniaMenuStore = defineStore( if (menuState.currentMenuOption) { const { currentMenuOption } = menuState - setBreadcrumbOptions(currentMenuOption.key) + // 惰性更新面包屑,避免 sameLevel 模式下的面包屑被覆盖 + if (!menuState.breadcrumbOptions.length) { + setBreadcrumbOptions(currentMenuOption.key) + } + setMenuTagOptionsWhenMenuValueChange( currentMenuOption.fullPath, currentMenuOption, ) + updateDocumentTitle(currentMenuOption) } resolve() diff --git a/src/store/modules/setting/index.ts b/src/store/modules/setting/index.ts index ccafd055..19358f7b 100644 --- a/src/store/modules/setting/index.ts +++ b/src/store/modules/setting/index.ts @@ -2,7 +2,7 @@ import { getAppDefaultLanguage } from '@/locales/utils' import { colorToRgba, setStorage } from '@/utils' import { useI18n, useDayjs } from '@/hooks' import { watchOnce } from '@vueuse/core' -import { APP_CATCH_KEY, APP_THEME } from '@/app-config' +import { APP_CATCH_KEY, APP_THEME, SIDE_BAR_LOGO_DEFAULT } from '@/app-config' import type { SettingState } from '@/store/modules/setting/types' import type { LocalKey } from '@/hooks' @@ -48,6 +48,7 @@ export const piniaSettingStore = defineStore( name: 'Dashboard', path: '/dashboard', }, + sideBarLogo: Object.assign({}, SIDE_BAR_LOGO_DEFAULT), }) /** 修改当前语言 */ @@ -119,18 +120,18 @@ export const piniaSettingStore = defineStore( () => settingState.appTheme, (ndata) => { ndata - ? Object.assign( + ? (settingState.primaryColorOverride = Object.assign( {}, settingState.primaryColorOverride, APP_THEME.appNaiveUIThemeOverrides.dark, APP_THEME.appNaiveUIThemeOverridesCommon.dark, - ) - : Object.assign( + )) + : (settingState.primaryColorOverride = Object.assign( {}, settingState.primaryColorOverride, APP_THEME.appNaiveUIThemeOverrides.light, APP_THEME.appNaiveUIThemeOverridesCommon.light, - ) + )) }, { immediate: true, diff --git a/src/store/modules/setting/types.ts b/src/store/modules/setting/types.ts index a2186ef4..711c1ee6 100644 --- a/src/store/modules/setting/types.ts +++ b/src/store/modules/setting/types.ts @@ -1,5 +1,5 @@ import type { GlobalThemeOverrides } from 'naive-ui' -import type { Placement } from '@/types' +import type { Placement, LayoutSideBarLogo } from '@/types' export interface WatermarkConfig { content: string @@ -30,4 +30,5 @@ export interface SettingState { contentTransition: string watermarkConfig: WatermarkConfig appRootRoute: AppRootRoute + sideBarLogo: LayoutSideBarLogo | undefined } diff --git a/src/views/demo/segment/index.tsx b/src/views/demo/segment/index.tsx index 24ab9ec0..a5e5ccd3 100644 --- a/src/views/demo/segment/index.tsx +++ b/src/views/demo/segment/index.tsx @@ -122,7 +122,7 @@ export default defineComponent({ slot 的 warning。如果你不想看到这个 warning,请设定一个 default-value。 - + 由于 NTabs 设计缘故,手动设置 width 为 fitContent 后,配置了 disabled, popover 的配置项,会丢失过度效果。具体可以看下面的例子。
@@ -192,7 +192,7 @@ export default defineComponent({ fitContent block - 700 + 800