diff --git a/next-ui/.storybook/preview.ts b/next-ui/.storybook/preview.ts index 40fa9edb..f49ee966 100644 --- a/next-ui/.storybook/preview.ts +++ b/next-ui/.storybook/preview.ts @@ -9,6 +9,7 @@ import { createPinia } from 'pinia' import { PiniaColada } from '@pinia/colada' import { PiniaColadaAutoRefetch } from '@pinia/colada-plugin-auto-refetch' import { vueIntl } from '@/plugins/vue-intl' +import 'virtual:uno.css' initialize( { diff --git a/next-ui/dir2json.d.ts b/next-ui/dir2json.d.ts index 62b99521..b74ff1ef 100644 --- a/next-ui/dir2json.d.ts +++ b/next-ui/dir2json.d.ts @@ -4,7 +4,9 @@ // noinspection JSUnusedGlobalSymbols // Auto generated by vite-plugin-dir2json declare module "*i18n?dir2json&ext=.json&1" { - const json: {}; + const json: { + "en": string; +}; export default json; } diff --git a/next-ui/eslint.config.ts b/next-ui/eslint.config.ts index 04f1ca4c..0dc7ba3a 100644 --- a/next-ui/eslint.config.ts +++ b/next-ui/eslint.config.ts @@ -1,5 +1,3 @@ -import storybook from 'eslint-plugin-storybook' - /** * .eslint.js * @@ -10,6 +8,7 @@ import pluginVue from 'eslint-plugin-vue' import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' import formatjs from 'eslint-plugin-formatjs' import eslintConfigPrettier from 'eslint-config-prettier' +import storybook from 'eslint-plugin-storybook' export default defineConfigWithVueTs( { diff --git a/next-ui/package-lock.json b/next-ui/package-lock.json index b786116d..1cc66f54 100644 --- a/next-ui/package-lock.json +++ b/next-ui/package-lock.json @@ -35,6 +35,8 @@ "@testing-library/vue": "^8.1.0", "@tsconfig/node22": "^22.0.2", "@types/node": "^24.0.4", + "@unocss/eslint-config": "^66.3.1", + "@unocss/preset-icons": "^66.3.1", "@vitejs/plugin-vue": "^5.2.4", "@vitest/browser": "^3.2.4", "@vitest/coverage-v8": "^3.2.4", @@ -58,9 +60,9 @@ "sass-embedded": "^1.89.2", "storybook": "^9.0.13", "typescript": "^5.8.3", + "unocss": "^66.3.1", "unplugin-auto-import": "^19.3.0", "unplugin-fonts": "^1.1.1", - "unplugin-icons": "^22.1.0", "unplugin-vue-components": "^28.7.0", "unplugin-vue-router": "^0.12.0", "vite": "^6.3.5", @@ -2116,6 +2118,22 @@ "dev": true, "license": "MIT" }, + "node_modules/@quansync/fs": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@quansync/fs/-/fs-0.1.3.tgz", + "integrity": "sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quansync": "^0.2.10" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, "node_modules/@redocly/ajv": { "version": "8.11.2", "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", @@ -3259,6 +3277,563 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@unocss/astro": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/astro/-/astro-66.3.1.tgz", + "integrity": "sha512-Jsx7Z4/aeiIn7wpDHYgoORk+Y7G0q6Gpt2NnJreS60Hfxa+0ru0KfQxs3A1f8NzSXqzf5FijtqOh2CdBiYsfFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/reset": "66.3.1", + "@unocss/vite": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/@unocss/cli": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/cli/-/cli-66.3.1.tgz", + "integrity": "sha512-fuiGIDFLuAytj3FsrOZjzM4JKRMvL/e+14HR+6FEYt0NDkUBpeP4vrLKX63sJ0Vd9gUXLfUibYkFPANY0qbj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@unocss/config": "66.3.1", + "@unocss/core": "66.3.1", + "@unocss/preset-uno": "66.3.1", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "colorette": "^2.0.20", + "consola": "^3.4.2", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "tinyglobby": "^0.2.14", + "unplugin-utils": "^0.2.4" + }, + "bin": { + "unocss": "bin/unocss.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/cli/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@unocss/cli/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@unocss/cli/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@unocss/cli/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@unocss/cli/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/@unocss/config": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/config/-/config-66.3.1.tgz", + "integrity": "sha512-7gUsp7GgxWVOJr5Db8VRAUn5xq9JPhfofeaX/V/frMtXCYpKsNghfDquEu79iptBMC15vQopal09wnN6zYJWxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "unconfig": "^7.3.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/core": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/core/-/core-66.3.1.tgz", + "integrity": "sha512-a9Fbe+g4ub+YIGbnX3n6bNG8QKgQ7b/666atEZ1PQOd8PfzExN9v22OWc8SxOtn6ooyfYJcMavIf26qLasMCrg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/eslint-config": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/eslint-config/-/eslint-config-66.3.1.tgz", + "integrity": "sha512-gOGojNwITdhTORP+9rZ532bPwPN2kQyi8ZqOqHLq98FlVFdswaLlw1uyNto6aQokXf+WnfAUNECRHbC0ji2UeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/eslint-plugin": "66.3.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/eslint-plugin": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/eslint-plugin/-/eslint-plugin-66.3.1.tgz", + "integrity": "sha512-L2gM5XpLyLvfHaE9gMzB7B2UsRLKdCYqPxOHURzxyi8gXZeu7K1AH4XyMKD9ScC5Y5Df8fMITlS1ID7N1Xik7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.35.0", + "@unocss/config": "66.3.1", + "@unocss/core": "66.3.1", + "@unocss/rule-utils": "66.3.1", + "magic-string": "^0.30.17", + "synckit": "^0.11.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/extractor-arbitrary-variants": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-66.3.1.tgz", + "integrity": "sha512-fMVJ7ha/2DZ4FycyCJub2sPuCMsHuXT+OMAW/C9pA4KT50InvlzphAtVM67RVQA1iuQA2S042ghYaci8hLVPIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/inspector": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/inspector/-/inspector-66.3.1.tgz", + "integrity": "sha512-9D9+GLgw3iLAa1cGMmk/i67xOnwpRxBJZf/CcD7hXwng/Y2qA+BwCk6+kwj7UbkDr9Ojae4AuKn65n5MJmzUaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/rule-utils": "66.3.1", + "colorette": "^2.0.20", + "gzip-size": "^6.0.0", + "sirv": "^3.0.1", + "vue-flow-layout": "^0.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/inspector/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@unocss/postcss": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/postcss/-/postcss-66.3.1.tgz", + "integrity": "sha512-Ubl1dcohDFItXuzlfwu2zQo55BL+rTrIw9x0F0EK+9+cG64SmwRJOf8fT8QwIKVgVLFOWud/22loE5P2/WBTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/config": "66.3.1", + "@unocss/core": "66.3.1", + "@unocss/rule-utils": "66.3.1", + "css-tree": "^3.1.0", + "postcss": "^8.5.6", + "tinyglobby": "^0.2.14" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/@unocss/preset-attributify": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-66.3.1.tgz", + "integrity": "sha512-MQQ/D2KNblNMMot9CBC9Ire4euPCLG8rl2rEApk/ac2pX+wurNav8D64QrE6ePPuDLLWSM79X3BXY4MRYk7yKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-icons": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-66.3.1.tgz", + "integrity": "sha512-/YbX/17XIPeJfK3OIyBHnYs9nQgvCt0dNj6i42+ajRcvTFkDS1v5m3kFiExIfkMDvpfsl8t34zNugyM4piDepw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iconify/utils": "^2.3.0", + "@unocss/core": "66.3.1", + "ofetch": "^1.4.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-mini": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-66.3.1.tgz", + "integrity": "sha512-Zq5z57Ibyu3fOvn0bUujJHK7jpoUjXvXTCSqepsk134UVVYosJojgEcmnwVpDcvxY9+ydOe9/8OPQ26ZXzFd3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/extractor-arbitrary-variants": "66.3.1", + "@unocss/rule-utils": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-tagify": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-66.3.1.tgz", + "integrity": "sha512-/ojg9r+K+W2x3DX12DgNQWD2RfPU2OJocP96iUjMnaTVvgweUqfaUXfGvhVsYe8hPjucw8nqGGZ6U8NHAnLyUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-typography": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-66.3.1.tgz", + "integrity": "sha512-0fE3NG3uguJ1UwS5vmKTbUYmIafClrjG517kn0xxwLQMcvLYgitZn7LU6sN/3HgRZLYNy+V/KxEHD28i4A0TMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/preset-mini": "66.3.1", + "@unocss/rule-utils": "66.3.1" + } + }, + "node_modules/@unocss/preset-uno": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-66.3.1.tgz", + "integrity": "sha512-yVyjjt8vFYDnRL9UyaCt7dLPhclsgSjeIhe3sv/5fseyW9B3xorddOgnASxHr7QBoxOqVgNFudaIwe9L7/8Vsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/preset-wind3": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-web-fonts": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-66.3.1.tgz", + "integrity": "sha512-aZQCPo11mOLx+JNdQlslFAtKB2Q3Aef9pAtk1WvqCFboErKFaoppaRThciBRM0GqqiNOHAplplw5lzHF6+lzbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "ofetch": "^1.4.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-wind": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-66.3.1.tgz", + "integrity": "sha512-gu74NXejsc/9BA02Y3l9iZUx6J6Fcff9LtsMOzttGxPyJLLqjMoXRzfUbeKbB1nCgEKCrXgr4UciPnstngVjmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/preset-wind3": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-wind3": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-wind3/-/preset-wind3-66.3.1.tgz", + "integrity": "sha512-1WUrhK/4uOmOjNC1/XwTvn/zS3SEnRNeMbp76y8CQiM6K/2L9wVp0XXhecrQ213vZixMG8zmbvIsZa/d4Di5ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/preset-mini": "66.3.1", + "@unocss/rule-utils": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/preset-wind4": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/preset-wind4/-/preset-wind4-66.3.1.tgz", + "integrity": "sha512-E02mA4wq2d/+bTvDl3AvDfOz9XI3c7lM8XBjScJ2eg50T1Cor4HwNtmw3N2NSvZK7oyU0EzynIX1+PdNVCJtFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/extractor-arbitrary-variants": "66.3.1", + "@unocss/rule-utils": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/reset": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-66.3.1.tgz", + "integrity": "sha512-XZdzIu4as1ZJ/dblWhBY+aGcoRLCXYewZg/lQOFVxq0tEn5+P3GUflY0HpsJrELxtt9oRSM9nT/f/fdqPtr/GQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/rule-utils": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/rule-utils/-/rule-utils-66.3.1.tgz", + "integrity": "sha512-URpCuWWRc+KfBZrnISiKaRO4R/XvxuEw/kHnv2JbhkSavdO0t0R+Rf/ACSKujmGnqpYshed15Q/BtU6YhFjZ5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "^66.3.1", + "magic-string": "^0.30.17" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/transformer-attributify-jsx": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-66.3.1.tgz", + "integrity": "sha512-bNkT+OxvZnADkPTpHptO7I6CvghlAR9SOcAZ32YHEzHlSnPgrSwmgte2+gMCGSncDmC16nsFERhhbJUV7ETxYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/transformer-compile-class": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-66.3.1.tgz", + "integrity": "sha512-JaybUxOLSDHgdoG3FRGSvDXirY0XvyfwDAgzJ9r/RkMV7cCT6Ak64/MF5mrEcqNoxbIm4DNSiKatjoEKSIfmqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/transformer-directives": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-66.3.1.tgz", + "integrity": "sha512-AeozMJXZ1Vl0+W52dXFafK0ZsEiasyQeZXHFd+L7vrMod1CTVunNX3npYytkuPuyS941uj7s1gY4ycx0dY6Isg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1", + "@unocss/rule-utils": "66.3.1", + "css-tree": "^3.1.0" + } + }, + "node_modules/@unocss/transformer-variant-group": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-66.3.1.tgz", + "integrity": "sha512-vn4uxb0YDSRhLgBZ1LrwzlsKEb9eV0PVil7+czcga4JV97O62DeiojWGlIBckPkqmKt9IyATjpBZhYci410hnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/core": "66.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@unocss/vite": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/@unocss/vite/-/vite-66.3.1.tgz", + "integrity": "sha512-saf3KPlGGUhS8NP7Dt/nQpplNTHug5uMRM2gOBijtuCwb+ytt4pGKqhpqPnUzm2whKez8VKNxAnTMQgszG2rHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@unocss/config": "66.3.1", + "@unocss/core": "66.3.1", + "@unocss/inspector": "66.3.1", + "chokidar": "^3.6.0", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "tinyglobby": "^0.2.14", + "unplugin-utils": "^0.2.4" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/@unocss/vite/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@unocss/vite/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@unocss/vite/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@unocss/vite/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", @@ -4646,6 +5221,20 @@ "node": ">= 8" } }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/css.escape": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", @@ -4924,6 +5513,13 @@ "node": ">= 0.4" } }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -5879,6 +6475,22 @@ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" } }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/happy-dom": { "version": "18.0.1", "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-18.0.1.tgz", @@ -7124,6 +7736,13 @@ "node": ">= 0.4" } }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -7586,6 +8205,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ofetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", + "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", + "dev": true, + "license": "MIT", + "dependencies": { + "destr": "^2.0.3", + "node-fetch-native": "^1.6.4", + "ufo": "^1.5.4" + } + }, "node_modules/ohash": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", @@ -9930,6 +10561,22 @@ "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", "license": "MIT" }, + "node_modules/unconfig": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-7.3.2.tgz", + "integrity": "sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@quansync/fs": "^0.1.1", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "quansync": "^0.2.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/unctx": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.4.1.tgz", @@ -10006,6 +10653,52 @@ "node": ">= 4.0.0" } }, + "node_modules/unocss": { + "version": "66.3.1", + "resolved": "https://registry.npmjs.org/unocss/-/unocss-66.3.1.tgz", + "integrity": "sha512-BlDiaVd6EWGjicbV+c4OX4pIHde87aNFImvD/O//vTc+LhB+gKpyFhaH1sEk/cwuvmO4qJgS9RtZROdduv4+gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@unocss/astro": "66.3.1", + "@unocss/cli": "66.3.1", + "@unocss/core": "66.3.1", + "@unocss/postcss": "66.3.1", + "@unocss/preset-attributify": "66.3.1", + "@unocss/preset-icons": "66.3.1", + "@unocss/preset-mini": "66.3.1", + "@unocss/preset-tagify": "66.3.1", + "@unocss/preset-typography": "66.3.1", + "@unocss/preset-uno": "66.3.1", + "@unocss/preset-web-fonts": "66.3.1", + "@unocss/preset-wind": "66.3.1", + "@unocss/preset-wind3": "66.3.1", + "@unocss/preset-wind4": "66.3.1", + "@unocss/transformer-attributify-jsx": "66.3.1", + "@unocss/transformer-compile-class": "66.3.1", + "@unocss/transformer-directives": "66.3.1", + "@unocss/transformer-variant-group": "66.3.1", + "@unocss/vite": "66.3.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@unocss/webpack": "66.3.1", + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "@unocss/webpack": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/unplugin": { "version": "2.3.5", "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.5.tgz", @@ -10126,51 +10819,6 @@ "node": ">=18.12.0" } }, - "node_modules/unplugin-icons": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-22.1.0.tgz", - "integrity": "sha512-ect2ZNtk1Zgwb0NVHd0C1IDW/MV+Jk/xaq4t8o6rYdVS3+L660ZdD5kTSQZvsgdwCvquRw+/wYn75hsweRjoIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@antfu/install-pkg": "^1.0.0", - "@iconify/utils": "^2.3.0", - "debug": "^4.4.0", - "local-pkg": "^1.0.0", - "unplugin": "^2.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@svgr/core": ">=7.0.0", - "@svgx/core": "^1.0.1", - "@vue/compiler-sfc": "^3.0.2 || ^2.7.0", - "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0", - "vue-template-compiler": "^2.6.12", - "vue-template-es2015-compiler": "^1.9.0" - }, - "peerDependenciesMeta": { - "@svgr/core": { - "optional": true - }, - "@svgx/core": { - "optional": true - }, - "@vue/compiler-sfc": { - "optional": true - }, - "svelte": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - }, - "vue-template-es2015-compiler": { - "optional": true - } - } - }, "node_modules/unplugin-utils": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", @@ -10753,6 +11401,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/vue-flow-layout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/vue-flow-layout/-/vue-flow-layout-0.1.1.tgz", + "integrity": "sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "vue": "^3.4.37" + } + }, "node_modules/vue-inbrowser-compiler-independent-utils": { "version": "4.71.1", "resolved": "https://registry.npmjs.org/vue-inbrowser-compiler-independent-utils/-/vue-inbrowser-compiler-independent-utils-4.71.1.tgz", diff --git a/next-ui/package.json b/next-ui/package.json index 104ec202..a12cf52f 100644 --- a/next-ui/package.json +++ b/next-ui/package.json @@ -52,6 +52,8 @@ "@testing-library/vue": "^8.1.0", "@tsconfig/node22": "^22.0.2", "@types/node": "^24.0.4", + "@unocss/eslint-config": "^66.3.1", + "@unocss/preset-icons": "^66.3.1", "@vitejs/plugin-vue": "^5.2.4", "@vitest/browser": "^3.2.4", "@vitest/coverage-v8": "^3.2.4", @@ -75,9 +77,9 @@ "sass-embedded": "^1.89.2", "storybook": "^9.0.13", "typescript": "^5.8.3", + "unocss": "^66.3.1", "unplugin-auto-import": "^19.3.0", "unplugin-fonts": "^1.1.1", - "unplugin-icons": "^22.1.0", "unplugin-vue-components": "^28.7.0", "unplugin-vue-router": "^0.12.0", "vite": "^6.3.5", diff --git a/next-ui/src/auto-imports.d.ts b/next-ui/src/auto-imports.d.ts index 5c7eea85..e4f89c5f 100644 --- a/next-ui/src/auto-imports.d.ts +++ b/next-ui/src/auto-imports.d.ts @@ -57,7 +57,6 @@ declare global { const useCssModule: typeof import('vue')['useCssModule'] const useCssVars: typeof import('vue')['useCssVars'] const useId: typeof import('vue')['useId'] - const useLink: (typeof import('vue-router'))['useLink'] const useModel: typeof import('vue')['useModel'] const useRoute: typeof import('vue-router')['useRoute'] const useRouter: typeof import('vue-router')['useRouter'] diff --git a/next-ui/src/components/BuildCommit.vue b/next-ui/src/components/BuildCommit.vue index 781e3db7..a28f0564 100644 --- a/next-ui/src/components/BuildCommit.vue +++ b/next-ui/src/components/BuildCommit.vue @@ -1,7 +1,7 @@ - + diff --git a/next-ui/src/components/app/drawer/menu/Import.vue b/next-ui/src/components/app/drawer/menu/Import.vue index 9fe731b9..544d3343 100644 --- a/next-ui/src/components/app/drawer/menu/Import.vue +++ b/next-ui/src/components/app/drawer/menu/Import.vue @@ -10,7 +10,7 @@ id: 'N7+QXi', }) " - :prepend-icon="mdiImport" + prepend-icon="i-mdi:import" /> @@ -38,6 +38,4 @@ - + diff --git a/next-ui/src/components/app/drawer/menu/Logout.vue b/next-ui/src/components/app/drawer/menu/Logout.vue index ee18792c..e0251ceb 100644 --- a/next-ui/src/components/app/drawer/menu/Logout.vue +++ b/next-ui/src/components/app/drawer/menu/Logout.vue @@ -7,13 +7,12 @@ id: 'ti4Pzo', }) " - :prepend-icon="mdiPower" + prepend-icon="i-mdi:power" @click="performLogout" /> + diff --git a/next-ui/src/components/app/drawer/menu/Server.vue b/next-ui/src/components/app/drawer/menu/Server.vue index e83c7a88..93a24da6 100644 --- a/next-ui/src/components/app/drawer/menu/Server.vue +++ b/next-ui/src/components/app/drawer/menu/Server.vue @@ -18,7 +18,7 @@ floating color="info" > - + @@ -99,7 +99,6 @@