diff --git a/.vscode/settings.json b/.vscode/settings.json index 3fb032c1..c4647826 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -104,7 +104,7 @@ "i18n-ally.enabledFrameworks": ["vue", "react"], "cSpell.words": [ "vben", - "windicss", + "unocss", "tailwind", "browserslist", "tailwindcss", diff --git a/build/vite/optimize.ts b/build/vite/optimize.ts index cda6539e..f3c81daf 100644 --- a/build/vite/optimize.ts +++ b/build/vite/optimize.ts @@ -28,8 +28,7 @@ const include = [ 'ant-design-vue', 'ant-design-vue/es/style', 'ant-design-vue/es/locale/zh_CN', - 'ant-design-vue/es/locale/en_US', - 'vite-plugin-windicss' + 'ant-design-vue/es/locale/en_US' ] const exclude = ['@iconify/json'] diff --git a/build/vite/plugin/index.ts b/build/vite/plugin/index.ts index 6ad2a5e8..5838adc6 100644 --- a/build/vite/plugin/index.ts +++ b/build/vite/plugin/index.ts @@ -1,7 +1,6 @@ import { PluginOption } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' -import windiCSS from 'vite-plugin-windicss' import progress from 'vite-plugin-progress' import purgeIcons from 'vite-plugin-purge-icons' import VitePluginCertificate from 'vite-plugin-mkcert' @@ -12,6 +11,8 @@ import { configStyleImportPlugin } from './styleImport' import { configVisualizerConfig } from './visualizer' import { configThemePlugin } from './theme' import { configSvgIconsPlugin } from './svgSprite' +import UnoCSS from 'unocss/vite' +import { presetTypography, presetUno } from 'unocss' export async function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { const { VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv @@ -21,6 +22,10 @@ export async function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { vue(), // have to vueJsx(), + // UnoCSS + UnoCSS({ + presets: [presetUno(), presetTypography()] + }), // 打包进度条 progress(), VitePluginCertificate({ @@ -28,9 +33,6 @@ export async function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { }) ] - // windiCSS - vitePlugins.push(windiCSS()) - // vite-vue-plugin-html vitePlugins.push(configHtmlPlugin(viteEnv, isBuild)) diff --git a/package.json b/package.json index db3c9a15..00f000b9 100644 --- a/package.json +++ b/package.json @@ -92,14 +92,14 @@ "cz-git": "^1.7.0", "czg": "^1.7.0", "dotenv": "^16.3.1", - "eslint": "^8.45.0", - "eslint-config-prettier": "^8.8.0", + "eslint": "^8.46.0", + "eslint-config-prettier": "^8.9.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vue": "^9.15.1", "esno": "^0.17.0", "fs-extra": "^11.1.1", "husky": "^8.0.3", - "inquirer": "^9.2.8", + "inquirer": "^9.2.9", "less": "^4.1.3", "lint-staged": "^13.2.3", "picocolors": "^1.0.0", @@ -108,8 +108,9 @@ "postcss-less": "^6.0.0", "prettier": "^3.0.0", "rimraf": "^5.0.1", - "rollup": "^3.26.3", + "rollup": "^3.27.0", "rollup-plugin-visualizer": "^5.9.2", + "unocss": "^0.54.0", "stylelint": "^15.10.2", "stylelint-config-recommended": "^13.0.0", "stylelint-config-recommended-vue": "^1.5.0", @@ -125,7 +126,6 @@ "vite-plugin-pwa": "^0.16.4", "vite-plugin-style-import": "^2.0.0", "vite-plugin-svg-icons": "^2.0.1", - "vite-plugin-windicss": "^1.9.0", "vite-vue-plugin-html": "^1.0.2", "vite-vue-plugin-theme": "^1.0.2", "vue-eslint-parser": "^9.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6a172dc..25447d31 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -147,10 +147,10 @@ devDependencies: version: 1.15.1 '@typescript-eslint/eslint-plugin': specifier: ^6.2.0 - version: 6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.45.0)(typescript@5.1.6) + version: 6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: ^6.2.0 - version: 6.2.0(eslint@8.45.0)(typescript@5.1.6) + version: 6.2.0(eslint@8.46.0)(typescript@5.1.6) '@vitejs/plugin-vue': specifier: 4.2.3 version: 4.2.3(vite@4.4.7)(vue@3.3.4) @@ -179,17 +179,17 @@ devDependencies: specifier: ^16.3.1 version: 16.3.1 eslint: - specifier: ^8.45.0 - version: 8.45.0 + specifier: ^8.46.0 + version: 8.46.0 eslint-config-prettier: - specifier: ^8.8.0 - version: 8.8.0(eslint@8.45.0) + specifier: ^8.9.0 + version: 8.9.0(eslint@8.46.0) eslint-plugin-prettier: specifier: ^5.0.0 - version: 5.0.0(eslint-config-prettier@8.8.0)(eslint@8.45.0)(prettier@3.0.0) + version: 5.0.0(eslint-config-prettier@8.9.0)(eslint@8.46.0)(prettier@3.0.0) eslint-plugin-vue: specifier: ^9.15.1 - version: 9.15.1(eslint@8.45.0) + version: 9.15.1(eslint@8.46.0) esno: specifier: ^0.17.0 version: 0.17.0 @@ -200,8 +200,8 @@ devDependencies: specifier: ^8.0.3 version: 8.0.3 inquirer: - specifier: ^9.2.8 - version: 9.2.8 + specifier: ^9.2.9 + version: 9.2.9 less: specifier: ^4.1.3 version: 4.1.3 @@ -227,11 +227,11 @@ devDependencies: specifier: ^5.0.1 version: 5.0.1 rollup: - specifier: ^3.26.3 - version: 3.26.3 + specifier: ^3.27.0 + version: 3.27.0 rollup-plugin-visualizer: specifier: ^5.9.2 - version: 5.9.2(rollup@3.26.3) + version: 5.9.2(rollup@3.27.0) stylelint: specifier: ^15.10.2 version: 15.10.2 @@ -253,6 +253,9 @@ devDependencies: typescript: specifier: ^5.1.6 version: 5.1.6 + unocss: + specifier: ^0.54.0 + version: 0.54.0(postcss@8.4.27)(rollup@3.27.0)(vite@4.4.7) vite: specifier: ^4.4.7 version: 4.4.7(@types/node@20.4.0)(less@4.1.3)(terser@5.19.2) @@ -277,18 +280,15 @@ devDependencies: vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@4.4.7) - vite-plugin-windicss: - specifier: ^1.9.0 - version: 1.9.0(vite@4.4.7) vite-vue-plugin-html: specifier: ^1.0.2 - version: 1.0.2(rollup@3.26.3)(vite@4.4.7) + version: 1.0.2(rollup@3.27.0)(vite@4.4.7) vite-vue-plugin-theme: specifier: ^1.0.2 version: 1.0.2(vite@4.4.7) vue-eslint-parser: specifier: ^9.3.1 - version: 9.3.1(eslint@8.45.0) + version: 9.3.1(eslint@8.46.0) vue-tsc: specifier: ^1.8.8 version: 1.8.8(typescript@5.1.6) @@ -308,6 +308,14 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + /@ant-design/colors@6.0.0: resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} dependencies: @@ -334,8 +342,15 @@ packages: vue: 3.3.4 dev: false - /@antfu/utils@0.7.2: - resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils@0.7.5: + resolution: {integrity: sha512-dlR6LdS+0SzOAPx/TPRhnoi7hE251OVeT2Snw0RguNbBSbjUHdWr0l3vcUUDg26rEysT89kCbtw1lVorBXLLCg==} dev: true /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -2157,19 +2172,14 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.45.0 - eslint-visitor-keys: 3.4.1 - dev: true - - /@eslint-community/regexpp@4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + eslint: 8.46.0 + eslint-visitor-keys: 3.4.2 dev: true /@eslint-community/regexpp@4.6.0: @@ -2177,13 +2187,18 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.0: - resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} + /@eslint-community/regexpp@4.6.2: + resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.1: + resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.0 + espree: 9.6.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2194,8 +2209,8 @@ packages: - supports-color dev: true - /@eslint/js@8.44.0: - resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} + /@eslint/js@8.46.0: + resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -2247,6 +2262,19 @@ packages: /@iconify/types@2.0.0: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + /@iconify/utils@2.1.7: + resolution: {integrity: sha512-P8S3z/L1LcV4Qem9AoCfVAaTFGySEMzFEY4CHZLkfRj0Fv9LiR+AwjDgrDrzyI93U2L2mg9JHsbTJ52mF8suNw==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.5 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + /@intlify/core-base@9.2.2: resolution: {integrity: sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==} engines: {node: '>= 14'} @@ -2334,6 +2362,10 @@ packages: /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: @@ -2348,6 +2380,11 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@ljharb/through@2.3.9: + resolution: {integrity: sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==} + engines: {node: '>= 0.4'} + dev: true + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -2504,6 +2541,10 @@ packages: tslib: 2.6.0 dev: true + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true + /@purge-icons/core@0.9.1: resolution: {integrity: sha512-sx8/a30MbbqQVEqhuMPE1wJpdVRRbEmwEPZpFzVkcDixzX4p+R2A0WVxqkb0xfHUBAVQwrSE2SeAyniIQLqbLw==} dependencies: @@ -2585,7 +2626,7 @@ packages: picomatch: 2.3.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.26.3): + /@rollup/pluginutils@5.0.2(rollup@3.27.0): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2597,7 +2638,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.26.3 + rollup: 3.27.0 dev: true /@simonwep/pickr@1.8.2: @@ -2767,7 +2808,7 @@ packages: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: false - /@typescript-eslint/eslint-plugin@6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@6.2.0(@typescript-eslint/parser@6.2.0)(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2779,13 +2820,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.0 - '@typescript-eslint/parser': 6.2.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.2.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 6.2.0 - '@typescript-eslint/type-utils': 6.2.0(eslint@8.45.0)(typescript@5.1.6) - '@typescript-eslint/utils': 6.2.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 6.2.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.2.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/visitor-keys': 6.2.0 debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -2797,7 +2838,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.2.0(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/parser@6.2.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2812,7 +2853,7 @@ packages: '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.1.6) '@typescript-eslint/visitor-keys': 6.2.0 debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -2826,7 +2867,7 @@ packages: '@typescript-eslint/visitor-keys': 6.2.0 dev: true - /@typescript-eslint/type-utils@6.2.0(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@6.2.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -2837,9 +2878,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.1.6) - '@typescript-eslint/utils': 6.2.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.2.0(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 ts-api-utils: 1.0.1(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: @@ -2872,19 +2913,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.2.0(eslint@8.45.0)(typescript@5.1.6): + /@typescript-eslint/utils@6.2.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 6.2.0 '@typescript-eslint/types': 6.2.0 '@typescript-eslint/typescript-estree': 6.2.0(typescript@5.1.6) - eslint: 8.45.0 + eslint: 8.46.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -2899,6 +2940,195 @@ packages: eslint-visitor-keys: 3.4.1 dev: true + /@unocss/astro@0.54.0(rollup@3.27.0)(vite@4.4.7): + resolution: {integrity: sha512-Zq4GGRiXbWCipN9lUKlu3fmlrqIYu3rFoGwjL+v7VJulP8tVhiqzfbLXFKQePOVvCmiSvCKr6leuqgFA7PlPBg==} + dependencies: + '@unocss/core': 0.54.0 + '@unocss/reset': 0.54.0 + '@unocss/vite': 0.54.0(rollup@3.27.0)(vite@4.4.7) + transitivePeerDependencies: + - rollup + - vite + dev: true + + /@unocss/cli@0.54.0(rollup@3.27.0): + resolution: {integrity: sha512-SuQkqJxuvC9JHUpHbFQY5r+6/FoF0j4zTwY25POlr9SIz3CFrdn4tDndxvhClap9d6wVHKSbHBP9EY0fA2SQzw==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) + '@unocss/config': 0.54.0 + '@unocss/core': 0.54.0 + '@unocss/preset-uno': 0.54.0 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.1 + magic-string: 0.30.2 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.54.0: + resolution: {integrity: sha512-FT0zOJCR2qr5P08msNovsJ4Qx+P4rXoYlK2zt/hgLKiFRIUKxnwSBDvapqmW6vo3vzOsdmBBO0YKpaZJ877F8A==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.54.0 + unconfig: 0.3.9 + dev: true + + /@unocss/core@0.54.0: + resolution: {integrity: sha512-iHfJJ8U+pVhMrbVpzMb0GImZUJu3Xmp165Q5Qr44hGOEzcMdvdBxbMSSl2VBKjRsEuNudNVhh7XJAyUcKxnSWg==} + dev: true + + /@unocss/extractor-arbitrary-variants@0.54.0: + resolution: {integrity: sha512-luJTF3TnXFbMZ2Gau56p0uRsR+yIUbvHbT6ag6mvv0TvUsnhEFsMUdkXVJ1arp0duIl/dg0r1drL/Ax75RszNw==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/inspector@0.54.0: + resolution: {integrity: sha512-D3yVO7zE4NY/sARiNCUXQC7HPQZhEy7U1mSZEPc+vsVKx3nJJuRMqK9qo60SV4AZuxnd8WhL0T00W7cjVldzRw==} + dependencies: + gzip-size: 6.0.0 + sirv: 2.0.3 + dev: true + + /@unocss/postcss@0.54.0(postcss@8.4.27): + resolution: {integrity: sha512-t1PmIkp2Qa9F/9swfCVCXMuheQxd1ddrcvf0+d4fOckpFF8YhvOi+WfMoZW4YFwoCmG5pvDg4VYgKbDunGHhRg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.54.0 + '@unocss/core': 0.54.0 + css-tree: 2.3.1 + fast-glob: 3.3.1 + magic-string: 0.30.2 + postcss: 8.4.27 + dev: true + + /@unocss/preset-attributify@0.54.0: + resolution: {integrity: sha512-5Ar1n7LHKF6z1BF9N5CR8jjl9TXrVktTDd+Ldyia69jDLi+stVhM9AOGEDE8wbDkLKwv9CK5XhvyPCazGHrG+A==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/preset-icons@0.54.0: + resolution: {integrity: sha512-WHdkpMzj6tohIkCc/+mEOzn0Yppqoz3y5zbI3WsDqA2/QFNSXx4haWcjV5iJI42uGcLXRp4K3l9JV3EL+oAxbg==} + dependencies: + '@iconify/utils': 2.1.7 + '@unocss/core': 0.54.0 + ofetch: 1.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.54.0: + resolution: {integrity: sha512-y+BnGpQAGC3ZWWZfXnsvUuTTO2rNnakHx4jIyf1cv7rw5oo7jL+ONb8stKqlmLGCzlQUKjG1xp+DGuKSVnRXBw==} + dependencies: + '@unocss/core': 0.54.0 + '@unocss/extractor-arbitrary-variants': 0.54.0 + dev: true + + /@unocss/preset-tagify@0.54.0: + resolution: {integrity: sha512-FTIZc0vMoX9+fcjPYMWALpCQp3cZQCFzR05CVJapvymxb6zl5eZq7e+tpvrmU9ZPSOdG+eHTd3SxhjeJSwh15g==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/preset-typography@0.54.0: + resolution: {integrity: sha512-QqHmC49nDgYeoOCMZp1OPn6R7ISIb2LMpSq81iuuFDeYO8J+JTBWe+Z1TZhVRAXwc9rsVZeUWW6PqoBGP9QCOw==} + dependencies: + '@unocss/core': 0.54.0 + '@unocss/preset-mini': 0.54.0 + dev: true + + /@unocss/preset-uno@0.54.0: + resolution: {integrity: sha512-09/sthjGLDNMr/Cayu0Gy9jTMSxUuTfetWnM3jkByNidhfuzMW26eaMhxTrbUd28H8Titt6M+WgbJ7Gi0lQtZA==} + dependencies: + '@unocss/core': 0.54.0 + '@unocss/preset-mini': 0.54.0 + '@unocss/preset-wind': 0.54.0 + dev: true + + /@unocss/preset-web-fonts@0.54.0: + resolution: {integrity: sha512-3x1SDbJ2omwNNc3eK19zOdNU6moJg4SEr09GkeV4MMHrMXM6BHW2mEJYFSVgmTVD1RN4LZuoy/gTHMWpJhTuzw==} + dependencies: + '@unocss/core': 0.54.0 + ofetch: 1.1.1 + dev: true + + /@unocss/preset-wind@0.54.0: + resolution: {integrity: sha512-SO971KQOYzM5IKwGDBve+EWBKevU1T0mK20g17BHxPI++ubHPWRRQIh/xxHyew592taBFWK6Q75fcbOgIodx4w==} + dependencies: + '@unocss/core': 0.54.0 + '@unocss/preset-mini': 0.54.0 + dev: true + + /@unocss/reset@0.54.0: + resolution: {integrity: sha512-zxvr96hVsmvJtxCLatLSCc67RBEgqvVDhEtkIFxIz5oCJzxvipJTGdKxM4F6Akyzx1A+q7zM8dimqvmC6D5Idw==} + dev: true + + /@unocss/scope@0.54.0: + resolution: {integrity: sha512-47M3y3sl512BWZL5/aLrGPglQIRUjQrIW+WVVh3uzwIGVnDNHlxIhcHQUXXJuf8SLduXoIvcZQTfJt+jSXeuhA==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.54.0: + resolution: {integrity: sha512-+YWhyReh6JZvGiYFZ61tyqkKOc/Tn+hyYaO7VP+G2IvJqtjTwzAuyxANHimCle7O4GLodouiHPe3lKscVFt0vg==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/transformer-attributify-jsx@0.54.0: + resolution: {integrity: sha512-in5IglhFqY/3GFe7IZA7g5Q9fskjiWAZiKtCTp5vFExagq1d3Tr9VIOA98SEXBrpXXIh3lKbTiY0NusJRU3K2Q==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/transformer-compile-class@0.54.0: + resolution: {integrity: sha512-WK1fC+iDOl7Z7fO2ids6nWiMXMPHEfwMOs5dbv5lBz9UTrY1kpObToBsm3EfzhR6vwOTgld1UzpKAs3zCqZoKg==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/transformer-directives@0.54.0: + resolution: {integrity: sha512-DJ9B5TSxScoj4B1C8H3qeUIfNGjUPuM42Lvl2exDEk4RhA/IwVePnCAjTl8UsHTDI9z+6H37v4p8j8srPrzEmQ==} + dependencies: + '@unocss/core': 0.54.0 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.54.0: + resolution: {integrity: sha512-qwviBwjBKhbXYK0T1wNuM3weY+RJbmrWmKqWTldXAuZDf0q06KAa4jQC8FF1YXhq5/Z6tn2MW2GFPVWd/8nPHQ==} + dependencies: + '@unocss/core': 0.54.0 + dev: true + + /@unocss/vite@0.54.0(rollup@3.27.0)(vite@4.4.7): + resolution: {integrity: sha512-lABmJKYs/yNfZZSs3xwVhBZwNhfLaYcdKxPAopJ8MKiUqECdWvHqLvklKQvLttZpN3dQUmGTQLblM+55IodKEw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) + '@unocss/config': 0.54.0 + '@unocss/core': 0.54.0 + '@unocss/inspector': 0.54.0 + '@unocss/scope': 0.54.0 + '@unocss/transformer-directives': 0.54.0 + chokidar: 3.5.3 + fast-glob: 3.3.1 + magic-string: 0.30.2 + vite: 4.4.7(@types/node@20.4.0)(less@4.1.3)(terser@5.19.2) + transitivePeerDependencies: + - rollup + dev: true + /@vitejs/plugin-vue-jsx@3.0.1(vite@4.4.7)(vue@3.3.4): resolution: {integrity: sha512-+Jb7ggL48FSPS1uhPnJbJwWa9Sr90vQ+d0InW+AhBM22n+cfuYqJZDckBc+W3QSHe1WDvewMZfa4wZOtk5pRgw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3095,30 +3325,6 @@ packages: - vue dev: false - /@windicss/config@1.9.0: - resolution: {integrity: sha512-QO4+udbmDIgZwAi89tqUt5nGwBq3IgyELjLn83twZXiIqzOw+77ecCuM0oPSbzWmIbCqXq3wRQHd6Z1u5E/5zQ==} - dependencies: - debug: 4.3.4 - jiti: 1.18.2 - windicss: 3.5.6 - transitivePeerDependencies: - - supports-color - dev: true - - /@windicss/plugin-utils@1.9.0: - resolution: {integrity: sha512-omAacM5ExIr9XBUI2z47CyCXJBke4imJZqXW41YgHhRLbahTngbScFk5yxa6dXivDXUpUKqasOPXBJgA4bhHCg==} - dependencies: - '@antfu/utils': 0.7.2 - '@windicss/config': 1.9.0 - debug: 4.3.4 - fast-glob: 3.3.1 - magic-string: 0.30.0 - micromatch: 4.0.5 - windicss: 3.5.6 - transitivePeerDependencies: - - supports-color - dev: true - /@zxcvbn-ts/core@3.0.3: resolution: {integrity: sha512-GQo19iG/hQzs5uVxLCbNiaNTmTwGcfYZtge6L8CZiAULk0zieqZd0eThDQstljgjQWu4oO5olnPA3jnsV5sjaA==} dependencies: @@ -3133,14 +3339,6 @@ packages: through: 2.3.8 dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.8.2 - dev: true - /acorn-jsx@5.3.2(acorn@8.9.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3154,12 +3352,6 @@ packages: engines: {node: '>=0.4.0'} dev: true - /acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - /acorn@8.9.0: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} @@ -3271,6 +3463,14 @@ packages: warning: 4.0.3 dev: false + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true @@ -3468,6 +3668,11 @@ packages: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} dev: true + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -3563,6 +3768,11 @@ packages: run-applescript: 5.0.0 dev: true + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} @@ -3593,7 +3803,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /camelcase-keys@6.2.2: @@ -3632,7 +3842,7 @@ packages: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 upper-case-first: 2.0.2 dev: true @@ -3703,6 +3913,21 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} @@ -3890,6 +4115,11 @@ packages: resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==} dev: true + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + /console@0.7.2: resolution: {integrity: sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==} dev: true @@ -3898,7 +4128,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 upper-case: 2.0.2 dev: true @@ -4404,6 +4634,10 @@ packages: isobject: 3.0.1 dev: true + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + dev: true + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -4412,6 +4646,10 @@ packages: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} dev: true + /destr@2.0.0: + resolution: {integrity: sha512-FJ9RDpf3GicEBvzI3jxc2XhHzbqD8p4ANw/1kPsFBfTvP1b7Gn/Lg1vO7R9J4IVgoMbyUmFrFGZafJ1hPZpvlg==} + dev: true + /diff-match-patch@1.0.5: resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} dev: false @@ -4525,7 +4763,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /dot-prop@5.3.0: @@ -4545,6 +4783,10 @@ packages: engines: {node: '>=12'} dev: true + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true @@ -4758,16 +5000,16 @@ packages: engines: {node: '>=12'} dev: true - /eslint-config-prettier@8.8.0(eslint@8.45.0): - resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + /eslint-config-prettier@8.9.0(eslint@8.46.0): + resolution: {integrity: sha512-+sbni7NfVXnOpnRadUA8S28AUlsZt9GjgFvABIRL9Hkn8KqNzOp+7Lw4QWtrwn20KzU3wqu1QoOj2m+7rKRqkA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.45.0 + eslint: 8.46.0 dev: true - /eslint-plugin-prettier@5.0.0(eslint-config-prettier@8.8.0)(eslint@8.45.0)(prettier@3.0.0): + /eslint-plugin-prettier@5.0.0(eslint-config-prettier@8.9.0)(eslint@8.46.0)(prettier@3.0.0): resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4781,26 +5023,26 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.45.0 - eslint-config-prettier: 8.8.0(eslint@8.45.0) + eslint: 8.46.0 + eslint-config-prettier: 8.9.0(eslint@8.46.0) prettier: 3.0.0 prettier-linter-helpers: 1.0.0 synckit: 0.8.5 dev: true - /eslint-plugin-vue@9.15.1(eslint@8.45.0): + /eslint-plugin-vue@9.15.1(eslint@8.46.0): resolution: {integrity: sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==} 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(eslint@8.45.0) - eslint: 8.45.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + eslint: 8.46.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.13 semver: 7.5.0 - vue-eslint-parser: 9.3.1(eslint@8.45.0) + vue-eslint-parser: 9.3.1(eslint@8.46.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -4814,20 +5056,33 @@ packages: estraverse: 5.3.0 dev: true + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-visitor-keys@3.4.1: resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.45.0: - resolution: {integrity: sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==} + /eslint-visitor-keys@3.4.2: + resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.46.0: + resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.45.0) - '@eslint-community/regexpp': 4.5.0 - '@eslint/eslintrc': 2.1.0 - '@eslint/js': 8.44.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) + '@eslint-community/regexpp': 4.6.2 + '@eslint/eslintrc': 2.1.1 + '@eslint/js': 8.46.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -4837,9 +5092,9 @@ packages: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.2 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4876,18 +5131,18 @@ packages: resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) + acorn: 8.9.0 + acorn-jsx: 5.3.2(acorn@8.9.0) eslint-visitor-keys: 3.4.1 dev: true - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.9.0 acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 + eslint-visitor-keys: 3.4.2 dev: true /esquery@1.5.0: @@ -5449,6 +5704,13 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} @@ -5561,7 +5823,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /hosted-git-info@2.8.9: @@ -5708,10 +5970,11 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /inquirer@9.2.8: - resolution: {integrity: sha512-SJ0fVfgIzZL1AD6WvFhivlh5/3hN6WeAvpvPrpPXH/8MOcQHeXhinmSm5CDJNRC2Q+sLh9YJ5k8F8/5APMXSfw==} + /inquirer@9.2.9: + resolution: {integrity: sha512-0VXHov2GGwWquYxwxlcIcm3yOHvFb2jh/+HkY8/AUXSTWShpo6QJMlSfHi5Xo74NO40UePBM3rQcI3OkzOF/7A==} engines: {node: '>=14.18.0'} dependencies: + '@ljharb/through': 2.3.9 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 @@ -5725,7 +5988,6 @@ packages: rxjs: 7.8.1 string-width: 4.2.3 strip-ansi: 6.0.1 - through: 2.3.8 wrap-ansi: 6.2.0 dev: true @@ -5770,6 +6032,13 @@ packages: has-bigints: 1.0.2 dev: true + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -6324,6 +6593,11 @@ packages: json5: 1.0.2 dev: true + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + /locate-path@2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -6436,7 +6710,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.0 dev: true /lru-cache@5.1.1: @@ -6474,6 +6748,13 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.14 + /magic-string@0.30.2: + resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -6686,6 +6967,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@ -6766,7 +7052,11 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.5.0 + tslib: 2.6.0 + dev: true + + /node-fetch-native@1.2.0: + resolution: {integrity: sha512-5IAMBTl9p6PaAjYCnMv5FmqIF6GcZnawAVnzaCG0rX2aYZJ4CxEkZNtVPuTRug7fL7wyM5BQYTlAzcyMPi6oTQ==} dev: true /node-fetch@2.6.7: @@ -6903,6 +7193,14 @@ packages: isobject: 3.0.1 dev: true + /ofetch@1.1.1: + resolution: {integrity: sha512-SSMoktrp9SNLi20BWfB/BnnKcL0RDigXThD/mZBeQxkIRv1xrd9183MtLdsqRYLYSqW0eTr5t8w8MqjNhvoOQQ==} + dependencies: + destr: 2.0.0 + node-fetch-native: 1.2.0 + ufo: 1.2.0 + dev: true + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -7034,7 +7332,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /parent-module@1.0.1: @@ -7071,7 +7369,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /pascalcase@0.1.1: @@ -7083,7 +7381,7 @@ packages: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /path-exists@3.0.0: @@ -7146,6 +7444,10 @@ packages: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} dev: true + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -7506,6 +7808,13 @@ packages: util-deprecate: 1.0.2 dev: true + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + /redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} @@ -7702,7 +8011,7 @@ packages: terser: 5.19.2 dev: true - /rollup-plugin-visualizer@5.9.2(rollup@3.26.3): + /rollup-plugin-visualizer@5.9.2(rollup@3.27.0): resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==} engines: {node: '>=14'} hasBin: true @@ -7714,7 +8023,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.26.3 + rollup: 3.27.0 source-map: 0.7.4 yargs: 17.7.1 dev: true @@ -7727,8 +8036,8 @@ packages: fsevents: 2.3.2 dev: true - /rollup@3.26.3: - resolution: {integrity: sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==} + /rollup@3.27.0: + resolution: {integrity: sha512-aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -7762,7 +8071,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.0 dev: true /safe-buffer@5.1.2: @@ -7841,7 +8150,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 upper-case-first: 2.0.2 dev: true @@ -7897,6 +8206,15 @@ packages: engines: {node: '>=14'} dev: true + /sirv@2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -7932,7 +8250,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.5.0 + tslib: 2.6.0 dev: true /snapdragon-node@2.1.1: @@ -8553,6 +8871,11 @@ packages: safe-regex: 1.1.0 dev: true + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true @@ -8695,6 +9018,10 @@ packages: engines: {node: '>=14.17'} hasBin: true + /ufo@1.2.0: + resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} + dev: true + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -8712,6 +9039,14 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /unconfig@0.3.9: + resolution: {integrity: sha512-8yhetFd48M641mxrkWA+C/lZU4N0rCOdlo3dFsyFPnBHBjMJfjT/3eAZBRT2RxCRqeBMAKBVgikejdS6yeBjMw==} + dependencies: + '@antfu/utils': 0.7.5 + defu: 6.1.2 + jiti: 1.18.2 + dev: true + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -8761,6 +9096,42 @@ packages: engines: {node: '>= 10.0.0'} dev: true + /unocss@0.54.0(postcss@8.4.27)(rollup@3.27.0)(vite@4.4.7): + resolution: {integrity: sha512-SXjyQqt/MP1uW8mjEmQaSa0zd+QB3FwaGD/ityNlu+zNRx1D03BPP9ACbJDB1zZKx4aodMVSsHZ3TV5wsu+VRQ==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.54.0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + dependencies: + '@unocss/astro': 0.54.0(rollup@3.27.0)(vite@4.4.7) + '@unocss/cli': 0.54.0(rollup@3.27.0) + '@unocss/core': 0.54.0 + '@unocss/extractor-arbitrary-variants': 0.54.0 + '@unocss/postcss': 0.54.0(postcss@8.4.27) + '@unocss/preset-attributify': 0.54.0 + '@unocss/preset-icons': 0.54.0 + '@unocss/preset-mini': 0.54.0 + '@unocss/preset-tagify': 0.54.0 + '@unocss/preset-typography': 0.54.0 + '@unocss/preset-uno': 0.54.0 + '@unocss/preset-web-fonts': 0.54.0 + '@unocss/preset-wind': 0.54.0 + '@unocss/reset': 0.54.0 + '@unocss/transformer-attributify-jsx': 0.54.0 + '@unocss/transformer-attributify-jsx-babel': 0.54.0 + '@unocss/transformer-compile-class': 0.54.0 + '@unocss/transformer-directives': 0.54.0 + '@unocss/transformer-variant-group': 0.54.0 + '@unocss/vite': 0.54.0(rollup@3.27.0)(vite@4.4.7) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + - vite + dev: true + /unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} @@ -8793,13 +9164,13 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.0 dev: true /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.5.0 + tslib: 2.6.0 dev: true /uri-js@4.4.1: @@ -8957,26 +9328,12 @@ packages: - supports-color dev: true - /vite-plugin-windicss@1.9.0(vite@4.4.7): - resolution: {integrity: sha512-w0unPfcbVU5eaISAsFTLgIb41SLhmXoUF75Othu8NqFioe8+DEqiuvJ7/k/LRuEuvI8Rt/OKrY6cNzrB+dykaA==} - peerDependencies: - vite: ^2.0.1 || ^3.0.0 || ^4.0.0 - dependencies: - '@windicss/plugin-utils': 1.9.0 - debug: 4.3.4 - kolorist: 1.8.0 - vite: 4.4.7(@types/node@20.4.0)(less@4.1.3)(terser@5.19.2) - windicss: 3.5.6 - transitivePeerDependencies: - - supports-color - dev: true - - /vite-vue-plugin-html@1.0.2(rollup@3.26.3)(vite@4.4.7): + /vite-vue-plugin-html@1.0.2(rollup@3.27.0)(vite@4.4.7): resolution: {integrity: sha512-MADzWRhKRXQDefI2ttVukx5NMMh+Wh9S2bhmXW4Kce4F4IfTgy5dain6KYZvS5NtqMXiTj/bURPpdaAxwrQ9DA==} peerDependencies: vite: '>=4.2.0' dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.26.3) + '@rollup/pluginutils': 5.0.2(rollup@3.27.0) colorette: 2.0.20 connect-history-api-fallback: 2.0.0 consola: 3.1.0 @@ -9043,7 +9400,7 @@ packages: esbuild: 0.18.16 less: 4.1.3 postcss: 8.4.27 - rollup: 3.26.3 + rollup: 3.27.0 terser: 5.19.2 optionalDependencies: fsevents: 2.3.2 @@ -9064,14 +9421,14 @@ packages: vue: 3.3.4 dev: false - /vue-eslint-parser@9.3.1(eslint@8.45.0): + /vue-eslint-parser@9.3.1(eslint@8.46.0): resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.45.0 + eslint: 8.46.0 eslint-scope: 7.2.0 eslint-visitor-keys: 3.4.1 espree: 9.5.2 @@ -9249,12 +9606,6 @@ packages: isexe: 2.0.0 dev: true - /windicss@3.5.6: - resolution: {integrity: sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==} - engines: {node: '>= 12'} - hasBin: true - dev: true - /wmf@1.0.2: resolution: {integrity: sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==} engines: {node: '>=0.8'} diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 961986e2..00000000 --- a/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - plugins: { - autoprefixer: {} - } -} diff --git a/src/design/entry.css b/src/design/entry.css new file mode 100644 index 00000000..1d40f5db --- /dev/null +++ b/src/design/entry.css @@ -0,0 +1,168 @@ +* > .enter-x:nth-child(1) { + transform: translateX(50px); +} +* > .-enter-x:nth-child(1) { + transform: translateX(-50px); +} + +* > .enter-x:nth-child(1), +* > .-enter-x:nth-child(1) { + z-index: 9; + opacity: 0; + animation: enter-x-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.1s; +} +* > .enter-x:nth-child(2) { + transform: translateX(50px); +} +* > .-enter-x:nth-child(2) { + transform: translateX(-50px); +} + +* > .enter-x:nth-child(2), +* > .-enter-x:nth-child(2) { + z-index: 8; + opacity: 0; + animation: enter-x-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.2s; +} +* > .enter-x:nth-child(3) { + transform: translateX(50px); +} +* > .-enter-x:nth-child(3) { + transform: translateX(-50px); +} + +* > .enter-x:nth-child(3), +* > .-enter-x:nth-child(3) { + z-index: 7; + opacity: 0; + animation: enter-x-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.3s; +} + +* > .enter-x:nth-child(4) { + transform: translateX(50px); +} +* > .-enter-x:nth-child(4) { + transform: translateX(-50px); +} + +* > .enter-x:nth-child(4), +* > .-enter-x:nth-child(4) { + z-index: 6; + opacity: 0; + animation: enter-x-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.4s; +} + +* > .enter-x:nth-child(5) { + transform: translateX(50px); +} +* > .-enter-x:nth-child(5) { + transform: translateX(-50px); +} + +* > .enter-x:nth-child(5), +* > .-enter-x:nth-child(5) { + z-index: 5; + opacity: 0; + animation: enter-x-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.5s; +} + +* > .enter-y:nth-child(1) { + transform: translateX(50px); +} +* > .-enter-y:nth-child(1) { + transform: translateX(-50px); +} + +* > .enter-y:nth-child(1), +* > .-enter-y:nth-child(1) { + z-index: 9; + opacity: 0; + animation: enter-y-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.1s; +} +* > .enter-y:nth-child(2) { + transform: translateX(50px); +} +* > .-enter-y:nth-child(2) { + transform: translateX(-50px); +} + +* > .enter-y:nth-child(2), +* > .-enter-y:nth-child(2) { + z-index: 8; + opacity: 0; + animation: enter-y-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.2s; +} +* > .enter-y:nth-child(3) { + transform: translateX(50px); +} +* > .-enter-y:nth-child(3) { + transform: translateX(-50px); +} + +* > .enter-y:nth-child(3), +* > .-enter-y:nth-child(3) { + z-index: 7; + opacity: 0; + animation: enter-y-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.3s; +} + +* > .enter-y:nth-child(4) { + transform: translateX(50px); +} +* > .-enter-y:nth-child(4) { + transform: translateX(-50px); +} + +* > .enter-y:nth-child(4), +* > .-enter-y:nth-child(4) { + z-index: 6; + opacity: 0; + animation: enter-y-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.4s; +} + +* > .enter-y:nth-child(5) { + transform: translateX(50px); +} +* > .-enter-y:nth-child(5) { + transform: translateX(-50px); +} + +* > .enter-y:nth-child(5), +* > .-enter-y:nth-child(5) { + z-index: 5; + opacity: 0; + animation: enter-y-animation 0.4s ease-in-out 0.3s; + animation-fill-mode: forwards; + animation-delay: 0.5s; +} + +@keyframes enter-x-animation { + to { + opacity: 1; + transform: translateX(0); + } +} +@keyframes enter-y-animation { + to { + opacity: 1; + transform: translateY(0); + } +} diff --git a/src/design/index.less b/src/design/index.less index 526a3b9c..62c00b4e 100644 --- a/src/design/index.less +++ b/src/design/index.less @@ -3,6 +3,7 @@ @import 'public.less'; @import 'ant/index.less'; @import './theme.less'; +@import './entry.css'; input:-webkit-autofill { box-shadow: 0 0 0 1000px white inset !important; @@ -66,3 +67,10 @@ html[data-theme='dark'] { box-shadow: none; } } + +// 保持 和 windi 一样的全局样式,减少升级带来的影响 +ul { + list-style: none; + margin: 0; + padding: 0; +} diff --git a/src/layouts/default/tabs/index.less b/src/layouts/default/tabs/index.less index b45cb90d..83d47a64 100644 --- a/src/layouts/default/tabs/index.less +++ b/src/layouts/default/tabs/index.less @@ -6,11 +6,13 @@ html[data-theme='dark'] { border-bottom: none !important; } } + .ant-tabs-tab:not(.ant-tabs-tab-active) { border: none !important; + &:hover { color: inherit; - background-color: rgba(255, 255, 255, 0.5) !important; + background-color: rgba(255, 255, 255/50%) !important; } } } @@ -19,6 +21,7 @@ html[data-theme='light'] { .@{prefix-cls} { .ant-tabs-tab:not(.ant-tabs-tab-active) { border: none !important; + &:hover { color: inherit; background-color: #dee1e6; @@ -58,13 +61,14 @@ html[data-theme='light'] { color: @text-color-base; background-color: @component-background; transition: padding 0.3s; - padding: 0 20px; + padding: 0 16px; margin: 0 -14px 0 0 !important; /* stylelint-disable-next-line function-url-quotes */ mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANoAAAAkBAMAAAAdqzmBAAAAMFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlTPQ5AAAAD3RSTlMAr3DvEM8wgCBA379gj5//tJBPAAAAnUlEQVRIx2NgAAM27fj/tAO/xBsYkIHyf9qCT8iWMf6nNQhAsk2f5rYheY7Dnua2/U+A28ZEe8v+F9Ax2v7/F4DbxkUH2wzgtvHTwbYPo7aN2jZq26hto7aN2jZq25Cy7Qvctnw62PYNbls9HWz7S8/G6//PsI6H4396gAUQy1je08W2jxDbpv6nD4gB2uWp+J9eYPsEhv/0BPS1DQBvoBLVZ3BppgAAAABJRU5ErkJggg==); mask-size: 100% 100%; position: relative; z-index: 1; + border-radius: 8px 8px 0 0; .ant-tabs-tab-btn { color: @text-color-base; @@ -133,7 +137,7 @@ html[data-theme='light'] { .ant-tabs-tab-active { position: relative; - padding: 0 20px; + padding: 0 16px; color: @primary-color !important; background: #d4ebff; border: 0; diff --git a/src/main.ts b/src/main.ts index 159c9ceb..f9589ef1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,7 +1,5 @@ -import 'virtual:windi-base.css' -import 'virtual:windi-components.css' +import 'uno.css' import '@/design/index.less' -import 'virtual:windi-utilities.css' // Register icon sprite import 'virtual:svg-icons-register' import App from './App.vue' diff --git a/stylelint.config.js b/stylelint.config.js index 9a254fea..af31aaf8 100644 --- a/stylelint.config.js +++ b/stylelint.config.js @@ -21,7 +21,7 @@ module.exports = { 'at-rule-no-unknown': [ true, { - ignoreAtRules: ['tailwind', 'apply', 'variants', 'responsive', 'screen', 'function', 'if', 'each', 'include', 'mixin'] + ignoreAtRules: ['unocss', 'apply', 'variants', 'responsive', 'screen', 'function', 'if', 'each', 'include', 'mixin'] } ], 'no-empty-source': null, diff --git a/windi.config.ts b/windi.config.ts deleted file mode 100644 index 51190ba8..00000000 --- a/windi.config.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { defineConfig } from 'vite-plugin-windicss' -import { primaryColor } from './build/config/themeConfig' - -export default defineConfig({ - darkMode: 'class', - plugins: [createEnterPlugin()], - theme: { - extend: { - zIndex: { - '-1': '-1' - }, - colors: { - primary: primaryColor - }, - screens: { - sm: '576px', - md: '768px', - lg: '992px', - xl: '1200px', - '2xl': '1600px' - } - } - } -}) - -/** - * Used for animation when the element is displayed. - * @param maxOutput The larger the maxOutput output, the larger the generated css volume. - */ -function createEnterPlugin(maxOutput = 6) { - const createCss = (index: number, d = 'x') => { - const upd = d.toUpperCase() - return { - [`*> .enter-${d}:nth-child(${index})`]: { - transform: `translate${upd}(50px)` - }, - [`*> .-enter-${d}:nth-child(${index})`]: { - transform: `translate${upd}(-50px)` - }, - [`* > .enter-${d}:nth-child(${index}),* > .-enter-${d}:nth-child(${index})`]: { - 'z-index': `${10 - index}`, - opacity: '0', - animation: `enter-${d}-animation 0.4s ease-in-out 0.3s`, - 'animation-fill-mode': 'forwards', - 'animation-delay': `${(index * 1) / 10}s` - } - } - } - const handler = ({ addBase }) => { - const addRawCss = {} - for (let index = 1; index < maxOutput; index++) { - Object.assign(addRawCss, { - ...createCss(index, 'x'), - ...createCss(index, 'y') - }) - } - addBase({ - ...addRawCss, - [`@keyframes enter-x-animation`]: { - to: { - opacity: '1', - transform: 'translateX(0)' - } - }, - [`@keyframes enter-y-animation`]: { - to: { - opacity: '1', - transform: 'translateY(0)' - } - } - }) - } - return { handler } -}