{"_id":"@axin666/ai-ui","_rev":"4-c1bd7b946d7fc5988d78ee3fb08bfb11","name":"@axin666/ai-ui","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.9":{"name":"@axin666/ai-ui","version":"0.1.9","keywords":["vue3","component-library","typescript","admin","ui"],"author":"","license":"MIT","_id":"@axin666/ai-ui@0.1.9","maintainers":[{"name":"axin666","email":"1820334402@qq.com"}],"dist":{"shasum":"dd31ec3c4aba74c68912bbd6ea50939d3ad61966","tarball":"https://registry.npmjs.org/@axin666/ai-ui/-/ai-ui-0.1.9.tgz","fileCount":7,"integrity":"sha512-NpHvj2yV3iqjp3zaJc/X+vdISQQYyjGRK+dcL+pPDO36l+ocanOdd3dTTEIBGeb8l5Pt8SftfbKxG4ctmYeREg==","signatures":[{"sig":"MEYCIQDdcGymmr0bmaS6rDi0nuTm6u4Kxder91gTxSk6FncO6wIhALRc6Y3n25SbmkzuojPQMkXlnWgUltLcwSloia5PzE13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33162},"main":"dist/ai-ui.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/ai-ui.esm.js","exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js"},"./dist/style.css":"./dist/style.css"},"gitHead":"f9146a8c857c325533d60d6faf0898e1e474e784","scripts":{"dev":"vite","lint":"eslint . --ext .vue,.ts,.tsx --fix","test":"vitest","build":"vite build --mode lib","format":"prettier --write \"**/*.{vue,ts,tsx,js,jsx,json,md,scss,css}\"","prepare":"husky install","preview":"vite preview","release":"pnpm lint && pnpm test && pnpm build","docs:dev":"vitepress dev docs","build:lib":"BUILD_MODE=lib vite build","docs:build":"vitepress build docs","type-check":"vue-tsc --noEmit","docs:preview":"vitepress preview docs","test:coverage":"vitest --coverage","dev:playground":"vite"},"_npmUser":{"name":"axin666","email":"1820334402@qq.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.8.2","description":"A Vue 3 component library for admin systems","directories":{},"lint-staged":{"*.{scss,css,json,md}":["prettier --write"],"*.{vue,ts,tsx,js,jsx}":["eslint --fix","prettier --write"]},"sideEffects":["dist/style.css","packages/theme/index.scss","packages/components/**/style.scss"],"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","sass":"^1.69.0","vite":"^5.0.0","husky":"^8.0.3","jsdom":"^24.0.0","eslint":"^8.54.0","vitest":"^1.0.0","vue-tsc":"^1.8.0","prettier":"^3.1.0","vitepress":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","lint-staged":"^15.1.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^3.7.0","eslint-plugin-vue":"^9.18.1","vue-eslint-parser":"^9.3.2","@vitejs/plugin-vue":"^5.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@typescript-eslint/eslint-plugin":"^6.13.1"},"peerDependencies":{"vue":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-ui_0.1.9_1767865302151_0.2294824322593938","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@axin666/ai-ui","version":"0.1.12","keywords":["vue3","component-library","typescript","admin","ui"],"author":"","license":"MIT","_id":"@axin666/ai-ui@0.1.12","maintainers":[{"name":"axin666","email":"1820334402@qq.com"}],"dist":{"shasum":"28c813b2adf16d48baa2cd7572c9796bae145900","tarball":"https://registry.npmjs.org/@axin666/ai-ui/-/ai-ui-0.1.12.tgz","fileCount":7,"integrity":"sha512-CGN0B02NfGcWbbhd+LbFYsC1P3LsGjzN7QoC+6cgt0HDjJ9A2j+dnhIb2yjFwuGpj4dmVjLJjBTJuui8bxvIzA==","signatures":[{"sig":"MEYCIQCBxqEMXGOxUvFwC2prBQ3rXQzZCjm43Xms2JLOVUcDOQIhAPASw7ZnaS06nk5nIn99zQYQFVD7wn4TlzWOARmCutq9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52977},"main":"dist/ai-ui.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/ai-ui.esm.js","exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js"},"./Icon":{"types":"./dist/types/src/index.d.ts","import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js"},"./dist/style.css":"./dist/style.css"},"gitHead":"374c6f56c8ed36b6ee97713d26abf835ecb6a0d9","scripts":{"dev":"vite","lint":"eslint . --ext .vue,.ts,.tsx --fix","test":"vitest","build":"vite build --mode lib","format":"prettier --write \"**/*.{vue,ts,tsx,js,jsx,json,md,scss,css}\"","prepare":"husky install","preview":"vite preview","release":"pnpm lint && pnpm test && pnpm build","docs:dev":"vitepress dev docs","build:lib":"BUILD_MODE=lib vite build","docs:build":"vitepress build docs","type-check":"vue-tsc --noEmit","docs:preview":"vitepress preview docs","test:coverage":"vitest --coverage","dev:playground":"vite"},"_npmUser":{"name":"axin666","email":"1820334402@qq.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.8.2","description":"A Vue 3 component library for admin systems","directories":{},"lint-staged":{"*.{scss,css,json,md}":["prettier --write"],"*.{vue,ts,tsx,js,jsx}":["eslint --fix","prettier --write"]},"sideEffects":["dist/style.css","packages/theme/index.scss","packages/components/**/style.scss"],"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","sass":"^1.69.0","vite":"^5.0.0","husky":"^8.0.3","jsdom":"^24.0.0","eslint":"^8.54.0","vitest":"^1.0.0","vue-tsc":"^1.8.0","prettier":"^3.1.0","vitepress":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","lint-staged":"^15.1.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^3.7.0","eslint-plugin-vue":"^9.18.1","vue-eslint-parser":"^9.3.2","@vitejs/plugin-vue":"^5.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vitepress-demo-preview/plugin":"^1.4.1","@typescript-eslint/eslint-plugin":"^6.13.1","@vitepress-demo-preview/component":"^2.6.1"},"peerDependencies":{"vue":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-ui_0.1.12_1767953143833_0.7299398545470879","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@axin666/ai-ui","version":"0.1.13","keywords":["vue3","component-library","typescript","admin","ui"],"author":"","license":"MIT","_id":"@axin666/ai-ui@0.1.13","maintainers":[{"name":"axin666","email":"1820334402@qq.com"}],"dist":{"shasum":"ad70ec26c406c102cbaf5a2ef04f78a3683788ed","tarball":"https://registry.npmjs.org/@axin666/ai-ui/-/ai-ui-0.1.13.tgz","fileCount":7,"integrity":"sha512-bcnW7fFCS2QE+HUV0Oj/VNOOfiYbMeOqmMJv0es7NEwEm++wCwe0uLVse6n2JVBBvvwER73rHXYlTnnH3Q2NLQ==","signatures":[{"sig":"MEUCIAne/UKimxJ8XAfcnyQFb/SzJ1b7Xtmgb87bpoCCHD+yAiEAwG9PTd6RJTgdDMRDvOPl8D39lt429cKQ2+Z+OZfn+a8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53072},"main":"dist/ai-ui.cjs.js","type":"module","types":"dist/types/src/index.d.ts","module":"dist/ai-ui.esm.js","exports":{".":{"types":"./dist/types/src/index.d.ts","import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js"},"./Icon":{"types":"./dist/types/src/index.d.ts","import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js"},"./dist/style.css":"./dist/style.css"},"gitHead":"db57ba0fbec2924bea5be8bbd4a6a8aab10262f1","scripts":{"dev":"vite","lint":"eslint . --ext .vue,.ts,.tsx --fix","test":"vitest","build":"vite build --mode lib","format":"prettier --write \"**/*.{vue,ts,tsx,js,jsx,json,md,scss,css}\"","prepare":"husky install","preview":"vite preview","release":"pnpm lint && pnpm test && pnpm build","docs:dev":"vitepress dev docs","build:lib":"BUILD_MODE=lib vite build","docs:build":"vitepress build docs","type-check":"vue-tsc --noEmit","docs:preview":"vitepress preview docs","test:coverage":"vitest --coverage","dev:playground":"vite"},"_npmUser":{"name":"axin666","email":"1820334402@qq.com"},"repository":{"url":"","type":"git"},"_npmVersion":"10.8.2","description":"A Vue 3 component library for admin systems","directories":{},"lint-staged":{"*.{scss,css,json,md}":["prettier --write"],"*.{vue,ts,tsx,js,jsx}":["eslint --fix","prettier --write"]},"sideEffects":["dist/style.css","packages/theme/index.scss","packages/components/**/style.scss"],"_nodeVersion":"20.19.6","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","sass":"^1.69.0","vite":"^5.0.0","husky":"^8.0.3","jsdom":"^24.0.0","eslint":"^8.54.0","vitest":"^1.0.0","vue-tsc":"^1.8.0","prettier":"^3.1.0","vitepress":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","lint-staged":"^15.1.0","@vue/test-utils":"^2.4.0","vite-plugin-dts":"^3.7.0","eslint-plugin-vue":"^9.18.1","vue-eslint-parser":"^9.3.2","@vitejs/plugin-vue":"^5.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.13.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vitepress-demo-preview/plugin":"^1.4.1","@typescript-eslint/eslint-plugin":"^6.13.1","@vitepress-demo-preview/component":"^2.6.1"},"peerDependencies":{"vue":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ai-ui_0.1.13_1767954087468_0.4478895744026654","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@axin666/ai-ui","version":"0.2.0","description":"A Vue 3 component library for admin systems","type":"module","main":"dist/ai-ui.cjs.js","module":"dist/ai-ui.esm.js","types":"dist/types/src/index.d.ts","exports":{".":{"import":"./dist/ai-ui.esm.js","require":"./dist/ai-ui.cjs.js","types":"./dist/types/src/index.d.ts"},"./dist/style.css":"./dist/style.css"},"publishConfig":{"access":"public"},"sideEffects":["dist/style.css","packages/theme/index.scss","packages/components/**/style.scss"],"peerDependencies":{"vue":"^3.3.0"},"devDependencies":{"@changesets/cli":"^2.29.8","@types/node":"^20.10.0","@typescript-eslint/eslint-plugin":"^6.13.1","@typescript-eslint/parser":"^6.13.1","@vitejs/plugin-vue":"^5.0.0","@vitepress-demo-preview/component":"^2.6.1","@vitepress-demo-preview/plugin":"^1.4.1","@vue/eslint-config-prettier":"^8.0.0","@vue/eslint-config-typescript":"^12.0.0","@vue/test-utils":"^2.4.0","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","eslint-plugin-vue":"^9.18.1","esno":"^4.8.0","fast-glob":"^3.3.2","fs-extra":"^11.2.0","husky":"^8.0.3","jsdom":"^24.0.0","lint-staged":"^15.1.0","prettier":"^3.1.0","sass":"^1.69.0","typescript":"^5.3.0","vite":"^5.0.0","vite-plugin-dts":"^3.7.0","vitepress":"^1.0.0","vitest":"^1.0.0","vue":"^3.4.0","vue-eslint-parser":"^9.3.2","vue-tsc":"^1.8.0"},"lint-staged":{"*.{vue,ts,tsx,js,jsx}":["eslint --fix","prettier --write"],"*.{scss,css,json,md}":["prettier --write"]},"keywords":["vue3","component-library","typescript","admin","ui"],"author":"","license":"MIT","repository":{"type":"git","url":""},"scripts":{"dev":"vite","dev:playground":"vite","build":"pnpm --filter @axin666/ai-ui-icons build && vite build --mode lib","build:lib":"BUILD_MODE=lib vite build","preview":"vite preview","test":"vitest","test:coverage":"vitest --coverage","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs","lint":"eslint . --ext .vue,.ts,.tsx --fix","format":"prettier --write \"**/*.{vue,ts,tsx,js,jsx,json,md,scss,css}\"","type-check":"vue-tsc --noEmit","release":"pnpm lint && pnpm test && pnpm build","changeset":"changeset","version-packages":"changeset version","release:publish":"pnpm build && changeset publish --no-git-tag"},"_id":"@axin666/ai-ui@0.2.0","_integrity":"sha512-37jHdErzr+qTo5wF7yNJ0Bz7aCfBN8muG5K0ikUyGS8qehIsGVWf37ZB1rvMcAQg3Yy7aBT4pX30fnN2ciAaUg==","_resolved":"/tmp/b2c10661b7f79404c5eefbcf009dd843/axin666-ai-ui-0.2.0.tgz","_from":"file:axin666-ai-ui-0.2.0.tgz","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-37jHdErzr+qTo5wF7yNJ0Bz7aCfBN8muG5K0ikUyGS8qehIsGVWf37ZB1rvMcAQg3Yy7aBT4pX30fnN2ciAaUg==","shasum":"d5c40dee4f91ee62bcfb4ac5a00f3da5fbddbfa8","tarball":"https://registry.npmjs.org/@axin666/ai-ui/-/ai-ui-0.2.0.tgz","fileCount":7,"unpackedSize":55049,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICW3l5gwd1F8HoMvdaIGqJRY49jNhYVB4I52LP8nFJ6OAiEAi6wWC/yb0ellujMMyTgza20XgARPqLDFnPbIGVvjuEE="}]},"_npmUser":{"name":"axin666","email":"1820334402@qq.com"},"directories":{},"maintainers":[{"name":"axin666","email":"1820334402@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-ui_0.2.0_1768207998383_0.9021832470737545"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-08T09:41:42.021Z","modified":"2026-01-12T08:53:18.734Z","0.1.9":"2026-01-08T09:41:42.310Z","0.1.12":"2026-01-09T10:05:44.043Z","0.1.13":"2026-01-09T10:21:27.602Z","0.2.0":"2026-01-12T08:53:18.520Z"},"license":"MIT","keywords":["vue3","component-library","typescript","admin","ui"],"repository":{"type":"git","url":""},"description":"A Vue 3 component library for admin systems","maintainers":[{"name":"axin666","email":"1820334402@qq.com"}],"readme":"# AI UI\n\n一个基于 Vue 3 + TypeScript 的组件库，面向中后台场景。\n\n## 🌐 在线地址\n\n- [在线文档 / 组件预览](https://kaelcodeforge.github.io/ai-ui/)\n\n## ✨ 特性\n\n- 🚀 **Vue 3 + TypeScript** - 基于 Vue 3 Composition API 和 TypeScript 构建\n- 🎨 **可定制主题** - 基于 CSS 变量的主题系统，支持亮色/暗色模式\n- 📦 **按需引入** - 支持 Tree Shaking，减小包体积\n- 🔧 **AI Coding 友好** - 统一的代码结构、完备的类型定义\n\n## 📦 安装\n\n```bash\n# npm\nnpm install @axin666/ai-ui\n\n# pnpm\npnpm add @axin666/ai-ui\n```\n\n## 🔨 使用\n\n### 完整引入\n\n```ts\nimport { createApp } from 'vue'\nimport AiUI from '@axin666/ai-ui'\nimport '@axin666/ai-ui/dist/style.css'\nimport App from './App.vue'\n\nconst app = createApp(App)\napp.use(AiUI)\napp.mount('#app')\n```\n\n### 按需引入\n\n```vue\n<script setup lang=\"ts\">\n// 从主入口引入组件\nimport { AiButton, AiInput } from '@axin666/ai-ui'\n\n// 导入工具函数\nimport { createBem } from '@axin666/ai-ui'\n\n// 导入 Hooks\nimport { useEventListener } from '@axin666/ai-ui'\n</script>\n\n<template>\n  <AiButton type=\"primary\">按钮</AiButton>\n  <AiInput v-model=\"value\" placeholder=\"请输入内容\" />\n</template>\n```\n\n## 🛠️ 开发\n\n```bash\n# 安装依赖\npnpm install\n\n# 启动开发服务器\npnpm dev\n\n# 构建组件库\npnpm build\n\n# 运行测试\npnpm test\n\n# 启动文档站点\npnpm docs:dev\n```\n\n## 📁 项目结构\n\n```\nai-ui/\n├── packages/              # 组件库核心代码\n│   ├── index.ts          # 主入口文件\n│   ├── components/       # 组件源码\n│   │   ├── Button/       # 按钮组件\n│   │   │   ├── src/\n│   │   │   │   ├── AiButton.vue   # 组件实现\n│   │   │   │   ├── props.ts       # Props 定义\n│   │   │   │   └── style.scss     # 样式\n│   │   │   ├── index.ts           # 组件出口\n│   │   │   └── __tests__/         # 单元测试\n│   │   ├── Input/       # 输入框组件\n│   │   ├── index.ts     # 组件库入口\n│   │   └── types.ts     # 公共类型\n│   ├── hooks/           # 通用 Hooks\n│   │   ├── useEventListener.ts\n│   │   ├── useClickOutside.ts\n│   │   └── index.ts\n│   ├── utils/           # 工具函数\n│   │   ├── bem.ts       # BEM 命名工具\n│   │   ├── dom.ts       # DOM 工具\n│   │   ├── props.ts     # Props 工具\n│   │   └── index.ts\n│   └── theme/           # 主题系统\n│       ├── index.scss   # 默认主题（CSS 变量）\n│       ├── dark.scss    # 暗色主题\n│       └── tokens/      # 设计令牌\n│           ├── colors.ts\n│           ├── spacing.ts\n│           ├── typography.ts\n│           └── index.ts\n├── playground/          # 开发预览环境\n│   ├── App.vue         # 预览页面\n│   ├── main.ts         # 预览入口\n│   └── vite-env.d.ts  # 类型声明\n├── docs/               # VitePress 文档\n│   ├── components/    # 组件文档\n│   ├── guide/         # 指南文档\n│   └── index.md       # 文档首页\n├── index.html          # 开发预览 HTML\n├── vite.config.ts      # Vite 配置\n├── tsconfig.json       # TypeScript 配置\n└── package.json        # 项目配置\n```\n\n## 📄 License\n\n[MIT](./LICENSE)","readmeFilename":"README.md"}