Browse Source

release: update `5.3.0`

i18n
xiaoxian521 8 months ago
parent
commit
b76600a981
  1. 3
      README.en-US.md
  2. 3
      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

3
README.en-US.md

@ -11,8 +11,7 @@ The simplified version is based on the shelf extracted from [vue-pure-admin](htt
## Supporting video
[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 all pages and function demonstrations of vue-pure-admin](https://www.bilibili.com/video/BV1Rx4y1U7Mv)
[Click me to view the rapid development tutorial](https://www.bilibili.com/video/BV1kg411v7QT)
## Nanny-level documents

3
README.md

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

68
locales/en.yaml

@ -1,45 +1,31 @@
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:
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:
hsLoad: Loading...
pureLoad: Loading...
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:
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:
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:
hsLoad: 加载中...
pureLoad: 加载中...
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 = {
path: "/permission",
meta: {
title: "menus.permission",
title: "menus.purePermission",
icon: "ep:lollipop",
rank: 10
},
@ -18,7 +18,7 @@ const permissionRouter = {
path: "/permission/page/index",
name: "PermissionPage",
meta: {
title: "menus.permissionPage",
title: "menus.purePermissionPage",
roles: ["admin", "common"]
}
},
@ -26,7 +26,7 @@ const permissionRouter = {
path: "/permission/button/index",
name: "PermissionButton",
meta: {
title: "menus.permissionButton",
title: "menus.purePermissionButton",
roles: ["admin", "common"],
auths: [
"permission:btn:add",

16
package.json

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

357
pnpm-lock.yaml

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

2
public/platform-config.json

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

3
src/App.vue

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

4
src/components/ReDialog/index.ts

@ -51,8 +51,8 @@ const closeAllDialog = () => {
/** 使`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#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);

6
src/components/ReDialog/index.vue

@ -1,10 +1,10 @@
<script setup lang="ts">
import {
closeDialog,
dialogStore,
type EventType,
type ButtonProps,
type DialogOptions
type DialogOptions,
closeDialog,
dialogStore
} from "./index";
import { ref, computed } from "vue";
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 { defineComponent, ref, computed, type PropType, nextTick } from "vue";
import {
@ -8,7 +10,6 @@ import {
getKeyList
} from "@pureadmin/utils";
import Sortable from "sortablejs";
import DragIcon from "./svg/drag.svg?component";
import ExpandIcon from "./svg/expand.svg?component";
import RefreshIcon from "./svg/refresh.svg?component";
@ -118,6 +119,7 @@ export default defineComponent({
}
function handleCheckedColumnsChange(value: string[]) {
checkedColumns.value = value;
const checkedCount = value.length;
checkAll.value = checkedCount === checkColumnList.length;
isIndeterminate.value =
@ -125,7 +127,9 @@ export default defineComponent({
}
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() {
@ -198,7 +202,9 @@ export default defineComponent({
};
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
: false;
};
@ -293,7 +299,7 @@ export default defineComponent({
<div class="pt-[6px] pl-[11px]">
<el-scrollbar max-height="36vh">
<el-checkbox-group
v-model={checkedColumns.value}
modelValue={checkedColumns.value}
onChange={value => handleCheckedColumnsChange(value)}
>
<el-space
@ -301,7 +307,7 @@ export default defineComponent({
alignment="flex-start"
size={0}
>
{checkColumnList.map(item => {
{checkColumnList.map((item, index) => {
return (
<div class="flex items-center">
<DragIcon
@ -316,17 +322,18 @@ export default defineComponent({
}) => rowDrop(event)}
/>
<el-checkbox
key={item}
key={index}
label={item}
value={item}
onChange={value =>
handleCheckColumnListChange(value, item)
}
>
<span
title={item}
title={transformI18n(item)}
class="inline-block w-[120px] truncate hover:text-text_color_primary"
>
{item}
{transformI18n(item)}
</span>
</el-checkbox>
</div>

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

@ -1,11 +1,20 @@
.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;
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);
background-color: rgb(0 0 0 / 4%);
border-radius: 2px;
border-radius: var(--pure-segmented-border-radius-base);
}
.pure-segmented-block {
@ -23,6 +32,75 @@
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 {
position: relative;
display: flex;
@ -52,23 +130,6 @@
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 {
position: absolute;
inset-block-start: 0;

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

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

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

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

2
src/config/index.ts

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

6
src/directives/optimize/index.ts

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

4
src/layout/components/navbar.vue

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

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

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

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

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

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

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

2
src/layout/frameView.vue

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

14
src/layout/hooks/useTag.ts

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

2
src/layout/types.ts

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

8
src/router/modules/error.ts

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

4
src/router/modules/home.ts

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

4
src/router/modules/remaining.ts

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

8
src/views/login/index.vue

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

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

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

Loading…
Cancel
Save