Browse Source

release: update `5.3.0`

i18n
xiaoxian521 8 months ago
parent
commit
b76600a981
  1. 1
      README.en-US.md
  2. 1
      README.md
  3. 68
      locales/en.yaml
  4. 69
      locales/zh-CN.yaml
  5. 6
      mock/asyncRoutes.ts
  6. 16
      package.json
  7. 357
      pnpm-lock.yaml
  8. 2
      public/platform-config.json
  9. 3
      src/App.vue
  10. 4
      src/components/ReDialog/index.ts
  11. 6
      src/components/ReDialog/index.vue
  12. 23
      src/components/RePureTableBar/src/bar.tsx
  13. 101
      src/components/ReSegmented/src/index.css
  14. 36
      src/components/ReSegmented/src/index.tsx
  15. 2
      src/components/ReText/src/index.vue
  16. 2
      src/config/index.ts
  17. 6
      src/directives/optimize/index.ts
  18. 4
      src/layout/components/navbar.vue
  19. 4
      src/layout/components/sidebar/horizontal.vue
  20. 4
      src/layout/components/sidebar/mixNav.vue
  21. 4
      src/layout/components/tag/index.vue
  22. 2
      src/layout/frameView.vue
  23. 14
      src/layout/hooks/useTag.ts
  24. 2
      src/layout/types.ts
  25. 8
      src/router/modules/error.ts
  26. 4
      src/router/modules/home.ts
  27. 4
      src/router/modules/remaining.ts
  28. 8
      src/views/login/index.vue
  29. 4
      src/views/login/utils/rule.ts

1
README.en-US.md

