diff --git a/build/optimize.ts b/build/optimize.ts index eda7125..f069907 100644 --- a/build/optimize.ts +++ b/build/optimize.ts @@ -12,6 +12,7 @@ const include = [ "pinia", "js-cookie", "sortablejs", + "pinyin-pro", "@vueuse/core", "@pureadmin/utils", "responsive-storage" diff --git a/package.json b/package.json index 7dd0033..b356837 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pure-admin-thin", - "version": "4.4.0", + "version": "4.5.0", "private": true, "scripts": { "dev": "NODE_OPTIONS=--max-old-space-size=4096 vite", @@ -38,25 +38,26 @@ "axios": "^1.4.0", "dayjs": "^1.11.8", "echarts": "^5.4.2", - "element-plus": "^2.3.6", + "element-plus": "^2.3.7", "js-cookie": "^3.0.5", "mitt": "^3.0.0", "mockjs": "^1.1.0", "nprogress": "^0.2.0", "path": "^0.12.7", "pinia": "^2.1.4", + "pinyin-pro": "^3.15.2", "qs": "^6.11.2", "responsive-storage": "^2.2.0", "sortablejs": "^1.15.0", "vue": "^3.3.4", "vue-router": "^4.2.2", - "vue-types": "^5.0.4" + "vue-types": "^5.1.0" }, "devDependencies": { - "@commitlint/cli": "^17.6.5", - "@commitlint/config-conventional": "^17.6.5", - "@iconify-icons/ep": "^1.2.11", - "@iconify-icons/ri": "^1.2.8", + "@commitlint/cli": "^17.6.6", + "@commitlint/config-conventional": "^17.6.6", + "@iconify-icons/ep": "^1.2.12", + "@iconify-icons/ri": "^1.2.9", "@iconify/vue": "^4.1.1", "@pureadmin/theme": "^3.1.0", "@types/js-cookie": "^3.0.3", @@ -65,8 +66,8 @@ "@types/nprogress": "0.2.0", "@types/qs": "^6.9.7", "@types/sortablejs": "^1.15.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", + "@typescript-eslint/eslint-plugin": "^5.60.0", + "@typescript-eslint/parser": "^5.60.0", "@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue-jsx": "^3.0.1", "@vue/eslint-config-prettier": "^7.1.0", @@ -76,7 +77,7 @@ "cssnano": "^6.0.1", "eslint": "^8.43.0", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.15.0", + "eslint-plugin-vue": "^9.15.1", "husky": "^8.0.3", "lint-staged": "^13.2.2", "picocolors": "^1.0.0", @@ -88,9 +89,9 @@ "pretty-quick": "^3.1.3", "rimraf": "^5.0.1", "rollup-plugin-visualizer": "^5.9.2", - "sass": "^1.63.4", + "sass": "^1.63.6", "sass-loader": "^13.3.2", - "stylelint": "^15.8.0", + "stylelint": "^15.9.0", "stylelint-config-html": "^1.1.0", "stylelint-config-recess-order": "^4.2.0", "stylelint-config-recommended": "^12.0.0", @@ -103,7 +104,7 @@ "stylelint-scss": "^5.0.1", "svgo": "^3.0.2", "tailwindcss": "^3.3.2", - "terser": "^5.18.0", + "terser": "^5.18.1", "typescript": "5.0.4", "vite": "^4.3.9", "vite-plugin-cdn-import": "^0.3.5", @@ -112,7 +113,7 @@ "vite-plugin-remove-console": "^2.1.1", "vite-svg-loader": "^4.0.0", "vue-eslint-parser": "^9.3.1", - "vue-tsc": "^1.8.0" + "vue-tsc": "^1.8.1" }, "pnpm": { "peerDependencyRules": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f38408e..8504211 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,10 +1,10 @@ lockfileVersion: 5.4 specifiers: - "@commitlint/cli": ^17.6.5 - "@commitlint/config-conventional": ^17.6.5 - "@iconify-icons/ep": ^1.2.11 - "@iconify-icons/ri": ^1.2.8 + "@commitlint/cli": ^17.6.6 + "@commitlint/config-conventional": ^17.6.6 + "@iconify-icons/ep": ^1.2.12 + "@iconify-icons/ri": ^1.2.9 "@iconify/vue": ^4.1.1 "@pureadmin/descriptions": ^1.1.1 "@pureadmin/table": ^2.3.2 @@ -16,8 +16,8 @@ specifiers: "@types/nprogress": 0.2.0 "@types/qs": ^6.9.7 "@types/sortablejs": ^1.15.1 - "@typescript-eslint/eslint-plugin": ^5.59.11 - "@typescript-eslint/parser": ^5.59.11 + "@typescript-eslint/eslint-plugin": ^5.60.0 + "@typescript-eslint/parser": ^5.60.0 "@vitejs/plugin-vue": ^4.2.3 "@vitejs/plugin-vue-jsx": ^3.0.1 "@vue/eslint-config-prettier": ^7.1.0 @@ -31,10 +31,10 @@ specifiers: cssnano: ^6.0.1 dayjs: ^1.11.8 echarts: ^5.4.2 - element-plus: ^2.3.6 + element-plus: ^2.3.7 eslint: ^8.43.0 eslint-plugin-prettier: ^4.2.1 - eslint-plugin-vue: ^9.15.0 + eslint-plugin-vue: ^9.15.1 husky: ^8.0.3 js-cookie: ^3.0.5 lint-staged: ^13.2.2 @@ -44,6 +44,7 @@ specifiers: path: ^0.12.7 picocolors: ^1.0.0 pinia: ^2.1.4 + pinyin-pro: ^3.15.2 postcss: ^8.4.24 postcss-html: ^1.5.0 postcss-import: ^15.1.0 @@ -54,10 +55,10 @@ specifiers: responsive-storage: ^2.2.0 rimraf: ^5.0.1 rollup-plugin-visualizer: ^5.9.2 - sass: ^1.63.4 + sass: ^1.63.6 sass-loader: ^13.3.2 sortablejs: ^1.15.0 - stylelint: ^15.8.0 + stylelint: ^15.9.0 stylelint-config-html: ^1.1.0 stylelint-config-recess-order: ^4.2.0 stylelint-config-recommended: ^12.0.0 @@ -70,7 +71,7 @@ specifiers: stylelint-scss: ^5.0.1 svgo: ^3.0.2 tailwindcss: ^3.3.2 - terser: ^5.18.0 + terser: ^5.18.1 typescript: 5.0.4 vite: ^4.3.9 vite-plugin-cdn-import: ^0.3.5 @@ -81,12 +82,12 @@ specifiers: vue: ^3.3.4 vue-eslint-parser: ^9.3.1 vue-router: ^4.2.2 - vue-tsc: ^1.8.0 - vue-types: ^5.0.4 + vue-tsc: ^1.8.1 + vue-types: ^5.1.0 dependencies: - "@pureadmin/descriptions": 1.1.1_element-plus@2.3.6 - "@pureadmin/table": 2.3.2_element-plus@2.3.6 + "@pureadmin/descriptions": 1.1.1_element-plus@2.3.7 + "@pureadmin/table": 2.3.2_element-plus@2.3.7 "@pureadmin/utils": 1.9.6_echarts@5.4.2+vue@3.3.4 "@vueuse/core": 10.2.0_vue@3.3.4 "@vueuse/motion": 2.0.0_vue@3.3.4 @@ -94,25 +95,26 @@ dependencies: axios: 1.4.0 dayjs: 1.11.8 echarts: 5.4.2 - element-plus: 2.3.6_vue@3.3.4 + element-plus: 2.3.7_vue@3.3.4 js-cookie: 3.0.5 mitt: 3.0.0 mockjs: 1.1.0 nprogress: 0.2.0 path: 0.12.7 pinia: 2.1.4_typescript@5.0.4+vue@3.3.4 + pinyin-pro: 3.15.2 qs: 6.11.2 responsive-storage: 2.2.0 sortablejs: 1.15.0 vue: 3.3.4 vue-router: 4.2.2_vue@3.3.4 - vue-types: 5.0.4_vue@3.3.4 + vue-types: 5.1.0_vue@3.3.4 devDependencies: - "@commitlint/cli": 17.6.5 - "@commitlint/config-conventional": 17.6.5 - "@iconify-icons/ep": 1.2.11 - "@iconify-icons/ri": 1.2.8 + "@commitlint/cli": 17.6.6 + "@commitlint/config-conventional": 17.6.6 + "@iconify-icons/ep": 1.2.12 + "@iconify-icons/ri": 1.2.9 "@iconify/vue": 4.1.1_vue@3.3.4 "@pureadmin/theme": 3.1.0 "@types/js-cookie": 3.0.3 @@ -121,18 +123,18 @@ devDependencies: "@types/nprogress": 0.2.0 "@types/qs": 6.9.7 "@types/sortablejs": 1.15.1 - "@typescript-eslint/eslint-plugin": 5.59.11_6voygpyxjks5ejvhkpbvdol6gq - "@typescript-eslint/parser": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/eslint-plugin": 5.60.0_i6u37blvulxlszyhkflwwnyave + "@typescript-eslint/parser": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie "@vitejs/plugin-vue": 4.2.3_vite@4.3.9+vue@3.3.4 "@vitejs/plugin-vue-jsx": 3.0.1_vite@4.3.9+vue@3.3.4 "@vue/eslint-config-prettier": 7.1.0_bxz4zaiplh63a3nbhxngrogoky - "@vue/eslint-config-typescript": 11.0.3_xatovp6glrmk2fdmmi35pvc4ke + "@vue/eslint-config-typescript": 11.0.3_5wcsfo7r24w3giceba2tzy7tfq autoprefixer: 10.4.14_postcss@8.4.24 cloc: 2.11.0 cssnano: 6.0.1_postcss@8.4.24 eslint: 8.43.0 eslint-plugin-prettier: 4.2.1_bxz4zaiplh63a3nbhxngrogoky - eslint-plugin-vue: 9.15.0_eslint@8.43.0 + eslint-plugin-vue: 9.15.1_eslint@8.43.0 husky: 8.0.3 lint-staged: 13.2.2 picocolors: 1.0.0 @@ -144,31 +146,31 @@ devDependencies: pretty-quick: 3.1.3_prettier@2.8.8 rimraf: 5.0.1 rollup-plugin-visualizer: 5.9.2 - sass: 1.63.4 - sass-loader: 13.3.2_sass@1.63.4 - stylelint: 15.8.0 - stylelint-config-html: 1.1.0_mvog3pcismoqiofxpbzhc46kxq - stylelint-config-recess-order: 4.2.0_stylelint@15.8.0 - stylelint-config-recommended: 12.0.0_stylelint@15.8.0 - stylelint-config-recommended-scss: 12.0.0_kljeyyq7v4k44dzugcnpkrggwa - stylelint-config-recommended-vue: 1.4.0_mvog3pcismoqiofxpbzhc46kxq - stylelint-config-standard: 33.0.0_stylelint@15.8.0 - stylelint-config-standard-scss: 9.0.0_kljeyyq7v4k44dzugcnpkrggwa - stylelint-order: 6.0.3_stylelint@15.8.0 - stylelint-prettier: 3.0.0_l3rlt3ch3sxnybjesonr3v7dca - stylelint-scss: 5.0.1_stylelint@15.8.0 + sass: 1.63.6 + sass-loader: 13.3.2_sass@1.63.6 + stylelint: 15.9.0 + stylelint-config-html: 1.1.0_43a2gdw3tlladwfsutfch6434a + stylelint-config-recess-order: 4.2.0_stylelint@15.9.0 + stylelint-config-recommended: 12.0.0_stylelint@15.9.0 + stylelint-config-recommended-scss: 12.0.0_kg6gx255czvkalpavedathyz5a + stylelint-config-recommended-vue: 1.4.0_43a2gdw3tlladwfsutfch6434a + stylelint-config-standard: 33.0.0_stylelint@15.9.0 + stylelint-config-standard-scss: 9.0.0_kg6gx255czvkalpavedathyz5a + stylelint-order: 6.0.3_stylelint@15.9.0 + stylelint-prettier: 3.0.0_di75xrvcz6maarrq4xt2dhjdje + stylelint-scss: 5.0.1_stylelint@15.9.0 svgo: 3.0.2 tailwindcss: 3.3.2 - terser: 5.18.0 + terser: 5.18.1 typescript: 5.0.4 - vite: 4.3.9_qt6o7vxhvnfj66ppdqgrakswvy + vite: 4.3.9_zmmwlkgdgahyanikmh4fscbaai vite-plugin-cdn-import: 0.3.5 vite-plugin-compression: 0.5.1_vite@4.3.9 vite-plugin-mock: 2.9.6_mockjs@1.1.0+vite@4.3.9 vite-plugin-remove-console: 2.1.1 vite-svg-loader: 4.0.0 vue-eslint-parser: 9.3.1_eslint@8.43.0 - vue-tsc: 1.8.0_typescript@5.0.4 + vue-tsc: 1.8.1_typescript@5.0.4 packages: /@alloc/quick-lru/5.2.0: @@ -567,16 +569,16 @@ packages: "@babel/helper-validator-identifier": 7.22.5 to-fast-properties: 2.0.0 - /@commitlint/cli/17.6.5: + /@commitlint/cli/17.6.6: resolution: { - integrity: sha512-3PQrWr/uo6lzF5k7n5QuosCYnzaxP9qGBp3jhWP0Vmsa7XA6wrl9ccPqfQyXpSbQE3zBROVO3TDqgPKe4tfmLQ== + integrity: sha512-sTKpr2i/Fjs9OmhU+beBxjPavpnLSqZaO6CzwKVq2Tc4UYVTMFgpKOslDhUBVlfAUBfjVO8ParxC/MXkIOevEA== } engines: { node: ">=v14" } hasBin: true dependencies: "@commitlint/format": 17.4.4 - "@commitlint/lint": 17.6.5 + "@commitlint/lint": 17.6.6 "@commitlint/load": 17.5.0 "@commitlint/read": 17.5.1 "@commitlint/types": 17.4.4 @@ -590,10 +592,10 @@ packages: - "@swc/wasm" dev: true - /@commitlint/config-conventional/17.6.5: + /@commitlint/config-conventional/17.6.6: resolution: { - integrity: sha512-Xl9H9KLl86NZm5CYNTNF9dcz1xelE/EbvhWIWcYxG/rn3UWYWdWmmnX2q6ZduNdLFSGbOxzUpIx61j5zxbeXxg== + integrity: sha512-phqPz3BDhfj49FUYuuZIuDiw+7T6gNAEy7Yew1IBHqSohVUCWOK2FXMSAExzS2/9X+ET93g0Uz83KjiHDOOFag== } engines: { node: ">=v14" } dependencies: @@ -645,25 +647,25 @@ packages: chalk: 4.1.2 dev: true - /@commitlint/is-ignored/17.6.5: + /@commitlint/is-ignored/17.6.6: resolution: { - integrity: sha512-CQvAPt9gX7cuUbMrIaIMKczfWJqqr6m8IlJs0F2zYwyyMTQ87QMHIj5jJ5HhOaOkaj6dvTMVGx8Dd1I4xgUuoQ== + integrity: sha512-4Fw875faAKO+2nILC04yW/2Vy/wlV3BOYCSQ4CEFzriPEprc1Td2LILmqmft6PDEK5Sr14dT9tEzeaZj0V56Gg== } engines: { node: ">=v14" } dependencies: "@commitlint/types": 17.4.4 - semver: 7.5.0 + semver: 7.5.2 dev: true - /@commitlint/lint/17.6.5: + /@commitlint/lint/17.6.6: resolution: { - integrity: sha512-BSJMwkE4LWXrOsiP9KoHG+/heSDfvOL/Nd16+ojTS/DX8HZr8dNl8l3TfVr/d/9maWD8fSegRGtBtsyGuugFrw== + integrity: sha512-5bN+dnHcRLkTvwCHYMS7Xpbr+9uNi0Kq5NR3v4+oPNx6pYXt8ACuw9luhM/yMgHYwW0ajIR20wkPAFkZLEMGmg== } engines: { node: ">=v14" } dependencies: - "@commitlint/is-ignored": 17.6.5 + "@commitlint/is-ignored": 17.6.6 "@commitlint/parse": 17.6.5 "@commitlint/rules": 17.6.5 "@commitlint/types": 17.4.4 @@ -816,14 +818,14 @@ packages: engines: { node: ^14 || ^16 || >=18 } dev: true - /@csstools/media-query-list-parser/2.1.0_g5wmdbqtzzaodrrmvxcit5gfji: + /@csstools/media-query-list-parser/2.1.1_g5wmdbqtzzaodrrmvxcit5gfji: resolution: { - integrity: sha512-MXkR+TeaS2q9IkpyO6jVCdtA/bfpABJxIrfkLswThFN8EZZgI2RfAHhm6sDNDuYV25d5+b8Lj1fpTccIcSLPsQ== + integrity: sha512-pUjtFbaKbiFNjJo8pprrIaXLvQvWIlwPiFnRI4sEnc4F0NIGTOsw8kaJSR3CmZAKEvV8QYckovgAnWQC0bgLLQ== } engines: { node: ^14 || ^16 || >=18 } peerDependencies: - "@csstools/css-parser-algorithms": ^2.1.1 + "@csstools/css-parser-algorithms": ^2.2.0 "@csstools/css-tokenizer": ^2.1.1 dependencies: "@csstools/css-parser-algorithms": 2.2.0_gdfqdfecdiaxr4x3xd7wxrvuhq @@ -1181,10 +1183,10 @@ packages: } dev: false - /@floating-ui/dom/1.4.1: + /@floating-ui/dom/1.4.2: resolution: { - integrity: sha512-loCXUOLzIC3jp50RFOKXZ/kQjjz26ryr/23M+FWG9jrmAv8lRf3DUfC2AiVZ3+K316GOhB08CR+Povwz8e9mDw== + integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g== } dependencies: "@floating-ui/core": 1.3.1 @@ -1219,19 +1221,19 @@ packages: } dev: true - /@iconify-icons/ep/1.2.11: + /@iconify-icons/ep/1.2.12: resolution: { - integrity: sha512-6wBR3xVbWpEfxlkriDG27PT3Z0t09Z/G/IH05Ql7XlhVRs8v2bKFPslNHkwBnZXaaR9hTB+5J+MBR5rrK16vcw== + integrity: sha512-8EJULn048sQq3fvytpQ5j40omnVOdBKpo+sXdYM35NRrqCe1BihxBesMcCOLWaocqkWia6uTQ3cnRHff4ZA11w== } dependencies: "@iconify/types": 2.0.0 dev: true - /@iconify-icons/ri/1.2.8: + /@iconify-icons/ri/1.2.9: resolution: { - integrity: sha512-fr1ny90XcBJGljFvwht+9rflB791H0V6wqVARR7u9qml5ZRsT5WPLCoZwwXGAp4UxU0gQRWyMYhklkW3+3ZZOA== + integrity: sha512-BIxB+Hm6M1amgT+ebrD5XizKhjwaM5bC0F5Yg3tyN1dOfc++tzFeulbXb9cmTk9YfpqPZ1SUGJo5r0Wze+wUcA== } dependencies: "@iconify/types": 2.0.0 @@ -1372,16 +1374,16 @@ packages: "@nodelib/fs.scandir": 2.1.5 fastq: 1.15.0 - /@nuxt/kit/3.5.3: + /@nuxt/kit/3.6.0: resolution: { - integrity: sha512-QzoOGqa1zjKQfg7Y50TrrFAL9DhtIpYYs10gihcM1ISPrn9ROht+VEjqsaMvT+L8JuQbNf8wDYl8qzsdWGU29Q== + integrity: sha512-rqQYyWlhE42oWRQNR58KU1JYhoWryN78x8eYzFTHgalfpMjtPqZv2j9K4+hFRk0XLRUKnut4tE/3+UYyZ7ybVw== } engines: { node: ^14.18.0 || >=16.10.0 } requiresBuild: true dependencies: - "@nuxt/schema": 3.5.3 - c12: 1.4.1 + "@nuxt/schema": 3.6.0 + c12: 1.4.2 consola: 3.1.0 defu: 6.1.2 globby: 13.2.0 @@ -1389,11 +1391,11 @@ packages: ignore: 5.2.4 jiti: 1.18.2 knitwork: 1.0.0 - mlly: 1.3.0 + mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 scule: 1.0.0 - semver: 7.5.2 + semver: 7.5.3 unctx: 2.3.1 unimport: 3.0.8 untyped: 1.3.2 @@ -1403,10 +1405,10 @@ packages: dev: false optional: true - /@nuxt/schema/3.5.3: + /@nuxt/schema/3.6.0: resolution: { - integrity: sha512-Tnon4mYfJZmsCtx4NZ9A+qjwo4DcZ6tERpEhYBY81PX7AiJ+hFPBFR1qR32Tff66/qJjZg5UXj6H9AdzwEYr2w== + integrity: sha512-6/nq+W77JODDfhMBZTi7HCD3hT5oHegsasAzUnDmvwWuY1io7BXX9x2mDhL8E3LhVzQuN5vhi3GBgwHwCfdKEA== } engines: { node: ^14.18.0 || >=16.10.0 } dependencies: @@ -1435,7 +1437,7 @@ packages: dev: true optional: true - /@pureadmin/descriptions/1.1.1_element-plus@2.3.6: + /@pureadmin/descriptions/1.1.1_element-plus@2.3.7: resolution: { integrity: sha512-4BHLKomLU/LxGs5EUA+h+aKNrJEkhrU6+QE8VoWfJZ8VTU6ddvFLT/Pi4WuO5CWNXM9ZjqvHLFFVwEPlKntqtg== @@ -1444,11 +1446,11 @@ packages: element-plus: ^2.0.0 dependencies: "@element-plus/icons-vue": 2.1.0_vue@3.3.4 - element-plus: 2.3.6_vue@3.3.4 + element-plus: 2.3.7_vue@3.3.4 vue: 3.3.4 dev: false - /@pureadmin/table/2.3.2_element-plus@2.3.6: + /@pureadmin/table/2.3.2_element-plus@2.3.7: resolution: { integrity: sha512-oaMf8X4bv5KPcO4li+bO7W28BS5IMy+zxPpPNh/Tdxewc2dykvoqqpRIAiS8prJOHxI42/77xbjoGb+lwQH5aA== @@ -1456,7 +1458,7 @@ packages: peerDependencies: element-plus: ^2.0.0 dependencies: - element-plus: 2.3.6_vue@3.3.4 + element-plus: 2.3.7_vue@3.3.4 vue: 3.3.4 dev: false @@ -1727,10 +1729,10 @@ packages: } dev: false - /@typescript-eslint/eslint-plugin/5.59.11_6voygpyxjks5ejvhkpbvdol6gq: + /@typescript-eslint/eslint-plugin/5.60.0_i6u37blvulxlszyhkflwwnyave: resolution: { - integrity: sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg== + integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -1742,26 +1744,26 @@ packages: optional: true dependencies: "@eslint-community/regexpp": 4.5.1 - "@typescript-eslint/parser": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie - "@typescript-eslint/scope-manager": 5.59.11 - "@typescript-eslint/type-utils": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie - "@typescript-eslint/utils": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/parser": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/scope-manager": 5.60.0 + "@typescript-eslint/type-utils": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/utils": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie debug: 4.3.4 eslint: 8.43.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.5.2 + semver: 7.5.3 tsutils: 3.21.0_typescript@5.0.4 typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.59.11_fsssjpk4ezl7mpaxdgpssv73ie: + /@typescript-eslint/parser/5.60.0_fsssjpk4ezl7mpaxdgpssv73ie: resolution: { - integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA== + integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -1771,9 +1773,9 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/scope-manager": 5.59.11 - "@typescript-eslint/types": 5.59.11 - "@typescript-eslint/typescript-estree": 5.59.11_typescript@5.0.4 + "@typescript-eslint/scope-manager": 5.60.0 + "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/typescript-estree": 5.60.0_typescript@5.0.4 debug: 4.3.4 eslint: 8.43.0 typescript: 5.0.4 @@ -1781,21 +1783,21 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.59.11: + /@typescript-eslint/scope-manager/5.60.0: resolution: { - integrity: sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q== + integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - "@typescript-eslint/types": 5.59.11 - "@typescript-eslint/visitor-keys": 5.59.11 + "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/visitor-keys": 5.60.0 dev: true - /@typescript-eslint/type-utils/5.59.11_fsssjpk4ezl7mpaxdgpssv73ie: + /@typescript-eslint/type-utils/5.60.0_fsssjpk4ezl7mpaxdgpssv73ie: resolution: { - integrity: sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g== + integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -1805,8 +1807,8 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/typescript-estree": 5.59.11_typescript@5.0.4 - "@typescript-eslint/utils": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/typescript-estree": 5.60.0_typescript@5.0.4 + "@typescript-eslint/utils": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie debug: 4.3.4 eslint: 8.43.0 tsutils: 3.21.0_typescript@5.0.4 @@ -1815,18 +1817,18 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.59.11: + /@typescript-eslint/types/5.60.0: resolution: { - integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA== + integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /@typescript-eslint/typescript-estree/5.59.11_typescript@5.0.4: + /@typescript-eslint/typescript-estree/5.60.0_typescript@5.0.4: resolution: { - integrity: sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA== + integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -1835,22 +1837,22 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/types": 5.59.11 - "@typescript-eslint/visitor-keys": 5.59.11 + "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/visitor-keys": 5.60.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.2 + semver: 7.5.3 tsutils: 3.21.0_typescript@5.0.4 typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.59.11_fsssjpk4ezl7mpaxdgpssv73ie: + /@typescript-eslint/utils/5.60.0_fsssjpk4ezl7mpaxdgpssv73ie: resolution: { - integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg== + integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -1859,25 +1861,25 @@ packages: "@eslint-community/eslint-utils": 4.4.0_eslint@8.43.0 "@types/json-schema": 7.0.12 "@types/semver": 7.5.0 - "@typescript-eslint/scope-manager": 5.59.11 - "@typescript-eslint/types": 5.59.11 - "@typescript-eslint/typescript-estree": 5.59.11_typescript@5.0.4 + "@typescript-eslint/scope-manager": 5.60.0 + "@typescript-eslint/types": 5.60.0 + "@typescript-eslint/typescript-estree": 5.60.0_typescript@5.0.4 eslint: 8.43.0 eslint-scope: 5.1.1 - semver: 7.5.2 + semver: 7.5.3 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.59.11: + /@typescript-eslint/visitor-keys/5.60.0: resolution: { - integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA== + integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw== } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: - "@typescript-eslint/types": 5.59.11 + "@typescript-eslint/types": 5.60.0 eslint-visitor-keys: 3.4.1 dev: true @@ -1893,8 +1895,8 @@ packages: dependencies: "@babel/core": 7.22.5 "@babel/plugin-transform-typescript": 7.22.5_@babel+core@7.22.5 - "@vue/babel-plugin-jsx": 1.1.1_@babel+core@7.22.5 - vite: 4.3.9_qt6o7vxhvnfj66ppdqgrakswvy + "@vue/babel-plugin-jsx": 1.1.3_@babel+core@7.22.5 + vite: 4.3.9_zmmwlkgdgahyanikmh4fscbaai vue: 3.3.4 transitivePeerDependencies: - supports-color @@ -1910,61 +1912,63 @@ packages: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.3.9_qt6o7vxhvnfj66ppdqgrakswvy + vite: 4.3.9_zmmwlkgdgahyanikmh4fscbaai vue: 3.3.4 dev: true - /@volar/language-core/1.7.6: + /@volar/language-core/1.7.8: resolution: { - integrity: sha512-r+82YGjae8ALzaX+TaESpeBOrp/H5MQnPYZLq4WKd8rsPrCAPbMwelwHLHhFpyjy66BK/cKreJAcvOc6YEwyFA== + integrity: sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA== } dependencies: - "@volar/source-map": 1.7.6 + "@volar/source-map": 1.7.8 dev: true - /@volar/source-map/1.7.6: + /@volar/source-map/1.7.8: resolution: { - integrity: sha512-6oGrgz+hg5GCzP8D2+ay7vOdIOA9/aXwpa22Wx5b6d4ZGwwosBqv7kVs8AyMh5zOSQpKhrImE1pfagpu+V+rBQ== + integrity: sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA== } dependencies: muggle-string: 0.3.1 dev: true - /@volar/typescript/1.7.6: + /@volar/typescript/1.7.8: resolution: { - integrity: sha512-JkBRQe2GYSEgamW84tDk4XQ/7abQJw09czLQCgL1jfjndhaV4DuAet2I3pvQv41OjodVc59W0+E3hylrlNsgWA== + integrity: sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA== } dependencies: - "@volar/language-core": 1.7.6 + "@volar/language-core": 1.7.8 dev: true - /@vue/babel-helper-vue-transform-on/1.0.2: + /@vue/babel-helper-vue-transform-on/1.1.3: resolution: { - integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== + integrity: sha512-iSaE7+1+/tPp79XnvsAVjaCjuY7dHjfsArPozi+1USJ1A5lf5JUovCP90Hbc+L9BUSHGlXMEYuQrL2vS3Yz9ow== } dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.22.5: + /@vue/babel-plugin-jsx/1.1.3_@babel+core@7.22.5: resolution: { - integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w== + integrity: sha512-q4ekWt6KcWmM7GNTZjBO53EOM/5uczu7q1Ks39Sz0d0PJFJ+oNi6xyu17WZ/uoSi/s81ouq99G18cLoEX9X1OA== } + peerDependencies: + "@babel/core": ^7.0.0-0 dependencies: + "@babel/core": 7.22.5 "@babel/helper-module-imports": 7.22.5 "@babel/plugin-syntax-jsx": 7.22.5_@babel+core@7.22.5 "@babel/template": 7.22.5 "@babel/traverse": 7.22.5 "@babel/types": 7.22.5 - "@vue/babel-helper-vue-transform-on": 1.0.2 + "@vue/babel-helper-vue-transform-on": 1.1.3 camelcase: 6.3.0 html-tags: 3.3.1 svg-tags: 1.0.0 transitivePeerDependencies: - - "@babel/core" - supports-color dev: true @@ -2036,7 +2040,7 @@ packages: prettier: 2.8.8 dev: true - /@vue/eslint-config-typescript/11.0.3_xatovp6glrmk2fdmmi35pvc4ke: + /@vue/eslint-config-typescript/11.0.3_5wcsfo7r24w3giceba2tzy7tfq: resolution: { integrity: sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw== @@ -2050,20 +2054,20 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/eslint-plugin": 5.59.11_6voygpyxjks5ejvhkpbvdol6gq - "@typescript-eslint/parser": 5.59.11_fsssjpk4ezl7mpaxdgpssv73ie + "@typescript-eslint/eslint-plugin": 5.60.0_i6u37blvulxlszyhkflwwnyave + "@typescript-eslint/parser": 5.60.0_fsssjpk4ezl7mpaxdgpssv73ie eslint: 8.43.0 - eslint-plugin-vue: 9.15.0_eslint@8.43.0 + eslint-plugin-vue: 9.15.1_eslint@8.43.0 typescript: 5.0.4 vue-eslint-parser: 9.3.1_eslint@8.43.0 transitivePeerDependencies: - supports-color dev: true - /@vue/language-core/1.8.0_typescript@5.0.4: + /@vue/language-core/1.8.1_typescript@5.0.4: resolution: { - integrity: sha512-rOAtqIRyyZ6OQreAkFDbbDt7L5BwvzrdbWaBAoEZjr4ImPBV9cRDBHxlMBU0SBOAZxIUQdjOvQ0uAl9uZDer0w== + integrity: sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA== } peerDependencies: typescript: "*" @@ -2071,12 +2075,12 @@ packages: typescript: optional: true dependencies: - "@volar/language-core": 1.7.6 - "@volar/source-map": 1.7.6 + "@volar/language-core": 1.7.8 + "@volar/source-map": 1.7.8 "@vue/compiler-dom": 3.3.4 "@vue/reactivity": 3.3.4 "@vue/shared": 3.3.4 - minimatch: 9.0.1 + minimatch: 9.0.2 muggle-string: 0.3.1 typescript: 5.0.4 vue-template-compiler: 2.7.14 @@ -2139,14 +2143,14 @@ packages: integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== } - /@vue/typescript/1.8.0_typescript@5.0.4: + /@vue/typescript/1.8.1_typescript@5.0.4: resolution: { - integrity: sha512-swi0NM+dpZCldXkMGS8wCxvoiRgA0PJw0UQeSTA7PqB2/5LsOQ8pmxyqLPE6YsbEdn0XqI9a7QgKOmmElkaMOA== + integrity: sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg== } dependencies: - "@volar/typescript": 1.7.6 - "@vue/language-core": 1.8.0_typescript@5.0.4 + "@volar/typescript": 1.7.8 + "@vue/language-core": 1.8.1_typescript@5.0.4 transitivePeerDependencies: - typescript dev: true @@ -2211,7 +2215,7 @@ packages: style-value-types: 5.1.2 vue: 3.3.4 optionalDependencies: - "@nuxt/kit": 3.5.3 + "@nuxt/kit": 3.6.0 transitivePeerDependencies: - "@vue/composition-api" - rollup @@ -2516,7 +2520,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001504 + caniuse-lite: 1.0.30001508 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -2601,8 +2605,8 @@ packages: engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001504 - electron-to-chromium: 1.4.433 + caniuse-lite: 1.0.30001508 + electron-to-chromium: 1.4.440 node-releases: 2.0.12 update-browserslist-db: 1.0.11_browserslist@4.21.9 @@ -2621,10 +2625,10 @@ packages: engines: { node: ">=6" } dev: true - /c12/1.4.1: + /c12/1.4.2: resolution: { - integrity: sha512-0x7pWfLZpZsgtyotXtuepJc0rZYE0Aw8PwNAXs0jSG9zq6Sl5xmbWnFqfmRY01ieZLHNbvneSFm9/x88CvzAuw== + integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg== } dependencies: chokidar: 3.5.3 @@ -2632,12 +2636,12 @@ packages: dotenv: 16.3.1 giget: 1.1.2 jiti: 1.18.2 - mlly: 1.3.0 + mlly: 1.4.0 ohash: 1.1.2 pathe: 1.1.1 - perfect-debounce: 0.1.3 + perfect-debounce: 1.0.0 pkg-types: 1.0.3 - rc9: 2.1.0 + rc9: 2.1.1 transitivePeerDependencies: - supports-color dev: false @@ -2712,15 +2716,15 @@ packages: } dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001504 + caniuse-lite: 1.0.30001508 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite/1.0.30001504: + /caniuse-lite/1.0.30001508: resolution: { - integrity: sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q== + integrity: sha512-sdQZOJdmt3GJs1UMNpCCCyeuS2IEGLXnHyAo9yIO5JJDjbjoVRij4M1qep6P6gFpptD1PqIYgzM+gwJbOi92mw== } /chalk/2.4.2: @@ -3487,10 +3491,10 @@ packages: engines: { node: ">=0.4.0" } dev: false - /destr/1.2.2: + /destr/2.0.0: resolution: { - integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA== + integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg== } dev: false optional: true @@ -3650,23 +3654,23 @@ packages: } dev: true - /electron-to-chromium/1.4.433: + /electron-to-chromium/1.4.440: resolution: { - integrity: sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ== + integrity: sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw== } - /element-plus/2.3.6_vue@3.3.4: + /element-plus/2.3.7_vue@3.3.4: resolution: { - integrity: sha512-GLz0pXUYI2zRfIgyI6W7SWmHk6dSEikP9yR++hsQUyy63+WjutoiGpA3SZD4cGPSXUzRFeKfVr8CnYhK5LqXZw== + integrity: sha512-h6TxclbaLUJxg/Bv5j/ZKsK+K5yadQliw5+R30HWyE69pXlqXTX24oYx+yw3pA4Dy+lqEDi5501FQ0CORk3OSA== } peerDependencies: vue: ^3.2.0 dependencies: "@ctrl/tinycolor": 3.6.0 "@element-plus/icons-vue": 2.1.0_vue@3.3.4 - "@floating-ui/dom": 1.4.1 + "@floating-ui/dom": 1.4.2 "@popperjs/core": /@sxzz/popperjs-es/2.11.7 "@types/lodash": 4.14.195 "@types/lodash-es": 4.17.7 @@ -3893,10 +3897,10 @@ packages: prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-vue/9.15.0_eslint@8.43.0: + /eslint-plugin-vue/9.15.1_eslint@8.43.0: resolution: { - integrity: sha512-XYzpK6e2REli100+6iCeBA69v6Sm0D/yK2FZP+fCeNt0yH/m82qZQq+ztseyV0JsKdhFysuSEzeE1yCmSC92BA== + integrity: sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A== } engines: { node: ^14.17.0 || >=16.0.0 } peerDependencies: @@ -3907,7 +3911,7 @@ packages: natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 - semver: 7.5.2 + semver: 7.5.3 vue-eslint-parser: 9.3.1_eslint@8.43.0 xml-name-validator: 4.0.0 transitivePeerDependencies: @@ -4479,17 +4483,17 @@ packages: is-glob: 4.0.3 dev: true - /glob/10.2.7: + /glob/10.3.0: resolution: { - integrity: sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA== + integrity: sha512-AQ1/SB9HH0yCx1jXAT4vmCbTOPe5RQ+kCurjbel5xSCGhebumUv+GJZfa1rEqor3XIViqwSEmlkZCQD43RWrBg== } engines: { node: ">=16 || 14 >=14.17" } hasBin: true dependencies: foreground-child: 3.1.1 jackspeak: 2.2.1 - minimatch: 9.0.1 + minimatch: 9.0.2 minipass: 6.0.2 path-scurry: 1.9.2 dev: true @@ -5659,10 +5663,10 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch/9.0.1: + /minimatch/9.0.2: resolution: { - integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w== + integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg== } engines: { node: ">=16 || 14 >=14.17" } dependencies: @@ -5745,10 +5749,10 @@ packages: dev: false optional: true - /mlly/1.3.0: + /mlly/1.4.0: resolution: { - integrity: sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw== + integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg== } dependencies: acorn: 8.9.0 @@ -5883,7 +5887,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.12.1 - semver: 7.5.2 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -6220,10 +6224,10 @@ packages: dev: false optional: true - /perfect-debounce/0.1.3: + /perfect-debounce/1.0.0: resolution: { - integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ== + integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== } dev: false optional: true @@ -6279,10 +6283,17 @@ packages: vue-demi: 0.14.5_vue@3.3.4 dev: false - /pirates/4.0.5: + /pinyin-pro/3.15.2: resolution: { - integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + integrity: sha512-kvbPYwTzz3mXZj7OLheB6LysDi/lIPRFvSXX6fCko03l4joruzrn+2GfO9BqIsHSjqipeH6qPB3jIfl8iRUQWA== + } + dev: false + + /pirates/4.0.6: + resolution: + { + integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== } engines: { node: ">= 6" } dev: true @@ -6294,7 +6305,7 @@ packages: } dependencies: jsonc-parser: 3.2.0 - mlly: 1.3.0 + mlly: 1.4.0 pathe: 1.1.1 dev: false optional: true @@ -7326,14 +7337,14 @@ packages: engines: { node: ">=8" } dev: true - /rc9/2.1.0: + /rc9/2.1.1: resolution: { - integrity: sha512-ROO9bv8PPqngWKoiUZU3JDQ4sugpdRs9DfwHnzDSxK25XtQn6BEHL6EOd/OtKuDT2qodrtNR+0WkPT6l0jxH5Q== + integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q== } dependencies: defu: 6.1.2 - destr: 1.2.2 + destr: 2.0.0 flat: 5.0.2 dev: false optional: true @@ -7524,7 +7535,7 @@ packages: engines: { node: ">=14" } hasBin: true dependencies: - glob: 10.2.7 + glob: 10.3.0 dev: true /rollup-plugin-external-globals/0.6.1: @@ -7563,10 +7574,10 @@ packages: yargs: 17.7.2 dev: true - /rollup/3.25.1: + /rollup/3.25.2: resolution: { - integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ== + integrity: sha512-VLnkxZMDr3jpxgtmS8pQZ0UvhslmF4ADq/9w4erkctbgjCqLW9oa89fJuXEs4ZmgyoF7Dm8rMDKSS5b5u2hHUg== } engines: { node: ">=14.18.0", npm: ">=8.0.0" } hasBin: true @@ -7606,7 +7617,7 @@ packages: } dev: true - /sass-loader/13.3.2_sass@1.63.4: + /sass-loader/13.3.2_sass@1.63.6: resolution: { integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg== @@ -7631,13 +7642,13 @@ packages: optional: true dependencies: neo-async: 2.6.2 - sass: 1.63.4 + sass: 1.63.6 dev: true - /sass/1.63.4: + /sass/1.63.6: resolution: { - integrity: sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ== + integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw== } engines: { node: ">=14.0.0" } hasBin: true @@ -7670,10 +7681,10 @@ packages: } hasBin: true - /semver/7.5.0: + /semver/7.5.2: resolution: { - integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ== } engines: { node: ">=10" } hasBin: true @@ -7681,10 +7692,10 @@ packages: lru-cache: 6.0.0 dev: true - /semver/7.5.2: + /semver/7.5.3: resolution: { - integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ== + integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== } engines: { node: ">=10" } hasBin: true @@ -8078,7 +8089,7 @@ packages: postcss-selector-parser: 6.0.13 dev: true - /stylelint-config-html/1.1.0_mvog3pcismoqiofxpbzhc46kxq: + /stylelint-config-html/1.1.0_43a2gdw3tlladwfsutfch6434a: resolution: { integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ== @@ -8089,10 +8100,10 @@ packages: stylelint: ">=14.0.0" dependencies: postcss-html: 1.5.0 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-config-recess-order/4.2.0_stylelint@15.8.0: + /stylelint-config-recess-order/4.2.0_stylelint@15.9.0: resolution: { integrity: sha512-cWC66tUx74OgurUQaTAH4iJ4JbyisMwlJH8BO/oxglDLZBUNFggjwPFVtgsmd8rS+bUfm7sPlRrF00iAihESwA== @@ -8100,11 +8111,11 @@ packages: peerDependencies: stylelint: ">=15" dependencies: - stylelint: 15.8.0 - stylelint-order: 6.0.3_stylelint@15.8.0 + stylelint: 15.9.0 + stylelint-order: 6.0.3_stylelint@15.9.0 dev: true - /stylelint-config-recommended-scss/11.0.0_kljeyyq7v4k44dzugcnpkrggwa: + /stylelint-config-recommended-scss/11.0.0_kg6gx255czvkalpavedathyz5a: resolution: { integrity: sha512-EDghTDU7aOv2LTsRZvcT1w8mcjUaMhuy+t38iV5I/0Qiu6ixdkRwhLEMul3K/fnB2v9Nwqvb3xpvJfPH+HduDw== @@ -8118,12 +8129,12 @@ packages: dependencies: postcss: 8.4.24 postcss-scss: 4.0.6_postcss@8.4.24 - stylelint: 15.8.0 - stylelint-config-recommended: 12.0.0_stylelint@15.8.0 - stylelint-scss: 4.7.0_stylelint@15.8.0 + stylelint: 15.9.0 + stylelint-config-recommended: 12.0.0_stylelint@15.9.0 + stylelint-scss: 4.7.0_stylelint@15.9.0 dev: true - /stylelint-config-recommended-scss/12.0.0_kljeyyq7v4k44dzugcnpkrggwa: + /stylelint-config-recommended-scss/12.0.0_kg6gx255czvkalpavedathyz5a: resolution: { integrity: sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA== @@ -8137,12 +8148,12 @@ packages: dependencies: postcss: 8.4.24 postcss-scss: 4.0.6_postcss@8.4.24 - stylelint: 15.8.0 - stylelint-config-recommended: 12.0.0_stylelint@15.8.0 - stylelint-scss: 5.0.1_stylelint@15.8.0 + stylelint: 15.9.0 + stylelint-config-recommended: 12.0.0_stylelint@15.9.0 + stylelint-scss: 5.0.1_stylelint@15.9.0 dev: true - /stylelint-config-recommended-vue/1.4.0_mvog3pcismoqiofxpbzhc46kxq: + /stylelint-config-recommended-vue/1.4.0_43a2gdw3tlladwfsutfch6434a: resolution: { integrity: sha512-DVJqyX2KvMCn9U0+keL12r7xlsH26K4Vg8NrIZuq5MoF7g82DpMp326Om4E0Q+Il1o+bTHuUyejf2XAI0iD04Q== @@ -8153,13 +8164,13 @@ packages: stylelint: ">=14.0.0" dependencies: postcss-html: 1.5.0 - semver: 7.5.2 - stylelint: 15.8.0 - stylelint-config-html: 1.1.0_mvog3pcismoqiofxpbzhc46kxq - stylelint-config-recommended: 12.0.0_stylelint@15.8.0 + semver: 7.5.3 + stylelint: 15.9.0 + stylelint-config-html: 1.1.0_43a2gdw3tlladwfsutfch6434a + stylelint-config-recommended: 12.0.0_stylelint@15.9.0 dev: true - /stylelint-config-recommended/12.0.0_stylelint@15.8.0: + /stylelint-config-recommended/12.0.0_stylelint@15.9.0: resolution: { integrity: sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ== @@ -8167,10 +8178,10 @@ packages: peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-config-standard-scss/9.0.0_kljeyyq7v4k44dzugcnpkrggwa: + /stylelint-config-standard-scss/9.0.0_kg6gx255czvkalpavedathyz5a: resolution: { integrity: sha512-yPKpJsrZn4ybuQZx/DkEHuCjw7pJginErE/47dFhCnrvD48IJ4UYec8tSiCuJWMA3HRjbIa3nh5ZeSauDGuVAg== @@ -8183,12 +8194,12 @@ packages: optional: true dependencies: postcss: 8.4.24 - stylelint: 15.8.0 - stylelint-config-recommended-scss: 11.0.0_kljeyyq7v4k44dzugcnpkrggwa - stylelint-config-standard: 33.0.0_stylelint@15.8.0 + stylelint: 15.9.0 + stylelint-config-recommended-scss: 11.0.0_kg6gx255czvkalpavedathyz5a + stylelint-config-standard: 33.0.0_stylelint@15.9.0 dev: true - /stylelint-config-standard/33.0.0_stylelint@15.8.0: + /stylelint-config-standard/33.0.0_stylelint@15.9.0: resolution: { integrity: sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg== @@ -8196,11 +8207,11 @@ packages: peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.8.0 - stylelint-config-recommended: 12.0.0_stylelint@15.8.0 + stylelint: 15.9.0 + stylelint-config-recommended: 12.0.0_stylelint@15.9.0 dev: true - /stylelint-order/6.0.3_stylelint@15.8.0: + /stylelint-order/6.0.3_stylelint@15.9.0: resolution: { integrity: sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w== @@ -8210,10 +8221,10 @@ packages: dependencies: postcss: 8.4.24 postcss-sorting: 8.0.2_postcss@8.4.24 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-prettier/3.0.0_l3rlt3ch3sxnybjesonr3v7dca: + /stylelint-prettier/3.0.0_di75xrvcz6maarrq4xt2dhjdje: resolution: { integrity: sha512-kIks1xw6np0zElokMT2kP6ar3S4MBoj6vUtPJuND1pFELMpZxVS/0uHPR4HDAVn0WAD3I5oF0IA3qBFxBpMkLg== @@ -8225,10 +8236,10 @@ packages: dependencies: prettier: 2.8.8 prettier-linter-helpers: 1.0.0 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-scss/4.7.0_stylelint@15.8.0: + /stylelint-scss/4.7.0_stylelint@15.9.0: resolution: { integrity: sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg== @@ -8240,10 +8251,10 @@ packages: postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-scss/5.0.1_stylelint@15.8.0: + /stylelint-scss/5.0.1_stylelint@15.9.0: resolution: { integrity: sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ== @@ -8255,20 +8266,20 @@ packages: postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint/15.8.0: + /stylelint/15.9.0: resolution: { - integrity: sha512-x9qBk84F3MEjMEUNCE7MtWmfj9G9y5XzJ0cpQeJdy2l/IoqjC8Ih0N0ytmOTnXE4Yv0J7I1cmVRQUVNSPCxTsA== + integrity: sha512-sXtAZi64CllWr6A+8ymDWnlIaYwuAa7XRmGnJxLQXFNnLjd3Izm4HAD+loKVaZ7cpK6SLxhAUX1lwPJKGCn0mg== } engines: { node: ^14.13.1 || >=16.0.0 } hasBin: true dependencies: "@csstools/css-parser-algorithms": 2.2.0_gdfqdfecdiaxr4x3xd7wxrvuhq "@csstools/css-tokenizer": 2.1.1 - "@csstools/media-query-list-parser": 2.1.0_g5wmdbqtzzaodrrmvxcit5gfji + "@csstools/media-query-list-parser": 2.1.1_g5wmdbqtzzaodrrmvxcit5gfji "@csstools/selector-specificity": 2.2.0_c3vcbepomgmxc74cgtawpgpkyi balanced-match: 2.0.0 colord: 2.9.3 @@ -8324,7 +8335,7 @@ packages: glob: 7.1.6 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.5 + pirates: 4.0.6 ts-interface-checker: 0.1.13 dev: true @@ -8480,10 +8491,10 @@ packages: dev: false optional: true - /terser/5.18.0: + /terser/5.18.1: resolution: { - integrity: sha512-pdL757Ig5a0I+owA42l6tIuEycRuM7FPY4n62h44mRLRfnOxJkkOHd6i89dOpwZlpF6JXBwaAHF6yWzFrt+QyA== + integrity: sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ== } engines: { node: ">=10" } hasBin: true @@ -8740,7 +8751,7 @@ packages: fast-glob: 3.2.12 local-pkg: 0.4.3 magic-string: 0.30.0 - mlly: 1.3.0 + mlly: 1.4.0 pathe: 1.1.1 pkg-types: 1.0.3 scule: 1.0.0 @@ -8891,7 +8902,7 @@ packages: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.3.9_qt6o7vxhvnfj66ppdqgrakswvy + vite: 4.3.9_zmmwlkgdgahyanikmh4fscbaai transitivePeerDependencies: - supports-color dev: true @@ -8916,7 +8927,7 @@ packages: fast-glob: 3.2.12 mockjs: 1.1.0 path-to-regexp: 6.2.1 - vite: 4.3.9_qt6o7vxhvnfj66ppdqgrakswvy + vite: 4.3.9_zmmwlkgdgahyanikmh4fscbaai transitivePeerDependencies: - rollup - supports-color @@ -8939,7 +8950,7 @@ packages: svgo: 3.0.2 dev: true - /vite/4.3.9_qt6o7vxhvnfj66ppdqgrakswvy: + /vite/4.3.9_zmmwlkgdgahyanikmh4fscbaai: resolution: { integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg== @@ -8970,20 +8981,13 @@ packages: "@types/node": 20.3.1 esbuild: 0.17.19 postcss: 8.4.24 - rollup: 3.25.1 - sass: 1.63.4 - terser: 5.18.0 + rollup: 3.25.2 + sass: 1.63.6 + terser: 5.18.1 optionalDependencies: fsevents: 2.3.2 dev: true - /vscode-uri/3.0.7: - resolution: - { - integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA== - } - dev: true - /vue-demi/0.14.5_vue@3.3.4: resolution: { @@ -9018,7 +9022,7 @@ packages: espree: 9.5.2 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.2 + semver: 7.5.3 transitivePeerDependencies: - supports-color dev: true @@ -9045,26 +9049,25 @@ packages: he: 1.2.0 dev: true - /vue-tsc/1.8.0_typescript@5.0.4: + /vue-tsc/1.8.1_typescript@5.0.4: resolution: { - integrity: sha512-zRjRghohec71o+o3dzzqwFLtbKmJ1K1xRnq9ToHRdnHbBSZA2eUaTT1o+y4xOkBLZtW4cv7FkZE0FGCZfMrcBw== + integrity: sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA== } hasBin: true peerDependencies: typescript: "*" dependencies: - "@vue/language-core": 1.8.0_typescript@5.0.4 - "@vue/typescript": 1.8.0_typescript@5.0.4 - semver: 7.5.2 + "@vue/language-core": 1.8.1_typescript@5.0.4 + "@vue/typescript": 1.8.1_typescript@5.0.4 + semver: 7.5.3 typescript: 5.0.4 - vscode-uri: 3.0.7 dev: true - /vue-types/5.0.4_vue@3.3.4: + /vue-types/5.1.0_vue@3.3.4: resolution: { - integrity: sha512-ksYUQpvhk1Xl/K43OPkcm54VcX4tvxQoNYjYLk+n45NOocDsg9+DnviPq/KfDLjGs4P23iAosFPR8JSzuh9IPA== + integrity: sha512-oCSq5MawTli+Jqaf07sCZgJr/FcDCFF5U/VE4WG58S3EAPxqi8nZlbrQ9I50rD5MZdJ3fjgi/IX1tVLL3QUFzA== } engines: { node: ">=14.0.0" } peerDependencies: diff --git a/public/serverConfig.json b/public/serverConfig.json index 8856370..00b0224 100644 --- a/public/serverConfig.json +++ b/public/serverConfig.json @@ -1,5 +1,5 @@ { - "Version": "4.4.0", + "Version": "4.5.0", "Title": "PureAdmin", "FixedHeader": true, "HiddenSideBar": false, diff --git a/src/components/RePureTableBar/src/bar.tsx b/src/components/RePureTableBar/src/bar.tsx index 30aa6d3..092f427 100644 --- a/src/components/RePureTableBar/src/bar.tsx +++ b/src/components/RePureTableBar/src/bar.tsx @@ -1,6 +1,12 @@ import { useEpThemeStoreHook } from "@/store/modules/epTheme"; -import { delay, getKeyList, cloneDeep } from "@pureadmin/utils"; import { defineComponent, ref, computed, type PropType, nextTick } from "vue"; +import { + delay, + cloneDeep, + isBoolean, + isFunction, + getKeyList +} from "@pureadmin/utils"; import Sortable from "sortablejs"; import DragIcon from "./svg/drag.svg?component"; @@ -37,8 +43,13 @@ export default defineComponent({ const loading = ref(false); const checkAll = ref(true); const isIndeterminate = ref(false); + const filterColumns = cloneDeep(props?.columns).filter(column => + isBoolean(column?.hide) + ? !column.hide + : !(isFunction(column?.hide) && column?.hide()) + ); let checkColumnList = getKeyList(cloneDeep(props?.columns), "label"); - const checkedColumns = ref(checkColumnList); + const checkedColumns = ref(getKeyList(cloneDeep(filterColumns), "label")); const dynamicColumns = ref(cloneDeep(props?.columns)); const getDropdownItemStyle = computed(() => { @@ -120,7 +131,7 @@ export default defineComponent({ dynamicColumns.value = cloneDeep(props?.columns); checkColumnList = []; checkColumnList = await getKeyList(cloneDeep(props?.columns), "label"); - checkedColumns.value = checkColumnList; + checkedColumns.value = getKeyList(cloneDeep(filterColumns), "label"); } const dropdown = { diff --git a/src/directives/auth/index.ts b/src/directives/auth/index.ts index 62ca87c..a7a4f22 100644 --- a/src/directives/auth/index.ts +++ b/src/directives/auth/index.ts @@ -1,5 +1,5 @@ import { hasAuth } from "@/router/utils"; -import { Directive, type DirectiveBinding } from "vue"; +import type { Directive, DirectiveBinding } from "vue"; export const auth: Directive = { mounted(el: HTMLElement, binding: DirectiveBinding) { diff --git a/src/directives/copy/index.ts b/src/directives/copy/index.ts index 11db446..8e97833 100644 --- a/src/directives/copy/index.ts +++ b/src/directives/copy/index.ts @@ -1,7 +1,7 @@ import { message } from "@/utils/message"; import { useEventListener } from "@vueuse/core"; import { copyTextToClipboard } from "@pureadmin/utils"; -import { Directive, type DirectiveBinding } from "vue"; +import type { Directive, DirectiveBinding } from "vue"; interface CopyEl extends HTMLElement { copyValue: string; diff --git a/src/directives/index.ts b/src/directives/index.ts index 5e81e06..f4238c9 100644 --- a/src/directives/index.ts +++ b/src/directives/index.ts @@ -1,3 +1,4 @@ export * from "./auth"; export * from "./copy"; +export * from "./longpress"; export * from "./optimize"; diff --git a/src/directives/longpress/index.ts b/src/directives/longpress/index.ts new file mode 100644 index 0000000..5442784 --- /dev/null +++ b/src/directives/longpress/index.ts @@ -0,0 +1,63 @@ +import { useEventListener } from "@vueuse/core"; +import type { Directive, DirectiveBinding } from "vue"; +import { subBefore, subAfter, isFunction } from "@pureadmin/utils"; + +export const longpress: Directive = { + mounted(el: HTMLElement, binding: DirectiveBinding) { + const cb = binding.value; + if (cb && isFunction(cb)) { + let timer = null; + let interTimer = null; + let num = 500; + let interNum = null; + const isInter = binding?.arg?.includes(":") ?? false; + + if (isInter) { + num = Number(subBefore(binding.arg, ":")); + interNum = Number(subAfter(binding.arg, ":")); + } else if (binding.arg) { + num = Number(binding.arg); + } + + const clear = () => { + if (timer) { + clearTimeout(timer); + timer = null; + } + if (interTimer) { + clearInterval(interTimer); + interTimer = null; + } + }; + + const onDownInter = (ev: PointerEvent) => { + ev.preventDefault(); + if (interTimer === null) { + interTimer = setInterval(() => cb(), interNum); + } + }; + + const onDown = (ev: PointerEvent) => { + clear(); + ev.preventDefault(); + if (timer === null) { + timer = isInter + ? setTimeout(() => { + cb(); + onDownInter(ev); + }, num) + : setTimeout(() => cb(), num); + } + }; + + // Register using addEventListener on mounted, and removeEventListener automatically on unmounted + useEventListener(el, "pointerdown", onDown); + useEventListener(el, "pointerup", clear); + useEventListener(el, "pointerleave", clear); + } else { + throw new Error( + '[Directive: longpress]: need callback and callback must be a function! Like v-longpress="callback"' + ); + } + } +}; diff --git a/src/directives/optimize/index.ts b/src/directives/optimize/index.ts index 43ac38a..5fbdd1f 100644 --- a/src/directives/optimize/index.ts +++ b/src/directives/optimize/index.ts @@ -6,7 +6,7 @@ import { throttle } from "@pureadmin/utils"; import { useEventListener } from "@vueuse/core"; -import { Directive, type DirectiveBinding } from "vue"; +import type { Directive, DirectiveBinding } from "vue"; /** 防抖(v-optimize或v-optimize:debounce)、节流(v-optimize:throttle)指令 */ export const optimize: Directive = { diff --git a/src/layout/components/search/components/SearchModal.vue b/src/layout/components/search/components/SearchModal.vue index 7d1b4c5..d4f559e 100644 --- a/src/layout/components/search/components/SearchModal.vue +++ b/src/layout/components/search/components/SearchModal.vue @@ -1,10 +1,11 @@