{"_id":"@aientry/ui","_rev":"3-e56e90448c618ef226ab01ddef4da70a","name":"@aientry/ui","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@aientry/ui","version":"0.1.0","keywords":["react","components","ui-library","tailwindcss","shadcn"],"author":{"name":"Aientry Team"},"license":"MIT","_id":"@aientry/ui@0.1.0","maintainers":[{"name":"kevinbrother2","email":"1299178488@qq.com"}],"homepage":"https://github.com/KevinBrother/-aientry-ui#readme","bugs":{"url":"https://github.com/KevinBrother/-aientry-ui/issues"},"dist":{"shasum":"592a0690094e2101723b2444e83ad6f92da9e9e5","tarball":"https://registry.npmjs.org/@aientry/ui/-/ui-0.1.0.tgz","fileCount":14,"integrity":"sha512-Q6LoMGt+0g8+sl6YwL2MrQMr1M8kNDjOKodJGhH2sJivC0RjKCin0+CPxY3pzqcCtnbcafjYrtbixl07k6J0uA==","signatures":[{"sig":"MEUCIGcR2EI1xoQip48UzR2hP9ZKJd0UaAAUs8oiD99XS8M4AiEAtNegoWZkP1wsyoTuGBB6eMiKWhsHKsbeJiyJwtU8iCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1748551},"main":"./dist/index.js","_from":"file:aientry-ui-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./globals":{"types":"./dist/globals.d.ts","default":"./dist/globals.css"},"./dist/globals.css":{"default":"./dist/globals.css"},"./dist/default-tailwindcss-theme.css":{"default":"./dist/default-tailwindcss-theme.css"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","build-storybook":"storybook build"},"_npmUser":{"name":"kevinbrother2","email":"1299178488@qq.com"},"_resolved":"/private/var/folders/ds/fbv_2ft14y3gfpy6kg6ffkb40000gn/T/0328a2ff7d87b31908a5333f577ec671/aientry-ui-0.1.0.tgz","_integrity":"sha512-Q6LoMGt+0g8+sl6YwL2MrQMr1M8kNDjOKodJGhH2sJivC0RjKCin0+CPxY3pzqcCtnbcafjYrtbixl07k6J0uA==","repository":{"url":"git+ssh://git@github.com/KevinBrother/-aientry-ui.git","type":"git"},"_npmVersion":"8.19.2","description":"Aientry's reusable React UI component library.","directories":{},"sideEffects":["./dist/**/*.css"],"_nodeVersion":"23.9.0","dependencies":{"ai":"^5.0.60","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","katex":"^0.16.23","react":"^19.1.1","shiki":"^3.13.0","nanoid":"^5.1.6","sonner":"^2.0.3","date-fns":"^4.1.0","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^19.1.1","remark-gfm":"^4.0.1","next-themes":"^0.4.6","remark-math":"^6.0.0","lucide-react":"^0.487.0","rehype-katex":"^7.0.1","react-dropzone":"^14.3.8","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","react-hook-form":"^7.55.0","react-day-picker":"^9.9.0","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.3","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@tanstack/react-table":"^8.21.3","harden-react-markdown":"^1.1.3","@radix-ui/react-avatar":"^1.1.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.1.3","@radix-ui/react-toggle":"^1.1.2","react-resizable-panels":"^2.1.7","@radix-ui/react-menubar":"^1.1.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.2","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-accordion":"^1.2.3","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.6","@radix-ui/react-collapsible":"^1.1.3","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.3","@radix-ui/react-alert-dialog":"^1.1.6","@radix-ui/react-aspect-ratio":"^1.1.2","@radix-ui/react-context-menu":"^2.2.6","@radix-ui/react-toggle-group":"^1.1.2","@radix-ui/react-dropdown-menu":"^2.1.16","@icons-pack/react-simple-icons":"^13.8.0","@radix-ui/react-navigation-menu":"^1.2.5","@radix-ui/react-use-controllable-state":"^1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vite":"^7.1.7","eslint":"^9.36.0","storybook":"^8.6.14","typescript":"^5.2.2","tailwindcss":"^4","@types/react":"^19.1.16","@storybook/test":"^8.6.14","@storybook/react":"^8.6.14","@types/react-dom":"^19.1.9","@aientry/tsconfig":"0.0.0","@storybook/blocks":"^8.6.14","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4","@storybook/react-vite":"^8.6.14","@aientry/eslint-config":"0.0.0","@storybook/addon-links":"^8.6.14","@storybook/addon-essentials":"^8.6.14","@storybook/addon-interactions":"^8.6.14"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.1.0_1760437220080_0.5017476057242514","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to @aientry/ui-components. Please install @aientry/ui-components instead."},"0.2.0":{"name":"@aientry/ui","version":"0.2.0","keywords":["react","components","ui-library","tailwindcss","shadcn"],"author":{"name":"Aientry Team"},"license":"MIT","_id":"@aientry/ui@0.2.0","maintainers":[{"name":"kevinbrother2","email":"1299178488@qq.com"}],"homepage":"https://github.com/KevinBrother/-aientry-ui#readme","bugs":{"url":"https://github.com/KevinBrother/-aientry-ui/issues"},"dist":{"shasum":"a3a90441d5694ebebeb4267578ea66ca7da1bc16","tarball":"https://registry.npmjs.org/@aientry/ui/-/ui-0.2.0.tgz","fileCount":11,"integrity":"sha512-2BAX1GLA8MpxK3qSh6YB/oMMCcyX8MUsBDkYPFRJttX1NDEpDoRgO6c7bNIT3eUvdl2YJk6KtgeFnxia2Bo+fA==","signatures":[{"sig":"MEUCIBSGhG4Ako9SOt2yd3rXC/mr4p33tuSKDuiSIvS/7TDOAiEAgUhKozgh/0KsQkbBNi33v48kBuB1HWUID4GoBjBmQu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1792416},"main":"./dist/index.js","_from":"file:aientry-ui-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./dist/*":"./dist/*"},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint src --ext .ts,.tsx","build":"tsup","storybook":"storybook dev -p 6006","type-check":"tsc --noEmit","build-storybook":"storybook build"},"_npmUser":{"name":"kevinbrother2","email":"1299178488@qq.com"},"_resolved":"/private/var/folders/ds/fbv_2ft14y3gfpy6kg6ffkb40000gn/T/93880e9c16db751240bccbf0c10b753f/aientry-ui-0.2.0.tgz","_integrity":"sha512-2BAX1GLA8MpxK3qSh6YB/oMMCcyX8MUsBDkYPFRJttX1NDEpDoRgO6c7bNIT3eUvdl2YJk6KtgeFnxia2Bo+fA==","repository":{"url":"git+ssh://git@github.com/KevinBrother/-aientry-ui.git","type":"git"},"_npmVersion":"8.19.2","description":"Aientry's reusable React UI component library.","directories":{},"sideEffects":["./dist/**/*.css"],"_nodeVersion":"23.9.0","dependencies":{"ai":"^5.0.60","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","katex":"^0.16.23","react":"^19.1.1","shiki":"^3.13.0","slate":"^0.118.1","ahooks":"^3.9.5","nanoid":"^5.1.6","sonner":"^2.0.3","recharts":"^2.15.2","input-otp":"^1.4.2","lodash-es":"4.17.21","react-dom":"^19.1.1","spark-md5":"^3.0.2","remark-gfm":"^4.0.1","next-themes":"^0.4.6","remark-math":"^6.0.0","slate-react":"^0.117.4","lucide-react":"^0.487.0","rehype-katex":"^7.0.1","slate-history":"^0.113.1","react-dropzone":"^14.3.8","react-markdown":"^10.1.0","tailwind-merge":"^3.3.1","react-hook-form":"^7.55.0","react-day-picker":"^9.9.0","use-stick-to-bottom":"^1.1.1","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.3","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@tanstack/react-table":"^8.21.3","harden-react-markdown":"^1.1.3","@radix-ui/react-avatar":"^1.1.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.1.3","@radix-ui/react-toggle":"^1.1.2","react-resizable-panels":"^2.1.7","@radix-ui/react-menubar":"^1.1.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.1.8","@radix-ui/react-checkbox":"^1.1.4","@radix-ui/react-progress":"^1.1.2","class-variance-authority":"^0.7.1","react-syntax-highlighter":"^15.6.6","@radix-ui/react-accordion":"^1.2.3","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.6","@radix-ui/react-collapsible":"^1.1.3","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.3","@radix-ui/react-alert-dialog":"^1.1.6","@radix-ui/react-aspect-ratio":"^1.1.2","@radix-ui/react-context-menu":"^2.2.6","@radix-ui/react-toggle-group":"^1.1.2","@radix-ui/react-dropdown-menu":"^2.1.16","@icons-pack/react-simple-icons":"^13.8.0","@radix-ui/react-navigation-menu":"^1.2.5","@radix-ui/react-use-controllable-state":"^1.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vite":"^7.1.7","eslint":"^9.36.0","storybook":"^8.6.14","typescript":"^5.2.2","tailwindcss":"^4","@types/react":"^19.1.16","@storybook/test":"^8.6.14","@storybook/react":"^8.6.14","@tailwindcss/cli":"^4.1.16","@types/lodash-es":"4.17.12","@types/react-dom":"^19.1.9","@types/spark-md5":"^3.0.5","@aientry/tsconfig":"0.0.0","@storybook/blocks":"^8.6.14","tailwindcss-animate":"^1.0.7","@tailwindcss/postcss":"^4","@storybook/react-vite":"^8.6.14","@aientry/eslint-config":"0.0.0","@storybook/addon-links":"^8.6.14","@typescript-eslint/parser":"^8.45.0","@storybook/addon-essentials":"^8.6.14","@storybook/addon-interactions":"^8.6.14","@typescript-eslint/eslint-plugin":"^8.45.0"},"peerDependencies":{"react":"^19.1.1","react-dom":"^19.1.1"},"_npmOperationalInternal":{"tmp":"tmp/ui_0.2.0_1761564043689_0.8450630844317757","host":"s3://npm-registry-packages-npm-production"},"deprecated":"This package has moved to @aientry/ui-components. Please install @aientry/ui-components instead."}},"time":{"created":"2025-10-14T10:20:19.991Z","modified":"2026-06-09T06:00:45.833Z","0.1.0":"2025-10-14T10:20:20.343Z","0.2.0":"2025-10-27T11:20:43.935Z"},"bugs":{"url":"https://github.com/KevinBrother/-aientry-ui/issues"},"author":{"name":"Aientry Team"},"license":"MIT","homepage":"https://github.com/KevinBrother/-aientry-ui#readme","keywords":["react","components","ui-library","tailwindcss","shadcn"],"repository":{"url":"git+ssh://git@github.com/KevinBrother/-aientry-ui.git","type":"git"},"description":"Aientry's reusable React UI component library.","maintainers":[{"name":"kevinbrother2","email":"1299178488@qq.com"}],"readme":"# ui component\n\n## how to use\n\n``` css\n/* app/globals.css */\n@import '@aientry/ui/globals';\n\n@layer theme {\n  [data-app='my-app'] {\n    /* optional overrides */\n  }\n}\n```\n\n确保在布局根节点上添加 `data-ait-theme=\"default\"`（或你自定义的主题名）来启用主题变量：\n\n```tsx\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n  return (\n    <html lang=\"en\" data-ait-theme=\"default\">\n      <body data-app=\"my-app\">{children}</body>\n    </html>\n  )\n}\n```\n\n## 扩展 useDataTable\n\n在 src/components/data-table/use-data-table.ts 添加 dataService 属性\n\n- 需要实现分页、排序、筛选等功能自动调用接口，方便使用者直接传入接口即可\n- 可以通过 hooks 的 useRequest 来简化实现\n\n``` typescript\ntype IParams = Record<string, any>;\n\ninterface IList<T> {\n  total: number\n  list: T[]\n}\n\ntype IListService<R> = (args: IParams) => Promise<IList<R>>;\n```\n\n``` ts\n{\n  const { data, loading, error, refresh,... } = useDataTable<TData, TValue>({\n    // ...\n    // data? : TData[]; // 可选\n    dataService: UserService.getUserList; // 可选\n    // 或者\n    dataService: async (params: IParams) => {\n      if (!props.id) return { list: [], total: 0 };\n      const data = await UserService.getUserList(params);\n      return data;\n    }\n  })\n}\n```\n\n- 结合 src/components/data-table/data-table-hooks.tsx 能方便的使用，无需再手动处理分页、过滤等数据\n可以新增一个新的 story 文件来演示，dataService 的使用方式\n\n## useTable\n\n- 结合 src/components/data-table/data-table-hooks.tsx、src/components/data-table/use-data-table.ts  实现一个 useTable 的hooks 组件，封装常用的表格功能\n\n``` tsx\n\n  <DataTableHooks\n    // ...\n    dataService={async (params: IParams) => {\n      if (!props.id) return { list: [], total: 0 };\n      const data = await UserService.getUserList(props.id, params);\n      forEach(data.list, (item, index) => {\n        (item as any).index = index;\n      });\n      return data as IList<User>;\n    }}\n  />\n```\n","readmeFilename":"README.md"}