@ -12,7 +12,6 @@ The simplified version is based on the shelf extracted from [vue-pure-admin](htt
[Click me to view UI design](https://www.bilibili.com/video/BV17g411T7rq) [Click me to view UI design](https://www.bilibili.com/video/BV17g411T7rq)
[Click me to view the rapid development tutorial](https://www.bilibili.com/video/BV1kg411v7QT) [Click me to view the rapid development tutorial](https://www.bilibili.com/video/BV1kg411v7QT)
[Click me to view all pages and function demonstrations of vue-pure-admin](https://www.bilibili.com/video/BV1Rx4y1U7Mv)
## Nanny-level documents ## Nanny-level documents

1
README.md

@ -16,7 +16,6 @@
[点我查看 UI 设计](https://www.bilibili.com/video/BV17g411T7rq) [点我查看 UI 设计](https://www.bilibili.com/video/BV17g411T7rq)
[点我查看快速开发教程](https://www.bilibili.com/video/BV1kg411v7QT) [点我查看快速开发教程](https://www.bilibili.com/video/BV1kg411v7QT)
[点我查看 vue-pure-admin 的所有页面、功能演示](https://www.bilibili.com/video/BV1Rx4y1U7Mv)
## 配套保姆级文档 ## 配套保姆级文档

68
locales/en.yaml

@ -1,45 +1,31 @@
buttons: buttons:
hsLoginOut: LoginOut
hsfullscreen: FullScreen
hsexitfullscreen: ExitFullscreen
hsrefreshRoute: RefreshRoute
hslogin: Login
hsadd: Add
hsmark: Mark/Cancel
hssave: Save
hssearch: Search
hsexpendAll: Expand All
hscollapseAll: Collapse All
hssystemSet: Open ProjectConfig
hsdelete: Delete
hsreload: Reload
hscloseCurrentTab: Close CurrentTab
hscloseLeftTabs: Close LeftTabs
hscloseRightTabs: Close RightTabs
hscloseOtherTabs: Close OtherTabs
hscloseAllTabs: Close AllTabs
hswholeFullScreen: FullScreen
hswholeExitFullScreen: ExitFull
hscontentFullScreen: Content FullScreen
hscontentExitFullScreen: Content ExitFullScreen
pureLoginOut: LoginOut
pureLogin: Login
pureSystemSet: Open ProjectConfig
pureReload: Reload
pureCloseCurrentTab: Close CurrentTab
pureCloseLeftTabs: Close LeftTabs
pureCloseRightTabs: Close RightTabs
pureCloseOtherTabs: Close OtherTabs
pureCloseAllTabs: Close AllTabs
pureContentFullScreen: Content FullScreen
pureContentExitFullScreen: Content ExitFullScreen
menus: menus:
hshome: Home
hslogin: Login
hsabnormal: Abnormal Page
hsfourZeroFour: "404"
hsfourZeroOne: "403"
hsFive: "500"
permission: Permission Manage
permissionPage: Page Permission
permissionButton: Button Permission
pureHome: Home
pureLogin: Login
pureAbnormal: Abnormal Page
pureFourZeroFour: "404"
pureFourZeroOne: "403"
pureFive: "500"
purePermission: Permission Manage
purePermissionPage: Page Permission
purePermissionButton: Button Permission
status: status:
hsLoad: Loading...
pureLoad: Loading...
login: login:
username: Username
password: Password
remember: days no need to login
rememberInfo: After checking and logging in, will automatically log in to the system without entering your username and password within the specified number of days.
login: Login
usernameReg: Please enter username
passwordReg: Please enter password
passwordRuleReg: The password format should be any combination of 8-18 digits
pureUsername: Username
purePassword: Password
pureLogin: Login
pureUsernameReg: Please enter username
purePassWordReg: Please enter password
purePassWordRuleReg: The password format should be any combination of 8-18 digits

69
locales/zh-CN.yaml

@ -1,45 +1,32 @@
buttons: buttons:
hsLoginOut: 退出系统
hsfullscreen: 全屏
hsexitfullscreen: 退出全屏
hsrefreshRoute: 刷新路由
hslogin: 登录
hsadd: 新增
hsmark: 标记/取消
hssave: 保存
hssearch: 搜索
hsexpendAll: 全部展开
hscollapseAll: 全部折叠
hssystemSet: 打开项目配置
hsdelete: 删除
hsreload: 重新加载
hscloseCurrentTab: 关闭当前标签页
hscloseLeftTabs: 关闭左侧标签页
hscloseRightTabs: 关闭右侧标签页
hscloseOtherTabs: 关闭其他标签页
hscloseAllTabs: 关闭全部标签页
hswholeFullScreen: 全屏
hswholeExitFullScreen: 退出全屏
hscontentFullScreen: 内容区全屏
hscontentExitFullScreen: 内容区退出全屏
pureLoginOut: 退出系统
pureLogin: 登录
pureSystemSet: 打开项目配置
pureReload: 重新加载
pureCloseCurrentTab: 关闭当前标签页
pureCloseLeftTabs: 关闭左侧标签页
pureCloseRightTabs: 关闭右侧标签页
pureCloseOtherTabs: 关闭其他标签页
pureCloseAllTabs: 关闭全部标签页
pureContentFullScreen: 内容区全屏
pureContentExitFullScreen: 内容区退出全屏
menus: menus:
hshome: 首页
hslogin: 登录
hsabnormal: 异常页面
hsfourZeroFour: "404"
hsfourZeroOne: "403"
hsFive: "500"
permission: 权限管理
permissionPage: 页面权限
permissionButton: 按钮权限
pureHome: 首页
pureLogin: 登录
pureAbnormal: 异常页面
pureFourZeroFour: "404"
pureFourZeroOne: "403"
pureFive: "500"
purePermission: 权限管理
purePermissionPage: 页面权限
purePermissionButton: 按钮权限
status: status:
hsLoad: 加载中...
pureLoad: 加载中...
login: login:
username: 账号
password: 密码
remember: 天内免登录
rememberInfo: 勾选并登录后,规定天数内无需输入用户名和密码会自动登入系统
login: 登录
usernameReg: 请输入账号
passwordReg: 请输入密码
passwordRuleReg: 密码格式应为8-18位数字、字母、符号的任意两种组合
pureUsername: 账号
purePassword: 密码
pureLogin: 登录
pureUsernameReg: 请输入账号
purePassWordReg: 请输入密码
purePassWordRuleReg: 密码格式应为8-18位数字、字母、符号的任意两种组合

6
mock/asyncRoutes.ts

@ -9,7 +9,7 @@ import { defineFakeRoute } from "vite-plugin-fake-server/client";
const permissionRouter = { const permissionRouter = {
path: "/permission", path: "/permission",
meta: { meta: {
title: "menus.permission",
title: "menus.purePermission",
icon: "ep:lollipop", icon: "ep:lollipop",
rank: 10 rank: 10
}, },
@ -18,7 +18,7 @@ const permissionRouter = {
path: "/permission/page/index", path: "/permission/page/index",
name: "PermissionPage", name: "PermissionPage",
meta: { meta: {
title: "menus.permissionPage",
title: "menus.purePermissionPage",
roles: ["admin", "common"] roles: ["admin", "common"]
} }
}, },
@ -26,7 +26,7 @@ const permissionRouter = {
path: "/permission/button/index", path: "/permission/button/index",
name: "PermissionButton", name: "PermissionButton",
meta: { meta: {
title: "menus.permissionButton",
title: "menus.purePermissionButton",
roles: ["admin", "common"], roles: ["admin", "common"],
auths: [ auths: [
"permission:btn:add", "permission:btn:add",

16
package.json

@ -1,6 +1,6 @@
{ {
"name": "pure-admin-thin", "name": "pure-admin-thin",
"version": "5.2.0",
"version": "5.3.0",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
@ -91,19 +91,19 @@
"@types/nprogress": "^0.2.3", "@types/nprogress": "^0.2.3",
"@types/qs": "^6.9.14", "@types/qs": "^6.9.14",
"@types/sortablejs": "^1.15.8", "@types/sortablejs": "^1.15.8",
"@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1",
"@typescript-eslint/eslint-plugin": "^7.4.0",
"@typescript-eslint/parser": "^7.4.0",
"@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue": "^5.0.4",
"@vitejs/plugin-vue-jsx": "^3.1.0", "@vitejs/plugin-vue-jsx": "^3.1.0",
"autoprefixer": "^10.4.19", "autoprefixer": "^10.4.19",
"boxen": "^7.1.1", "boxen": "^7.1.1",
"cloc": "^2.11.0", "cloc": "^2.11.0",
"cssnano": "^6.1.1",
"cssnano": "^6.1.2",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-define-config": "^2.1.0", "eslint-define-config": "^2.1.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-vue": "^9.23.0",
"eslint-plugin-vue": "^9.24.0",
"gradient-string": "^2.0.2", "gradient-string": "^2.0.2",
"husky": "^9.0.11", "husky": "^9.0.11",
"lint-staged": "^15.2.2", "lint-staged": "^15.2.2",
@ -115,15 +115,15 @@
"rimraf": "^5.0.5", "rimraf": "^5.0.5",
"rollup-plugin-visualizer": "^5.12.0", "rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.72.0", "sass": "^1.72.0",
"stylelint": "^16.2.1",
"stylelint": "^16.3.1",
"stylelint-config-recess-order": "^5.0.0", "stylelint-config-recess-order": "^5.0.0",
"stylelint-config-recommended-vue": "^1.5.0", "stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard-scss": "^13.0.0", "stylelint-config-standard-scss": "^13.0.0",
"stylelint-prettier": "^5.0.0", "stylelint-prettier": "^5.0.0",
"svgo": "^3.2.0", "svgo": "^3.2.0",
"tailwindcss": "^3.4.1",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.3", "typescript": "^5.4.3",
"vite": "^5.2.3",
"vite": "^5.2.6",
"vite-plugin-cdn-import": "^0.3.5", "vite-plugin-cdn-import": "^0.3.5",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-fake-server": "^2.1.1", "vite-plugin-fake-server": "^2.1.1",

357
pnpm-lock.yaml

@ -131,17 +131,17 @@ devDependencies:
specifier: ^1.15.8 specifier: ^1.15.8
version: 1.15.8 version: 1.15.8
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^7.3.1
version: 7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3)
specifier: ^7.4.0
version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^7.3.1
version: 7.3.1(eslint@8.57.0)(typescript@5.4.3)
specifier: ^7.4.0
version: 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@vitejs/plugin-vue': '@vitejs/plugin-vue':
specifier: ^5.0.4 specifier: ^5.0.4
version: 5.0.4(vite@5.2.3)(vue@3.4.21)
version: 5.0.4(vite@5.2.6)(vue@3.4.21)
'@vitejs/plugin-vue-jsx': '@vitejs/plugin-vue-jsx':
specifier: ^3.1.0 specifier: ^3.1.0
version: 3.1.0(vite@5.2.3)(vue@3.4.21)
version: 3.1.0(vite@5.2.6)(vue@3.4.21)
autoprefixer: autoprefixer:
specifier: ^10.4.19 specifier: ^10.4.19
version: 10.4.19(postcss@8.4.38) version: 10.4.19(postcss@8.4.38)
@ -152,8 +152,8 @@ devDependencies:
specifier: ^2.11.0 specifier: ^2.11.0
version: 2.11.0 version: 2.11.0
cssnano: cssnano:
specifier: ^6.1.1
version: 6.1.1(postcss@8.4.38)
specifier: ^6.1.2
version: 6.1.2(postcss@8.4.38)
eslint: eslint:
specifier: ^8.57.0 specifier: ^8.57.0
version: 8.57.0 version: 8.57.0
@ -167,8 +167,8 @@ devDependencies:
specifier: ^5.1.3 specifier: ^5.1.3
version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5)
eslint-plugin-vue: eslint-plugin-vue:
specifier: ^9.23.0
version: 9.23.0(eslint@8.57.0)
specifier: ^9.24.0
version: 9.24.0(eslint@8.57.0)
gradient-string: gradient-string:
specifier: ^2.0.2 specifier: ^2.0.2
version: 2.0.2 version: 2.0.2
@ -203,38 +203,38 @@ devDependencies:
specifier: ^1.72.0 specifier: ^1.72.0
version: 1.72.0 version: 1.72.0
stylelint: stylelint:
specifier: ^16.2.1
version: 16.2.1(typescript@5.4.3)
specifier: ^16.3.1
version: 16.3.1(typescript@5.4.3)
stylelint-config-recess-order: stylelint-config-recess-order:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.0.0(stylelint@16.2.1)
version: 5.0.0(stylelint@16.3.1)
stylelint-config-recommended-vue: stylelint-config-recommended-vue:
specifier: ^1.5.0 specifier: ^1.5.0
version: 1.5.0(postcss-html@1.6.0)(stylelint@16.2.1)
version: 1.5.0(postcss-html@1.6.0)(stylelint@16.3.1)
stylelint-config-standard-scss: stylelint-config-standard-scss:
specifier: ^13.0.0 specifier: ^13.0.0
version: 13.0.0(postcss@8.4.38)(stylelint@16.2.1)
version: 13.0.0(postcss@8.4.38)(stylelint@16.3.1)
stylelint-prettier: stylelint-prettier:
specifier: ^5.0.0 specifier: ^5.0.0
version: 5.0.0(prettier@3.2.5)(stylelint@16.2.1)
version: 5.0.0(prettier@3.2.5)(stylelint@16.3.1)
svgo: svgo:
specifier: ^3.2.0 specifier: ^3.2.0
version: 3.2.0 version: 3.2.0
tailwindcss: tailwindcss:
specifier: ^3.4.1
version: 3.4.1
specifier: ^3.4.3
version: 3.4.3
typescript: typescript:
specifier: ^5.4.3 specifier: ^5.4.3
version: 5.4.3 version: 5.4.3
vite: vite:
specifier: ^5.2.3
version: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
specifier: ^5.2.6
version: 5.2.6(@types/node@20.11.30)(sass@1.72.0)
vite-plugin-cdn-import: vite-plugin-cdn-import:
specifier: ^0.3.5 specifier: ^0.3.5
version: 0.3.5(rollup@2.79.1) version: 0.3.5(rollup@2.79.1)
vite-plugin-compression: vite-plugin-compression:
specifier: ^0.5.1 specifier: ^0.5.1
version: 0.5.1(vite@5.2.3)
version: 0.5.1(vite@5.2.6)
vite-plugin-fake-server: vite-plugin-fake-server:
specifier: ^2.1.1 specifier: ^2.1.1
version: 2.1.1 version: 2.1.1
@ -756,6 +756,10 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: false dev: false
/@dual-bundle/import-meta-resolve@4.0.0:
resolution: {integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==}
dev: true
/@element-plus/icons-vue@2.3.1(vue@3.4.21): /@element-plus/icons-vue@2.3.1(vue@3.4.21):
resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==} resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
peerDependencies: peerDependencies:
@ -1556,48 +1560,48 @@ packages:
picomatch: 2.3.1 picomatch: 2.3.1
rollup: 2.79.1 rollup: 2.79.1
/@rollup/rollup-android-arm-eabi@4.13.0:
resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==}
/@rollup/rollup-android-arm-eabi@4.13.1:
resolution: {integrity: sha512-4C4UERETjXpC4WpBXDbkgNVgHyWfG3B/NKY46e7w5H134UDOFqUJKpsLm0UYmuupW+aJmRgeScrDNfvZ5WV80A==}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-android-arm64@4.13.0:
resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==}
/@rollup/rollup-android-arm64@4.13.1:
resolution: {integrity: sha512-TrTaFJ9pXgfXEiJKQ3yQRelpQFqgRzVR9it8DbeRzG0RX7mKUy0bqhCFsgevwXLJepQKTnLl95TnPGf9T9AMOA==}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-arm64@4.13.0:
resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==}
/@rollup/rollup-darwin-arm64@4.13.1:
resolution: {integrity: sha512-fz7jN6ahTI3cKzDO2otQuybts5cyu0feymg0bjvYCBrZQ8tSgE8pc0sSNEuGvifrQJWiwx9F05BowihmLxeQKw==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-darwin-x64@4.13.0:
resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==}
/@rollup/rollup-darwin-x64@4.13.1:
resolution: {integrity: sha512-WTvdz7SLMlJpektdrnWRUN9C0N2qNHwNbWpNo0a3Tod3gb9leX+yrYdCeB7VV36OtoyiPAivl7/xZ3G1z5h20g==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm-gnueabihf@4.13.0:
resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==}
/@rollup/rollup-linux-arm-gnueabihf@4.13.1:
resolution: {integrity: sha512-dBHQl+7wZzBYcIF6o4k2XkAfwP2ks1mYW2q/Gzv9n39uDcDiAGDqEyml08OdY0BIct0yLSPkDTqn4i6czpBLLw==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm64-gnu@4.13.0:
resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==}
/@rollup/rollup-linux-arm64-gnu@4.13.1:
resolution: {integrity: sha512-bur4JOxvYxfrAmocRJIW0SADs3QdEYK6TQ7dTNz6Z4/lySeu3Z1H/+tl0a4qDYv0bCdBpUYM0sYa/X+9ZqgfSQ==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
@ -1605,8 +1609,8 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-arm64-musl@4.13.0:
resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==}
/@rollup/rollup-linux-arm64-musl@4.13.1:
resolution: {integrity: sha512-ssp77SjcDIUSoUyj7DU7/5iwM4ZEluY+N8umtCT9nBRs3u045t0KkW02LTyHouHDomnMXaXSZcCSr2bdMK63kA==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
@ -1614,8 +1618,8 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-riscv64-gnu@4.13.0:
resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==}
/@rollup/rollup-linux-riscv64-gnu@4.13.1:
resolution: {integrity: sha512-Jv1DkIvwEPAb+v25/Unrnnq9BO3F5cbFPT821n3S5litkz+O5NuXuNhqtPx5KtcwOTtaqkTsO+IVzJOsxd11aQ==}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
@ -1623,8 +1627,17 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-x64-gnu@4.13.0:
resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==}
/@rollup/rollup-linux-s390x-gnu@4.13.1:
resolution: {integrity: sha512-U564BrhEfaNChdATQaEODtquCC7Ez+8Hxz1h5MAdMYj0AqD0GA9rHCpElajb/sQcaFL6NXmHc5O+7FXpWMa73Q==}
cpu: [s390x]
os: [linux]
libc: [glibc]
requiresBuild: true
dev: true
optional: true
/@rollup/rollup-linux-x64-gnu@4.13.1:
resolution: {integrity: sha512-zGRDulLTeDemR8DFYyFIQ8kMP02xpUsX4IBikc7lwL9PrwR3gWmX2NopqiGlI2ZVWMl15qZeUjumTwpv18N7sQ==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
@ -1632,8 +1645,8 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-linux-x64-musl@4.13.0:
resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==}
/@rollup/rollup-linux-x64-musl@4.13.1:
resolution: {integrity: sha512-VTk/MveyPdMFkYJJPCkYBw07KcTkGU2hLEyqYMsU4NjiOfzoaDTW9PWGRsNwiOA3qI0k/JQPjkl/4FCK1smskQ==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
@ -1641,24 +1654,24 @@ packages:
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-arm64-msvc@4.13.0:
resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==}
/@rollup/rollup-win32-arm64-msvc@4.13.1:
resolution: {integrity: sha512-L+hX8Dtibb02r/OYCsp4sQQIi3ldZkFI0EUkMTDwRfFykXBPptoz/tuuGqEd3bThBSLRWPR6wsixDSgOx/U3Zw==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-ia32-msvc@4.13.0:
resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==}
/@rollup/rollup-win32-ia32-msvc@4.13.1:
resolution: {integrity: sha512-+dI2jVPfM5A8zme8riEoNC7UKk0Lzc7jCj/U89cQIrOjrZTCWZl/+IXUeRT2rEZ5j25lnSA9G9H1Ob9azaF/KQ==}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true dev: true
optional: true optional: true
/@rollup/rollup-win32-x64-msvc@4.13.0:
resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==}
/@rollup/rollup-win32-x64-msvc@4.13.1:
resolution: {integrity: sha512-YY1Exxo2viZ/O2dMHuwQvimJ0SqvL+OAWQLLY6rvXavgQKjhQUzn7nc1Dd29gjB5Fqi00nrBWctJBOyfVMIVxw==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
@ -1748,8 +1761,8 @@ packages:
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
dev: false dev: false
/@typescript-eslint/eslint-plugin@7.3.1(@typescript-eslint/parser@7.3.1)(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==}
/@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies: peerDependencies:
'@typescript-eslint/parser': ^7.0.0 '@typescript-eslint/parser': ^7.0.0
@ -1760,11 +1773,11 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/scope-manager': 7.3.1
'@typescript-eslint/type-utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.3.1
'@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.57.0 eslint: 8.57.0
graphemer: 1.4.0 graphemer: 1.4.0
@ -1777,8 +1790,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser@7.3.1(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==}
/@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies: peerDependencies:
eslint: ^8.56.0 eslint: ^8.56.0
@ -1787,10 +1800,10 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/scope-manager': 7.3.1
'@typescript-eslint/types': 7.3.1
'@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.3.1
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/types': 7.4.0
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.57.0 eslint: 8.57.0
typescript: 5.4.3 typescript: 5.4.3
@ -1798,16 +1811,16 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager@7.3.1:
resolution: {integrity: sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==}
/@typescript-eslint/scope-manager@7.4.0:
resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 7.3.1
'@typescript-eslint/visitor-keys': 7.3.1
'@typescript-eslint/types': 7.4.0
'@typescript-eslint/visitor-keys': 7.4.0
dev: true dev: true
/@typescript-eslint/type-utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==}
/@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies: peerDependencies:
eslint: ^8.56.0 eslint: ^8.56.0
@ -1816,8 +1829,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
'@typescript-eslint/utils': 7.3.1(eslint@8.57.0)(typescript@5.4.3)
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
'@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.4.3)
debug: 4.3.4 debug: 4.3.4
eslint: 8.57.0 eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.4.3) ts-api-utils: 1.3.0(typescript@5.4.3)
@ -1826,13 +1839,13 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/types@7.3.1:
resolution: {integrity: sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==}
/@typescript-eslint/types@7.4.0:
resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree@7.3.1(typescript@5.4.3):
resolution: {integrity: sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==}
/@typescript-eslint/typescript-estree@7.4.0(typescript@5.4.3):
resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
@ -1840,8 +1853,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/types': 7.3.1
'@typescript-eslint/visitor-keys': 7.3.1
'@typescript-eslint/types': 7.4.0
'@typescript-eslint/visitor-keys': 7.4.0
debug: 4.3.4 debug: 4.3.4
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
@ -1853,8 +1866,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils@7.3.1(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==}
/@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.4.3):
resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies: peerDependencies:
eslint: ^8.56.0 eslint: ^8.56.0
@ -1862,9 +1875,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
'@types/semver': 7.5.8 '@types/semver': 7.5.8
'@typescript-eslint/scope-manager': 7.3.1
'@typescript-eslint/types': 7.3.1
'@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.3)
'@typescript-eslint/scope-manager': 7.4.0
'@typescript-eslint/types': 7.4.0
'@typescript-eslint/typescript-estree': 7.4.0(typescript@5.4.3)
eslint: 8.57.0 eslint: 8.57.0
semver: 7.6.0 semver: 7.6.0
transitivePeerDependencies: transitivePeerDependencies:
@ -1872,11 +1885,11 @@ packages:
- typescript - typescript
dev: true dev: true
/@typescript-eslint/visitor-keys@7.3.1:
resolution: {integrity: sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==}
/@typescript-eslint/visitor-keys@7.4.0:
resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==}
engines: {node: ^18.18.0 || >=20.0.0} engines: {node: ^18.18.0 || >=20.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 7.3.1
'@typescript-eslint/types': 7.4.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
dev: true dev: true
@ -1884,7 +1897,7 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true dev: true
/@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.3)(vue@3.4.21):
/@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.6)(vue@3.4.21):
resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -1894,20 +1907,20 @@ packages:
'@babel/core': 7.24.3 '@babel/core': 7.24.3
'@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.3) '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.3)
vite: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0)
vue: 3.4.21(typescript@5.4.3) vue: 3.4.21(typescript@5.4.3)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@vitejs/plugin-vue@5.0.4(vite@5.2.3)(vue@3.4.21):
/@vitejs/plugin-vue@5.0.4(vite@5.2.6)(vue@3.4.21):
resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies: peerDependencies:
vite: ^5.0.0 vite: ^5.0.0
vue: ^3.2.25 vue: ^3.2.25
dependencies: dependencies:
vite: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0)
vue: 3.4.21(typescript@5.4.3) vue: 3.4.21(typescript@5.4.3)
dev: true dev: true
@ -2192,11 +2205,9 @@ packages:
string-width: 4.2.3 string-width: 4.2.3
dev: true dev: true
/ansi-escapes@6.2.0:
resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==}
/ansi-escapes@6.2.1:
resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
dependencies:
type-fest: 3.13.1
dev: true dev: true
/ansi-regex@5.0.1: /ansi-regex@5.0.1:
@ -2349,7 +2360,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001600 caniuse-lite: 1.0.30001600
electron-to-chromium: 1.4.715
electron-to-chromium: 1.4.719
node-releases: 2.0.14 node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0) update-browserslist-db: 1.0.13(browserslist@4.23.0)
@ -2678,8 +2689,8 @@ packages:
postcss: 8.4.38 postcss: 8.4.38
dev: true dev: true
/css-declaration-sorter@7.1.1(postcss@8.4.38):
resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==}
/css-declaration-sorter@7.2.0(postcss@8.4.38):
resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==}
engines: {node: ^14 || ^16 || >=18} engines: {node: ^14 || ^16 || >=18}
peerDependencies: peerDependencies:
postcss: ^8.0.9 postcss: ^8.0.9
@ -2785,14 +2796,14 @@ packages:
postcss-unique-selectors: 5.1.1(postcss@8.4.38) postcss-unique-selectors: 5.1.1(postcss@8.4.38)
dev: true dev: true
/cssnano-preset-default@6.1.1(postcss@8.4.38):
resolution: {integrity: sha512-XW/dYN2p8Jdkp1lovFd0UVRh6RB0iMyXJbAE9Qm+taR3p2LGu492AW34lVaukUrXoK9IxK5aK3CUmFpUorU4oA==}
/cssnano-preset-default@6.1.2(postcss@8.4.38):
resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
engines: {node: ^14 || ^16 || >=18.0} engines: {node: ^14 || ^16 || >=18.0}
peerDependencies: peerDependencies:
postcss: ^8.4.31 postcss: ^8.4.31
dependencies: dependencies:
browserslist: 4.23.0 browserslist: 4.23.0
css-declaration-sorter: 7.1.1(postcss@8.4.38)
css-declaration-sorter: 7.2.0(postcss@8.4.38)
cssnano-utils: 4.0.2(postcss@8.4.38) cssnano-utils: 4.0.2(postcss@8.4.38)
postcss: 8.4.38 postcss: 8.4.38
postcss-calc: 9.0.1(postcss@8.4.38) postcss-calc: 9.0.1(postcss@8.4.38)
@ -2867,13 +2878,13 @@ packages:
yaml: 1.10.2 yaml: 1.10.2
dev: true dev: true
/cssnano@6.1.1(postcss@8.4.38):
resolution: {integrity: sha512-paTFZuiVohpaXJuau8l7buFt9+FTmfjwEO70EKitzYOQw3frib/It4sb6cQ+gJyDEyY+myDSni6IbBvKZ0N8Lw==}
/cssnano@6.1.2(postcss@8.4.38):
resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
engines: {node: ^14 || ^16 || >=18.0} engines: {node: ^14 || ^16 || >=18.0}
peerDependencies: peerDependencies:
postcss: ^8.4.31 postcss: ^8.4.31
dependencies: dependencies:
cssnano-preset-default: 6.1.1(postcss@8.4.38)
cssnano-preset-default: 6.1.2(postcss@8.4.38)
lilconfig: 3.1.1 lilconfig: 3.1.1
postcss: 8.4.38 postcss: 8.4.38
dev: true dev: true
@ -3051,8 +3062,8 @@ packages:
zrender: 5.5.0 zrender: 5.5.0
dev: false dev: false
/electron-to-chromium@1.4.715:
resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==}
/electron-to-chromium@1.4.719:
resolution: {integrity: sha512-FbWy2Q2YgdFzkFUW/W5jBjE9dj+804+98E4Pup78JBPnbdb3pv6IneY2JCPKdeKLh3AOKHQeYf+KwLr7mxGh6Q==}
/element-plus@2.6.2(vue@3.4.21): /element-plus@2.6.2(vue@3.4.21):
resolution: {integrity: sha512-WFMv1v83l437Xu+GeeM+ytxd9VUQpR4418BowvTVIPYItsoj6yK0ITIuSv19iCesF405FbAOaCIHXhJch0ilFA==} resolution: {integrity: sha512-WFMv1v83l437Xu+GeeM+ytxd9VUQpR4418BowvTVIPYItsoj6yK0ITIuSv19iCesF405FbAOaCIHXhJch0ilFA==}
@ -3255,14 +3266,15 @@ packages:
synckit: 0.8.8 synckit: 0.8.8
dev: true dev: true
/eslint-plugin-vue@9.23.0(eslint@8.57.0):
resolution: {integrity: sha512-Bqd/b7hGYGrlV+wP/g77tjyFmp81lh5TMw0be9093X02SyelxRRfCI6/IsGq/J7Um0YwB9s0Ry0wlFyjPdmtUw==}
/eslint-plugin-vue@9.24.0(eslint@8.57.0):
resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==}
engines: {node: ^14.17.0 || >=16.0.0} engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
eslint: 8.57.0 eslint: 8.57.0
globals: 13.24.0
natural-compare: 1.4.0 natural-compare: 1.4.0
nth-check: 2.1.1 nth-check: 2.1.1
postcss-selector-parser: 6.0.16 postcss-selector-parser: 6.0.16
@ -3654,8 +3666,8 @@ packages:
is-glob: 4.0.3 is-glob: 4.0.3
dev: true dev: true
/glob@10.3.10:
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
/glob@10.3.11:
resolution: {integrity: sha512-0UAMm+R/z1E2bTR8eFnoIIlnrUK89m36i90Ez36ld9hLulfUPBgRCQtBy/v86ABx18jnGyrTvu4X3LAjIeBogw==}
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -3663,7 +3675,7 @@ packages:
jackspeak: 2.3.6 jackspeak: 2.3.6
minimatch: 9.0.3 minimatch: 9.0.3
minipass: 7.0.4 minipass: 7.0.4
path-scurry: 1.10.1
path-scurry: 1.10.2
dev: true dev: true
/glob@7.2.3: /glob@7.2.3:
@ -4111,6 +4123,10 @@ packages:
resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
dev: true dev: true
/known-css-properties@0.30.0:
resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==}
dev: true
/levn@0.4.1: /levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
@ -4272,7 +4288,7 @@ packages:
resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
engines: {node: '>=18'} engines: {node: '>=18'}
dependencies: dependencies:
ansi-escapes: 6.2.0
ansi-escapes: 6.2.1
cli-cursor: 4.0.0 cli-cursor: 4.0.0
slice-ansi: 7.1.0 slice-ansi: 7.1.0
strip-ansi: 7.1.0 strip-ansi: 7.1.0
@ -4664,8 +4680,8 @@ packages:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true dev: true
/path-scurry@1.10.1:
resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
/path-scurry@1.10.2:
resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
dependencies: dependencies:
lru-cache: 10.2.0 lru-cache: 10.2.0
@ -5598,7 +5614,7 @@ packages:
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
dependencies: dependencies:
glob: 10.3.10
glob: 10.3.11
dev: true dev: true
/rollup-plugin-external-globals@0.6.1(rollup@2.79.1): /rollup-plugin-external-globals@0.6.1(rollup@2.79.1):
@ -5637,26 +5653,27 @@ packages:
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
/rollup@4.13.0:
resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==}
/rollup@4.13.1:
resolution: {integrity: sha512-hFi+fU132IvJ2ZuihN56dwgpltpmLZHZWsx27rMCTZ2sYwrqlgL5sECGy1eeV2lAihD8EzChBVVhsXci0wD4Tg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'} engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
'@types/estree': 1.0.5 '@types/estree': 1.0.5
optionalDependencies: optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.13.0
'@rollup/rollup-android-arm64': 4.13.0
'@rollup/rollup-darwin-arm64': 4.13.0
'@rollup/rollup-darwin-x64': 4.13.0
'@rollup/rollup-linux-arm-gnueabihf': 4.13.0
'@rollup/rollup-linux-arm64-gnu': 4.13.0
'@rollup/rollup-linux-arm64-musl': 4.13.0
'@rollup/rollup-linux-riscv64-gnu': 4.13.0
'@rollup/rollup-linux-x64-gnu': 4.13.0
'@rollup/rollup-linux-x64-musl': 4.13.0
'@rollup/rollup-win32-arm64-msvc': 4.13.0
'@rollup/rollup-win32-ia32-msvc': 4.13.0
'@rollup/rollup-win32-x64-msvc': 4.13.0
'@rollup/rollup-android-arm-eabi': 4.13.1
'@rollup/rollup-android-arm64': 4.13.1
'@rollup/rollup-darwin-arm64': 4.13.1
'@rollup/rollup-darwin-x64': 4.13.1
'@rollup/rollup-linux-arm-gnueabihf': 4.13.1
'@rollup/rollup-linux-arm64-gnu': 4.13.1
'@rollup/rollup-linux-arm64-musl': 4.13.1
'@rollup/rollup-linux-riscv64-gnu': 4.13.1
'@rollup/rollup-linux-s390x-gnu': 4.13.1
'@rollup/rollup-linux-x64-gnu': 4.13.1
'@rollup/rollup-linux-x64-musl': 4.13.1
'@rollup/rollup-win32-arm64-msvc': 4.13.1
'@rollup/rollup-win32-ia32-msvc': 4.13.1
'@rollup/rollup-win32-x64-msvc': 4.13.1
fsevents: 2.3.3 fsevents: 2.3.3
dev: true dev: true
@ -5910,7 +5927,7 @@ packages:
postcss-selector-parser: 6.0.16 postcss-selector-parser: 6.0.16
dev: true dev: true
/stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.2.1):
/stylelint-config-html@1.1.0(postcss-html@1.6.0)(stylelint@16.3.1):
resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==}
engines: {node: ^12 || >=14} engines: {node: ^12 || >=14}
peerDependencies: peerDependencies:
@ -5918,19 +5935,19 @@ packages:
stylelint: '>=14.0.0' stylelint: '>=14.0.0'
dependencies: dependencies:
postcss-html: 1.6.0 postcss-html: 1.6.0
stylelint: 16.2.1(typescript@5.4.3)
stylelint: 16.3.1(typescript@5.4.3)
dev: true dev: true
/stylelint-config-recess-order@5.0.0(stylelint@16.2.1):
/stylelint-config-recess-order@5.0.0(stylelint@16.3.1):
resolution: {integrity: sha512-D+/Got844O96No2mj/H2NhLjj555iKAy/Mea+JCerfKB9TBKQW3/IudSVkTCxE4QiRDLldfH15x6FH1D1Anjhw==} resolution: {integrity: sha512-D+/Got844O96No2mj/H2NhLjj555iKAy/Mea+JCerfKB9TBKQW3/IudSVkTCxE4QiRDLldfH15x6FH1D1Anjhw==}
peerDependencies: peerDependencies:
stylelint: '>=16' stylelint: '>=16'
dependencies: dependencies:
stylelint: 16.2.1(typescript@5.4.3)
stylelint-order: 6.0.4(stylelint@16.2.1)
stylelint: 16.3.1(typescript@5.4.3)
stylelint-order: 6.0.4(stylelint@16.3.1)
dev: true dev: true
/stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.2.1):
/stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.3.1):
resolution: {integrity: sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==} resolution: {integrity: sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
@ -5942,12 +5959,12 @@ packages:
dependencies: dependencies:
postcss: 8.4.38 postcss: 8.4.38
postcss-scss: 4.0.9(postcss@8.4.38) postcss-scss: 4.0.9(postcss@8.4.38)
stylelint: 16.2.1(typescript@5.4.3)
stylelint-config-recommended: 14.0.0(stylelint@16.2.1)
stylelint-scss: 6.2.1(stylelint@16.2.1)
stylelint: 16.3.1(typescript@5.4.3)
stylelint-config-recommended: 14.0.0(stylelint@16.3.1)
stylelint-scss: 6.2.1(stylelint@16.3.1)
dev: true dev: true
/stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.2.1):
/stylelint-config-recommended-vue@1.5.0(postcss-html@1.6.0)(stylelint@16.3.1):
resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==} resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==}
engines: {node: ^12 || >=14} engines: {node: ^12 || >=14}
peerDependencies: peerDependencies:
@ -5956,21 +5973,21 @@ packages:
dependencies: dependencies:
postcss-html: 1.6.0 postcss-html: 1.6.0
semver: 7.6.0 semver: 7.6.0
stylelint: 16.2.1(typescript@5.4.3)
stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.2.1)
stylelint-config-recommended: 14.0.0(stylelint@16.2.1)
stylelint: 16.3.1(typescript@5.4.3)
stylelint-config-html: 1.1.0(postcss-html@1.6.0)(stylelint@16.3.1)
stylelint-config-recommended: 14.0.0(stylelint@16.3.1)
dev: true dev: true
/stylelint-config-recommended@14.0.0(stylelint@16.2.1):
/stylelint-config-recommended@14.0.0(stylelint@16.3.1):
resolution: {integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==} resolution: {integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
stylelint: ^16.0.0 stylelint: ^16.0.0
dependencies: dependencies:
stylelint: 16.2.1(typescript@5.4.3)
stylelint: 16.3.1(typescript@5.4.3)
dev: true dev: true
/stylelint-config-standard-scss@13.0.0(postcss@8.4.38)(stylelint@16.2.1):
/stylelint-config-standard-scss@13.0.0(postcss@8.4.38)(stylelint@16.3.1):
resolution: {integrity: sha512-WaLvkP689qSYUpJQPCo30TFJSSc3VzvvoWnrgp+7PpVby5o8fRUY1cZcP0sePZfjrFl9T8caGhcKg0GO34VDiQ==} resolution: {integrity: sha512-WaLvkP689qSYUpJQPCo30TFJSSc3VzvvoWnrgp+7PpVby5o8fRUY1cZcP0sePZfjrFl9T8caGhcKg0GO34VDiQ==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
@ -5981,32 +5998,32 @@ packages:
optional: true optional: true
dependencies: dependencies:
postcss: 8.4.38 postcss: 8.4.38
stylelint: 16.2.1(typescript@5.4.3)
stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.2.1)
stylelint-config-standard: 36.0.0(stylelint@16.2.1)
stylelint: 16.3.1(typescript@5.4.3)
stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.3.1)
stylelint-config-standard: 36.0.0(stylelint@16.3.1)
dev: true dev: true
/stylelint-config-standard@36.0.0(stylelint@16.2.1):
/stylelint-config-standard@36.0.0(stylelint@16.3.1):
resolution: {integrity: sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==} resolution: {integrity: sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
stylelint: ^16.1.0 stylelint: ^16.1.0
dependencies: dependencies:
stylelint: 16.2.1(typescript@5.4.3)
stylelint-config-recommended: 14.0.0(stylelint@16.2.1)
stylelint: 16.3.1(typescript@5.4.3)
stylelint-config-recommended: 14.0.0(stylelint@16.3.1)
dev: true dev: true
/stylelint-order@6.0.4(stylelint@16.2.1):
/stylelint-order@6.0.4(stylelint@16.3.1):
resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==}
peerDependencies: peerDependencies:
stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
dependencies: dependencies:
postcss: 8.4.38 postcss: 8.4.38
postcss-sorting: 8.0.2(postcss@8.4.38) postcss-sorting: 8.0.2(postcss@8.4.38)
stylelint: 16.2.1(typescript@5.4.3)
stylelint: 16.3.1(typescript@5.4.3)
dev: true dev: true
/stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.2.1):
/stylelint-prettier@5.0.0(prettier@3.2.5)(stylelint@16.3.1):
resolution: {integrity: sha512-RHfSlRJIsaVg5Br94gZVdWlz/rBTyQzZflNE6dXvSxt/GthWMY3gEHsWZEBaVGg7GM+XrtVSp4RznFlB7i0oyw==} resolution: {integrity: sha512-RHfSlRJIsaVg5Br94gZVdWlz/rBTyQzZflNE6dXvSxt/GthWMY3gEHsWZEBaVGg7GM+XrtVSp4RznFlB7i0oyw==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
@ -6015,10 +6032,10 @@ packages:
dependencies: dependencies:
prettier: 3.2.5 prettier: 3.2.5
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.0
stylelint: 16.2.1(typescript@5.4.3)
stylelint: 16.3.1(typescript@5.4.3)
dev: true dev: true
/stylelint-scss@6.2.1(stylelint@16.2.1):
/stylelint-scss@6.2.1(stylelint@16.3.1):
resolution: {integrity: sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw==} resolution: {integrity: sha512-ZoGLbVb1keZYRVGQlhB8G6sZOoNqw61whzzzGFWp05N12ErqLFfBv3JPrXiMLZaW98sBS7K/vUQhRnvUj4vwdw==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
peerDependencies: peerDependencies:
@ -6029,11 +6046,11 @@ packages:
postcss-resolve-nested-selector: 0.1.1 postcss-resolve-nested-selector: 0.1.1
postcss-selector-parser: 6.0.16 postcss-selector-parser: 6.0.16
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
stylelint: 16.2.1(typescript@5.4.3)
stylelint: 16.3.1(typescript@5.4.3)
dev: true dev: true
/stylelint@16.2.1(typescript@5.4.3):
resolution: {integrity: sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==}
/stylelint@16.3.1(typescript@5.4.3):
resolution: {integrity: sha512-/JOwQnBvxEKOT2RtNgGpBVXnCSMBgKOL2k7w0K52htwCyJls4+cHvc4YZgXlVoAZS9QJd2DgYAiRnja96pTgxw==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -6041,6 +6058,7 @@ packages:
'@csstools/css-tokenizer': 2.2.4 '@csstools/css-tokenizer': 2.2.4
'@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4) '@csstools/media-query-list-parser': 2.1.9(@csstools/css-parser-algorithms@2.6.1)(@csstools/css-tokenizer@2.2.4)
'@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.16) '@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.16)
'@dual-bundle/import-meta-resolve': 4.0.0
balanced-match: 2.0.0 balanced-match: 2.0.0
colord: 2.9.3 colord: 2.9.3
cosmiconfig: 9.0.0(typescript@5.4.3) cosmiconfig: 9.0.0(typescript@5.4.3)
@ -6057,7 +6075,7 @@ packages:
ignore: 5.3.1 ignore: 5.3.1
imurmurhash: 0.1.4 imurmurhash: 0.1.4
is-plain-object: 5.0.0 is-plain-object: 5.0.0
known-css-properties: 0.29.0
known-css-properties: 0.30.0
mathml-tag-names: 2.1.3 mathml-tag-names: 2.1.3
meow: 13.2.0 meow: 13.2.0
micromatch: 4.0.5 micromatch: 4.0.5
@ -6073,7 +6091,7 @@ packages:
strip-ansi: 7.1.0 strip-ansi: 7.1.0
supports-hyperlinks: 3.0.0 supports-hyperlinks: 3.0.0
svg-tags: 1.0.0 svg-tags: 1.0.0
table: 6.8.1
table: 6.8.2
write-file-atomic: 5.0.1 write-file-atomic: 5.0.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -6087,7 +6105,7 @@ packages:
dependencies: dependencies:
'@jridgewell/gen-mapping': 0.3.5 '@jridgewell/gen-mapping': 0.3.5
commander: 4.1.1 commander: 4.1.1
glob: 10.3.10
glob: 10.3.11
lines-and-columns: 1.2.4 lines-and-columns: 1.2.4
mz: 2.7.0 mz: 2.7.0
pirates: 4.0.6 pirates: 4.0.6
@ -6160,8 +6178,8 @@ packages:
tslib: 2.6.2 tslib: 2.6.2
dev: true dev: true
/table@6.8.1:
resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
/table@6.8.2:
resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
dependencies: dependencies:
ajv: 8.12.0 ajv: 8.12.0
@ -6171,8 +6189,8 @@ packages:
strip-ansi: 6.0.1 strip-ansi: 6.0.1
dev: true dev: true
/tailwindcss@3.4.1:
resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
/tailwindcss@3.4.3:
resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -6311,11 +6329,6 @@ packages:
engines: {node: '>=12.20'} engines: {node: '>=12.20'}
dev: true dev: true
/type-fest@3.13.1:
resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==}
engines: {node: '>=14.16'}
dev: true
/typescript@5.4.3: /typescript@5.4.3:
resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
@ -6435,7 +6448,7 @@ packages:
- rollup - rollup
dev: true dev: true
/vite-plugin-compression@0.5.1(vite@5.2.3):
/vite-plugin-compression@0.5.1(vite@5.2.6):
resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
peerDependencies: peerDependencies:
vite: '>=2.0.0' vite: '>=2.0.0'
@ -6443,7 +6456,7 @@ packages:
chalk: 4.1.2 chalk: 4.1.2
debug: 4.3.4 debug: 4.3.4
fs-extra: 10.1.0 fs-extra: 10.1.0
vite: 5.2.3(@types/node@20.11.30)(sass@1.72.0)
vite: 5.2.6(@types/node@20.11.30)(sass@1.72.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -6475,8 +6488,8 @@ packages:
vue: 3.4.21(typescript@5.4.3) vue: 3.4.21(typescript@5.4.3)
dev: true dev: true
/vite@5.2.3(@types/node@20.11.30)(sass@1.72.0):
resolution: {integrity: sha512-+i1oagbvkVIhEy9TnEV+fgXsng13nZM90JQbrcPrf6DvW2mXARlz+DK7DLiDP+qeKoD1FCVx/1SpFL1CLq9Mhw==}
/vite@5.2.6(@types/node@20.11.30)(sass@1.72.0):
resolution: {integrity: sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==}
engines: {node: ^18.0.0 || >=20.0.0} engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -6506,7 +6519,7 @@ packages:
'@types/node': 20.11.30 '@types/node': 20.11.30
esbuild: 0.20.2 esbuild: 0.20.2
postcss: 8.4.38 postcss: 8.4.38
rollup: 4.13.0
rollup: 4.13.1
sass: 1.72.0 sass: 1.72.0
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3

2
public/platform-config.json

@ -1,5 +1,5 @@
{ {
"Version": "5.2.0",
"Version": "5.3.0",
"Title": "PureAdmin", "Title": "PureAdmin",
"FixedHeader": true, "FixedHeader": true,
"HiddenSideBar": false, "HiddenSideBar": false,

3
src/App.vue

@ -8,9 +8,10 @@
<script lang="ts"> <script lang="ts">
import { defineComponent } from "vue"; import { defineComponent } from "vue";
import { ElConfigProvider } from "element-plus"; import { ElConfigProvider } from "element-plus";
import { ReDialog } from "@/components/ReDialog";
import en from "element-plus/dist/locale/en.mjs"; import en from "element-plus/dist/locale/en.mjs";
import zhCn from "element-plus/dist/locale/zh-cn.mjs"; import zhCn from "element-plus/dist/locale/zh-cn.mjs";
import { ReDialog } from "@/components/ReDialog";
export default defineComponent({ export default defineComponent({
name: "app", name: "app",
components: { components: {

4
src/components/ReDialog/index.ts

@ -51,8 +51,8 @@ const closeAllDialog = () => {
/** 使`addDialog` /** 使`addDialog`
* https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L4 * https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L4
* https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L13
* https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L20
* https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L12
* https://github.com/pure-admin/vue-pure-admin/blob/main/src/App.vue#L22
*/ */
const ReDialog = withInstall(reDialog); const ReDialog = withInstall(reDialog);

6
src/components/ReDialog/index.vue

@ -1,10 +1,10 @@
<script setup lang="ts"> <script setup lang="ts">
import { import {
closeDialog,
dialogStore,
type EventType, type EventType,
type ButtonProps, type ButtonProps,
type DialogOptions
type DialogOptions,
closeDialog,
dialogStore
} from "./index"; } from "./index";
import { ref, computed } from "vue"; import { ref, computed } from "vue";
import { isFunction } from "@pureadmin/utils"; import { isFunction } from "@pureadmin/utils";

23
src/components/RePureTableBar/src/bar.tsx

@ -1,3 +1,5 @@
import Sortable from "sortablejs";
import { transformI18n } from "@/plugins/i18n";
import { useEpThemeStoreHook } from "@/store/modules/epTheme"; import { useEpThemeStoreHook } from "@/store/modules/epTheme";
import { defineComponent, ref, computed, type PropType, nextTick } from "vue"; import { defineComponent, ref, computed, type PropType, nextTick } from "vue";
import { import {
@ -8,7 +10,6 @@ import {
getKeyList getKeyList
} from "@pureadmin/utils"; } from "@pureadmin/utils";
import Sortable from "sortablejs";
import DragIcon from "./svg/drag.svg?component"; import DragIcon from "./svg/drag.svg?component";
import ExpandIcon from "./svg/expand.svg?component"; import ExpandIcon from "./svg/expand.svg?component";
import RefreshIcon from "./svg/refresh.svg?component"; import RefreshIcon from "./svg/refresh.svg?component";
@ -118,6 +119,7 @@ export default defineComponent({
} }
function handleCheckedColumnsChange(value: string[]) { function handleCheckedColumnsChange(value: string[]) {
checkedColumns.value = value;
const checkedCount = value.length; const checkedCount = value.length;
checkAll.value = checkedCount === checkColumnList.length; checkAll.value = checkedCount === checkColumnList.length;
isIndeterminate.value = isIndeterminate.value =
@ -125,7 +127,9 @@ export default defineComponent({
} }
function handleCheckColumnListChange(val: boolean, label: string) { function handleCheckColumnListChange(val: boolean, label: string) {
dynamicColumns.value.filter(item => item.label === label)[0].hide = !val;
dynamicColumns.value.filter(
item => transformI18n(item.label) === transformI18n(label)
)[0].hide = !val;
} }
async function onReset() { async function onReset() {
@ -198,7 +202,9 @@ export default defineComponent({
}; };
const isFixedColumn = (label: string) => { const isFixedColumn = (label: string) => {
return dynamicColumns.value.filter(item => item.label === label)[0].fixed
return dynamicColumns.value.filter(
item => transformI18n(item.label) === transformI18n(label)
)[0].fixed
? true ? true
: false; : false;
}; };
@ -293,7 +299,7 @@ export default defineComponent({
<div class="pt-[6px] pl-[11px]"> <div class="pt-[6px] pl-[11px]">
<el-scrollbar max-height="36vh"> <el-scrollbar max-height="36vh">
<el-checkbox-group <el-checkbox-group
v-model={checkedColumns.value}
modelValue={checkedColumns.value}
onChange={value => handleCheckedColumnsChange(value)} onChange={value => handleCheckedColumnsChange(value)}
> >
<el-space <el-space
@ -301,7 +307,7 @@ export default defineComponent({
alignment="flex-start" alignment="flex-start"
size={0} size={0}
> >
{checkColumnList.map(item => {
{checkColumnList.map((item, index) => {
return ( return (
<div class="flex items-center"> <div class="flex items-center">
<DragIcon <DragIcon
@ -316,17 +322,18 @@ export default defineComponent({
}) => rowDrop(event)} }) => rowDrop(event)}
/> />
<el-checkbox <el-checkbox
key={item}
key={index}
label={item}
value={item} value={item}
onChange={value => onChange={value =>
handleCheckColumnListChange(value, item) handleCheckColumnListChange(value, item)
} }
> >
<span <span
title={item}
title={transformI18n(item)}
class="inline-block w-[120px] truncate hover:text-text_color_primary" class="inline-block w-[120px] truncate hover:text-text_color_primary"
> >
{item}
{transformI18n(item)}
</span> </span>
</el-checkbox> </el-checkbox>
</div> </div>

101
src/components/ReSegmented/src/index.css

@ -1,11 +1,20 @@
.pure-segmented { .pure-segmented {
--pure-control-padding-horizontal: 12px;
--pure-control-padding-horizontal-sm: 8px;
--pure-segmented-track-padding: 2px;
--pure-segmented-line-width: 1px;
--pure-segmented-border-radius-small: 4px;
--pure-segmented-border-radius-base: 6px;
--pure-segmented-border-radius-large: 8px;
box-sizing: border-box; box-sizing: border-box;
display: inline-block; display: inline-block;
padding: 2px;
font-size: 14px;
padding: var(--pure-segmented-track-padding);
font-size: var(--el-font-size-base);
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
background-color: rgb(0 0 0 / 4%); background-color: rgb(0 0 0 / 4%);
border-radius: 2px;
border-radius: var(--pure-segmented-border-radius-base);
} }
.pure-segmented-block { .pure-segmented-block {
@ -23,6 +32,75 @@
text-overflow: ellipsis; text-overflow: ellipsis;
} }
/* small */
.pure-segmented.pure-segmented--small {
border-radius: var(--pure-segmented-border-radius-small);
}
.pure-segmented.pure-segmented--small .pure-segmented-item {
border-radius: var(--el-border-radius-small);
}
.pure-segmented.pure-segmented--small .pure-segmented-item > div {
min-height: calc(
var(--el-component-size-small) - var(--pure-segmented-track-padding) * 2
);
line-height: calc(
var(--el-component-size-small) - var(--pure-segmented-track-padding) * 2
);
padding: 0
calc(
var(--pure-control-padding-horizontal-sm) -
var(--pure-segmented-line-width)
);
}
/* large */
.pure-segmented.pure-segmented--large {
border-radius: var(--pure-segmented-border-radius-large);
}
.pure-segmented.pure-segmented--large .pure-segmented-item {
border-radius: calc(
var(--el-border-radius-base) + var(--el-border-radius-small)
);
}
.pure-segmented.pure-segmented--large .pure-segmented-item > div {
min-height: calc(
var(--el-component-size-large) - var(--pure-segmented-track-padding) * 2
);
line-height: calc(
var(--el-component-size-large) - var(--pure-segmented-track-padding) * 2
);
padding: 0
calc(
var(--pure-control-padding-horizontal) - var(--pure-segmented-line-width)
);
font-size: var(--el-font-size-medium);
}
/* default */
.pure-segmented-item {
position: relative;
text-align: center;
cursor: pointer;
border-radius: var(--el-border-radius-base);
transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.pure-segmented .pure-segmented-item > div {
min-height: calc(
var(--el-component-size) - var(--pure-segmented-track-padding) * 2
);
line-height: calc(
var(--el-component-size) - var(--pure-segmented-track-padding) * 2
);
padding: 0
calc(
var(--pure-control-padding-horizontal) - var(--pure-segmented-line-width)
);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
transition: 0.1s;
}
.pure-segmented-group { .pure-segmented-group {
position: relative; position: relative;
display: flex; display: flex;
@ -52,23 +130,6 @@
will-change: transform, width; will-change: transform, width;
} }
.pure-segmented-item {
position: relative;
text-align: center;
cursor: pointer;
border-radius: 4px;
transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.pure-segmented-item > div {
min-height: 28px;
line-height: 28px;
padding: 0 11px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.pure-segmented-item > input { .pure-segmented-item > input {
position: absolute; position: absolute;
inset-block-start: 0; inset-block-start: 0;

36
src/components/ReSegmented/src/index.tsx

@ -1,5 +1,14 @@
import "./index.css"; import "./index.css";
import type { OptionsType } from "./type";
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
import {
useDark,
isNumber,
isFunction,
useResizeObserver
} from "@pureadmin/utils";
import { import {
type PropType,
h, h,
ref, ref,
toRef, toRef,
@ -8,14 +17,6 @@ import {
defineComponent, defineComponent,
getCurrentInstance getCurrentInstance
} from "vue"; } from "vue";
import type { OptionsType } from "./type";
import { useRenderIcon } from "@/components/ReIcon/src/hooks";
import {
isFunction,
isNumber,
useDark,
useResizeObserver
} from "@pureadmin/utils";
const props = { const props = {
options: { options: {
@ -32,6 +33,10 @@ const props = {
block: { block: {
type: Boolean, type: Boolean,
default: false default: false
},
/** 控件尺寸 */
size: {
type: String as PropType<"small" | "default" | "large">
} }
}; };
@ -81,13 +86,14 @@ export default defineComponent({
function handleInit(index = curIndex.value) { function handleInit(index = curIndex.value) {
nextTick(() => { nextTick(() => {
const curLabelRef = instance?.proxy?.$refs[`labelRef${index}`] as ElRef; const curLabelRef = instance?.proxy?.$refs[`labelRef${index}`] as ElRef;
if (!curLabelRef) return;
width.value = curLabelRef.clientWidth; width.value = curLabelRef.clientWidth;
translateX.value = curLabelRef.offsetLeft; translateX.value = curLabelRef.offsetLeft;
initStatus.value = true; initStatus.value = true;
}); });
} }
if (props.block) {
function handleResizeInit() {
useResizeObserver(".pure-segmented", () => { useResizeObserver(".pure-segmented", () => {
nextTick(() => { nextTick(() => {
handleInit(curIndex.value); handleInit(curIndex.value);
@ -95,6 +101,8 @@ export default defineComponent({
}); });
} }
props.block && handleResizeInit();
watch( watch(
() => curIndex.value, () => curIndex.value,
index => { index => {
@ -103,11 +111,12 @@ export default defineComponent({
}); });
}, },
{ {
deep: true,
immediate: true immediate: true
} }
); );
watch(() => props.size, handleResizeInit);
const rendLabel = () => { const rendLabel = () => {
return props.options.map((option, index) => { return props.options.map((option, index) => {
return ( return (
@ -167,7 +176,12 @@ export default defineComponent({
return () => ( return () => (
<div <div
class={["pure-segmented", props.block ? "pure-segmented-block" : ""]}
class={{
"pure-segmented": true,
"pure-segmented-block": props.block,
"pure-segmented--large": props.size === "large",
"pure-segmented--small": props.size === "small"
}}
> >
<div class="pure-segmented-group"> <div class="pure-segmented-group">
<div <div

2
src/components/ReText/src/index.vue

@ -1,6 +1,6 @@
<script lang="ts" setup> <script lang="ts" setup>
import { h, onMounted, ref, useSlots } from "vue"; import { h, onMounted, ref, useSlots } from "vue";
import { useTippy, type TippyOptions } from "vue-tippy";
import { type TippyOptions, useTippy } from "vue-tippy";
const props = defineProps({ const props = defineProps({
// //

2
src/config/index.ts

@ -1,5 +1,5 @@
import type { App } from "vue";
import axios from "axios"; import axios from "axios";
import type { App } from "vue";
let config: object = {}; let config: object = {};
const { VITE_PUBLIC_PATH } = import.meta.env; const { VITE_PUBLIC_PATH } = import.meta.env;

6
src/directives/optimize/index.ts

@ -1,9 +1,9 @@
import { import {
isFunction,
isObject,
isArray, isArray,
throttle,
debounce, debounce,
throttle
isObject,
isFunction
} from "@pureadmin/utils"; } from "@pureadmin/utils";
import { useEventListener } from "@vueuse/core"; import { useEventListener } from "@vueuse/core";
import type { Directive, DirectiveBinding } from "vue"; import type { Directive, DirectiveBinding } from "vue";

4
src/layout/components/navbar.vue

@ -96,14 +96,14 @@ const { t, locale, translationCh, translationEn } = useTranslationLang();
:icon="LogoutCircleRLine" :icon="LogoutCircleRLine"
style="margin: 5px" style="margin: 5px"
/> />
{{ t("buttons.hsLoginOut") }}
{{ t("buttons.pureLoginOut") }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<span <span
class="set-icon navbar-bg-hover" class="set-icon navbar-bg-hover"
:title="t('buttons.hssystemSet')"
:title="t('buttons.pureSystemSet')"
@click="onPanel" @click="onPanel"
> >
<IconifyIconOffline :icon="Setting" /> <IconifyIconOffline :icon="Setting" />

4
src/layout/components/sidebar/horizontal.vue

@ -113,14 +113,14 @@ nextTick(() => {
:icon="LogoutCircleRLine" :icon="LogoutCircleRLine"
style="margin: 5px" style="margin: 5px"
/> />
{{ t("buttons.hsLoginOut") }}
{{ t("buttons.pureLoginOut") }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<span <span
class="set-icon navbar-bg-hover" class="set-icon navbar-bg-hover"
:title="t('buttons.hssystemSet')"
:title="t('buttons.pureSystemSet')"
@click="onPanel" @click="onPanel"
> >
<IconifyIconOffline :icon="Setting" /> <IconifyIconOffline :icon="Setting" />

4
src/layout/components/sidebar/mixNav.vue

@ -146,14 +146,14 @@ watch(
:icon="LogoutCircleRLine" :icon="LogoutCircleRLine"
style="margin: 5px" style="margin: 5px"
/> />
{{ t("buttons.hsLoginOut") }}
{{ t("buttons.pureLoginOut") }}
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<span <span
class="set-icon navbar-bg-hover" class="set-icon navbar-bg-hover"
:title="t('buttons.hssystemSet')"
:title="t('buttons.pureSystemSet')"
@click="onPanel" @click="onPanel"
> >
<IconifyIconOffline :icon="Setting" /> <IconifyIconOffline :icon="Setting" />

4
src/layout/components/tag/index.vue

@ -333,10 +333,10 @@ function onClickDrop(key, item, selectRoute?: RouteConfigs) {
setTimeout(() => { setTimeout(() => {
if (pureSetting.hiddenSideBar) { if (pureSetting.hiddenSideBar) {
tagsViews[6].icon = ExitFullscreen; tagsViews[6].icon = ExitFullscreen;
tagsViews[6].text = $t("buttons.hscontentExitFullScreen");
tagsViews[6].text = $t("buttons.pureContentExitFullScreen");
} else { } else {
tagsViews[6].icon = Fullscreen; tagsViews[6].icon = Fullscreen;
tagsViews[6].text = $t("buttons.hscontentFullScreen");
tagsViews[6].text = $t("buttons.pureContentFullScreen");
} }
}, 100); }, 100);
break; break;

2
src/layout/frameView.vue

@ -71,7 +71,7 @@ onMounted(() => {
<div <div
v-loading="loading" v-loading="loading"
class="frame" class="frame"
:element-loading-text="t('status.hsLoad')"
:element-loading-text="t('status.pureLoad')"
> >
<iframe ref="frameRef" :src="frameSrc" class="frame-iframe" /> <iframe ref="frameRef" :src="frameSrc" class="frame-iframe" />
</div> </div>

14
src/layout/hooks/useTag.ts

@ -64,49 +64,49 @@ export function useTags() {
const tagsViews = reactive<Array<tagsViewsType>>([ const tagsViews = reactive<Array<tagsViewsType>>([
{ {
icon: RefreshRight, icon: RefreshRight,
text: $t("buttons.hsreload"),
text: $t("buttons.pureReload"),
divided: false, divided: false,
disabled: false, disabled: false,
show: true show: true
}, },
{ {
icon: Close, icon: Close,
text: $t("buttons.hscloseCurrentTab"),
text: $t("buttons.pureCloseCurrentTab"),
divided: false, divided: false,
disabled: multiTags.value.length > 1 ? false : true, disabled: multiTags.value.length > 1 ? false : true,
show: true show: true
}, },
{ {
icon: CloseLeftTags, icon: CloseLeftTags,
text: $t("buttons.hscloseLeftTabs"),
text: $t("buttons.pureCloseLeftTabs"),
divided: true, divided: true,
disabled: multiTags.value.length > 1 ? false : true, disabled: multiTags.value.length > 1 ? false : true,
show: true show: true
}, },
{ {
icon: CloseRightTags, icon: CloseRightTags,
text: $t("buttons.hscloseRightTabs"),
text: $t("buttons.pureCloseRightTabs"),
divided: false, divided: false,
disabled: multiTags.value.length > 1 ? false : true, disabled: multiTags.value.length > 1 ? false : true,
show: true show: true
}, },
{ {
icon: CloseOtherTags, icon: CloseOtherTags,
text: $t("buttons.hscloseOtherTabs"),
text: $t("buttons.pureCloseOtherTabs"),
divided: true, divided: true,
disabled: multiTags.value.length > 2 ? false : true, disabled: multiTags.value.length > 2 ? false : true,
show: true show: true
}, },
{ {
icon: CloseAllTags, icon: CloseAllTags,
text: $t("buttons.hscloseAllTabs"),
text: $t("buttons.pureCloseAllTabs"),
divided: false, divided: false,
disabled: multiTags.value.length > 1 ? false : true, disabled: multiTags.value.length > 1 ? false : true,
show: true show: true
}, },
{ {
icon: Fullscreen, icon: Fullscreen,
text: $t("buttons.hscontentFullScreen"),
text: $t("buttons.pureContentFullScreen"),
divided: true, divided: true,
disabled: false, disabled: false,
show: true show: true

2
src/layout/types.ts

@ -7,7 +7,7 @@ export const routerArrays: Array<RouteConfigs> =
{ {
path: "/welcome", path: "/welcome",
meta: { meta: {
title: "menus.hshome",
title: "menus.pureHome",
icon: "ep:home-filled" icon: "ep:home-filled"
} }
} }

8
src/router/modules/error.ts

@ -6,7 +6,7 @@ export default {
meta: { meta: {
icon: "ri:information-line", icon: "ri:information-line",
// showLink: false, // showLink: false,
title: $t("menus.hsabnormal"),
title: $t("menus.pureAbnormal"),
rank: 9 rank: 9
}, },
children: [ children: [
@ -15,7 +15,7 @@ export default {
name: "403", name: "403",
component: () => import("@/views/error/403.vue"), component: () => import("@/views/error/403.vue"),
meta: { meta: {
title: $t("menus.hsfourZeroOne")
title: $t("menus.pureFourZeroOne")
} }
}, },
{ {
@ -23,7 +23,7 @@ export default {
name: "404", name: "404",
component: () => import("@/views/error/404.vue"), component: () => import("@/views/error/404.vue"),
meta: { meta: {
title: $t("menus.hsfourZeroFour")
title: $t("menus.pureFourZeroFour")
} }
}, },
{ {
@ -31,7 +31,7 @@ export default {
name: "500", name: "500",
component: () => import("@/views/error/500.vue"), component: () => import("@/views/error/500.vue"),
meta: { meta: {
title: $t("menus.hsFive")
title: $t("menus.pureFive")
} }
} }
] ]

4
src/router/modules/home.ts

@ -9,7 +9,7 @@ export default {
redirect: "/welcome", redirect: "/welcome",
meta: { meta: {
icon: "ep:home-filled", icon: "ep:home-filled",
title: $t("menus.hshome"),
title: $t("menus.pureHome"),
rank: 0 rank: 0
}, },
children: [ children: [
@ -18,7 +18,7 @@ export default {
name: "Welcome", name: "Welcome",
component: () => import("@/views/welcome/index.vue"), component: () => import("@/views/welcome/index.vue"),
meta: { meta: {
title: $t("menus.hshome"),
title: $t("menus.pureHome"),
showLink: VITE_HIDE_HOME === "true" ? false : true showLink: VITE_HIDE_HOME === "true" ? false : true
} }
} }

4
src/router/modules/remaining.ts

@ -7,7 +7,7 @@ export default [
name: "Login", name: "Login",
component: () => import("@/views/login/index.vue"), component: () => import("@/views/login/index.vue"),
meta: { meta: {
title: $t("menus.hslogin"),
title: $t("menus.pureLogin"),
showLink: false, showLink: false,
rank: 101 rank: 101
} }
@ -16,7 +16,7 @@ export default [
path: "/redirect", path: "/redirect",
component: Layout, component: Layout,
meta: { meta: {
title: $t("status.hsLoad"),
title: $t("status.pureLoad"),
showLink: false, showLink: false,
rank: 102 rank: 102
}, },

8
src/views/login/index.vue

@ -150,7 +150,7 @@ onBeforeUnmount(() => {
:rules="[ :rules="[
{ {
required: true, required: true,
message: transformI18n($t('login.usernameReg')),
message: transformI18n($t('login.pureUsernameReg')),
trigger: 'blur' trigger: 'blur'
} }
]" ]"
@ -159,7 +159,7 @@ onBeforeUnmount(() => {
<el-input <el-input
v-model="ruleForm.username" v-model="ruleForm.username"
clearable clearable
:placeholder="t('login.username')"
:placeholder="t('login.pureUsername')"
:prefix-icon="useRenderIcon(User)" :prefix-icon="useRenderIcon(User)"
/> />
</el-form-item> </el-form-item>
@ -171,7 +171,7 @@ onBeforeUnmount(() => {
v-model="ruleForm.password" v-model="ruleForm.password"
clearable clearable
show-password show-password
:placeholder="t('login.password')"
:placeholder="t('login.purePassword')"
:prefix-icon="useRenderIcon(Lock)" :prefix-icon="useRenderIcon(Lock)"
/> />
</el-form-item> </el-form-item>
@ -185,7 +185,7 @@ onBeforeUnmount(() => {
:loading="loading" :loading="loading"
@click="onLogin(ruleFormRef)" @click="onLogin(ruleFormRef)"
> >
{{ t("login.login") }}
{{ t("login.pureLogin") }}
</el-button> </el-button>
</Motion> </Motion>
</el-form> </el-form>

4
src/views/login/utils/rule.ts

@ -12,9 +12,9 @@ const loginRules = reactive(<FormRules>{
{ {
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if (value === "") { if (value === "") {
callback(new Error(transformI18n($t("login.passwordReg"))));
callback(new Error(transformI18n($t("login.purePassWordReg"))));
} else if (!REGEXP_PWD.test(value)) { } else if (!REGEXP_PWD.test(value)) {
callback(new Error(transformI18n($t("login.passwordRuleReg"))));
callback(new Error(transformI18n($t("login.purePassWordRuleReg"))));
} else { } else {
callback(); callback();
} }

Loading…
Cancel
Save