{"_id":"@appkits-ai/ui","name":"@appkits-ai/ui","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@appkits-ai/ui","version":"0.1.0","type":"module","private":false,"dependencies":{"@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-label":"^2.1.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-tooltip":"^1.2.8","class-variance-authority":"^0.7.1","clsx":"^2.1.1","lucide-react":"^0.562.0","next-themes":"^0.4.6","react":"^19.2.6","react-dom":"^19.2.6","sonner":"^2.0.7","tailwind-merge":"^3.4.0","tw-animate-css":"^1.4.0","zod":"^3.22.4","viem":"^2.43.2","zustand":"^5.0.9","@appkits-ai/sdk":"0.1.0"},"devDependencies":{"@tailwindcss/postcss":"^4.1.17","@turbo/gen":"^1.1.1","@types/node":"^20.19.25","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","eslint":"^9.39.1","tailwindcss":"^4.1.17","typescript":"^5.9.3","@workspace/typescript-config":"0.0.0","@appkits-ai/eslint-config":"0.1.0"},"main":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./globals.css":"./src/styles/globals.css","./postcss.config":"./postcss.config.mjs","./lib/*":{"types":"./dist/lib/*.d.ts","import":"./dist/lib/*.js"},"./components/*":{"types":"./dist/components/*.d.ts","import":"./dist/components/*.js"},"./hooks/*":{"types":"./dist/hooks/*.d.ts","import":"./dist/hooks/*.js"},"./package.json":"./package.json"},"scripts":{"build":"pnpm lint && rm -rf dist && tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json --noEmit","lint":"eslint . --max-warnings 0"},"_id":"@appkits-ai/ui@0.1.0","description":"A centralized UI component library based on **shadcn/ui** and **Tailwind CSS**. This package exports reusable components, hooks, and utility functions used across all applications in the `appkits` monorepo.","_integrity":"sha512-6t/Q8IOW5stK93jnSmP/d2+eiw5TgCI7+kl9SGpmirZZTO5KCrnu+EgsFMlzItlkZkba3p//Cbk3F8T+3gkECg==","_resolved":"/tmp/1dd5f34965a6cc33972257cb3b6bfda6/appkits-ai-ui-0.1.0.tgz","_from":"file:appkits-ai-ui-0.1.0.tgz","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-6t/Q8IOW5stK93jnSmP/d2+eiw5TgCI7+kl9SGpmirZZTO5KCrnu+EgsFMlzItlkZkba3p//Cbk3F8T+3gkECg==","shasum":"39ade30217019edef5b5de3a668a38940a60d602","tarball":"https://registry.npmjs.org/@appkits-ai/ui/-/ui-0.1.0.tgz","fileCount":82,"unpackedSize":114180,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCCoLGbsWaE8S/B/HBhL25IVIrGQoWLVI7qBpFu+vioywIgKcTgAU6Hbv1eFawH4iR/ISCMOCjglDKLmQRge4lH/fo="}]},"_npmUser":{"name":"luanxu","email":"dmail.yui@gmail.com"},"directories":{},"maintainers":[{"name":"luanxu","email":"dmail.yui@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_0.1.0_1781366506905_0.8679986689623453"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-13T16:01:46.740Z","0.1.0":"2026-06-13T16:01:47.063Z","modified":"2026-06-13T16:01:47.363Z"},"maintainers":[{"name":"luanxu","email":"dmail.yui@gmail.com"}],"description":"A centralized UI component library based on **shadcn/ui** and **Tailwind CSS**. This package exports reusable components, hooks, and utility functions used across all applications in the `appkits` monorepo.","readme":"# Shared UI Library (@appkits-ai/ui)\n\nA centralized UI component library based on **shadcn/ui** and **Tailwind CSS**. This package exports reusable components, hooks, and utility functions used across all applications in the `appkits` monorepo.\n\n## Structure\n\n- **`src/components`**: React components (Button, Card, Dialog, upload\n  overlays, transfer panels, etc.).\n- **`src/hooks`**: Custom React hooks (e.g., `use-theme-sync`).\n- **`src/lib`**: Utility functions (e.g., `notify`, `utils`).\n- **`src/styles`**: Global CSS and Tailwind configuration items.\n\n## Usage\n\nImport components directly from the package:\n\n```tsx\nimport { Button } from \"@appkits-ai/ui/components/button\";\nimport { notify } from \"@appkits-ai/ui/lib/notify\";\n\nexport default function MyComponent() {\n  return <Button onClick={() => notify(\"Hello\", \"World\")}>Click Me</Button>;\n}\n```\n\n## Adding Components (For AI Agents & Developers)\n\n**DO NOT use `npx shadcn@latest add` directly.**\n\n1.  **Check First**: Look in `src/components` to see if it exists.\n2.  **Manual Creation**: If missing, create the file manually in `src/components/{component-name}.tsx`.\n3.  **Pattern**: Copy the standard shadcn/ui code (Radix Primitive + Tailwind).\n4.  **Export**: Ensure it is exported if using a barrel file (current setup uses direct path imports, so just creating the file is usually enough, but check).\n\n## Shared Workflow Components\n\n- `upload-drop-overlay`: full-surface file/folder drop target with optional\n  pick and dismiss actions.\n- `upload-conflict-dialog`: overwrite confirmation dialog for upload flows.\n- `transfer-status-panel`: reusable progress panel for uploads, sync jobs, and\n  retryable transfer failures.\n\nKeep product/runtime policy in the consuming app. Components here should accept\nplain labels, lists, state, and callbacks.\n\n## Theming\n\nThe library uses `next-themes` and CSS variables for dark/light mode support.\n\n- **Global Styles**: Imported in `apps/*/src/app/globals.css` or equivalent.\n- **Theme Sync**: For iframe apps, use the `useThemeSync` hook to synchronize the theme with the main Desktop Shell.\n","readmeFilename":"README.md","_rev":"1-ce199c3c6971e708991e4e7cda375cee"}