{"_id":"@anycms/a2ui-react-shadcn","_rev":"2-7541265fb23177f9d5ccb9444b5c996e","name":"@anycms/a2ui-react-shadcn","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.1":{"name":"@anycms/a2ui-react-shadcn","version":"0.1.1","keywords":["a2ui","anycms","generative-ui","react","shadcn","shadcn-ui","tailwind","radix","renderer","ai-ui"],"author":{"name":"Liangdi","email":"wu@liangdi.me"},"license":"MIT","_id":"@anycms/a2ui-react-shadcn@0.1.1","maintainers":[{"name":"wuliangdi","email":"wu@liangdi.me"}],"homepage":"https://github.com/anycms/a2ui","bugs":{"url":"https://github.com/anycms/a2ui/issues"},"dist":{"shasum":"699aa21ee3523809b891709c5848265dbf5c8ef0","tarball":"https://registry.npmjs.org/@anycms/a2ui-react-shadcn/-/a2ui-react-shadcn-0.1.1.tgz","fileCount":44,"integrity":"sha512-Pk2AXdYRCNeUpxU7EF+0v1mG2XwVxezzPYm9IFYgSbx2YwgS8Q7RPlNOdFWel+PfZ3+k1GwEjnoZyzH9VnFlSQ==","signatures":[{"sig":"MEYCIQCq/cEu91FfEP9jG3vA71ax1xBGSkETKvxy7dvMzFsCPgIhAJ7cg/RoERWq9VNavowPBUVrnxUiWU5U9hZKqzVEGxc9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232781},"main":"./dist/index.cjs","type":"module","_from":"file:anycms-a2ui-react-shadcn-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./styles.css":"./styles.css"},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"wuliangdi","email":"wu@liangdi.me"},"_resolved":"/tmp/c3165bb681dd96d106a0ec350975be37/anycms-a2ui-react-shadcn-0.1.1.tgz","_integrity":"sha512-Pk2AXdYRCNeUpxU7EF+0v1mG2XwVxezzPYm9IFYgSbx2YwgS8Q7RPlNOdFWel+PfZ3+k1GwEjnoZyzH9VnFlSQ==","repository":{"url":"git+https://github.com/anycms/a2ui.git","type":"git","directory":"packages/a2ui-react-shadcn"},"_npmVersion":"11.6.2","description":"shadcn/ui + Tailwind CSS renderer preset for A2UI v1.0 (drop-in ReactComponentRegistry).","directories":{},"_nodeVersion":"25.1.0","dependencies":{"clsx":"^2.1.1","lucide-react":"^0.468.0","tailwind-merge":"^2.5.5","@anycms/a2ui-core":"0.1.1","@anycms/a2ui-react":"0.1.1","@radix-ui/react-slot":"^1.1.1","@radix-ui/react-tabs":"^1.1.2","@radix-ui/react-label":"^2.1.1","@radix-ui/react-dialog":"^1.1.4","@radix-ui/react-slider":"^1.2.2","@radix-ui/react-checkbox":"^1.1.2","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.1","@radix-ui/react-radio-group":"^1.2.2","@radix-ui/react-toggle-group":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","jsdom":"^25.0.1","react":"^18.3.1","vitest":"^2.1.8","react-dom":"^18.3.1","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.3.4","@testing-library/react":"^16.1.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/a2ui-react-shadcn_0.1.1_1781511164838_0.044284431703736304","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@anycms/a2ui-react-shadcn","version":"0.2.0","description":"shadcn/ui + Tailwind CSS renderer preset for A2UI v1.0 (drop-in ReactComponentRegistry).","license":"MIT","author":{"name":"Liangdi","email":"wu@liangdi.me"},"homepage":"https://github.com/anycms/a2ui","repository":{"type":"git","url":"git+https://github.com/anycms/a2ui.git","directory":"packages/a2ui-react-shadcn"},"bugs":{"url":"https://github.com/anycms/a2ui/issues"},"keywords":["a2ui","anycms","generative-ui","react","shadcn","shadcn-ui","tailwind","radix","renderer","ai-ui"],"publishConfig":{"access":"public"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./styles.css":"./styles.css"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"dependencies":{"@radix-ui/react-checkbox":"^1.1.2","@radix-ui/react-dialog":"^1.1.4","@radix-ui/react-label":"^2.1.1","@radix-ui/react-radio-group":"^1.2.2","@radix-ui/react-separator":"^1.1.1","@radix-ui/react-slider":"^1.2.2","@radix-ui/react-slot":"^1.1.1","@radix-ui/react-tabs":"^1.1.2","@radix-ui/react-toggle-group":"^1.1.1","class-variance-authority":"^0.7.1","clsx":"^2.1.1","lucide-react":"^0.468.0","tailwind-merge":"^2.5.5","@anycms/a2ui-core":"0.2.0","@anycms/a2ui-react":"0.2.0"},"devDependencies":{"@testing-library/react":"^16.1.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.3.4","jsdom":"^25.0.1","react":"^18.3.1","react-dom":"^18.3.1","tsup":"^8.3.5","vitest":"^2.1.8"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"_id":"@anycms/a2ui-react-shadcn@0.2.0","_integrity":"sha512-lq9eIlAzOg50Z0y5szVAU+M6GEF3Q3oyskTPqLOerDmS81dZ7IiMi4zDHfU9mnWDCq2m/SF/FhNXhN7Tdhn/FQ==","_resolved":"/tmp/ad55e4acd9dbf687ddba9f1da2d72701/anycms-a2ui-react-shadcn-0.2.0.tgz","_from":"file:anycms-a2ui-react-shadcn-0.2.0.tgz","_nodeVersion":"25.1.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-lq9eIlAzOg50Z0y5szVAU+M6GEF3Q3oyskTPqLOerDmS81dZ7IiMi4zDHfU9mnWDCq2m/SF/FhNXhN7Tdhn/FQ==","shasum":"4136830922a5ac87c499d15846430052118cbbd4","tarball":"https://registry.npmjs.org/@anycms/a2ui-react-shadcn/-/a2ui-react-shadcn-0.2.0.tgz","fileCount":44,"unpackedSize":249924,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDFhJY1FoN8WNTF/Rp5HSm1kXyz44lsA8qWtUZPhOzpngIhAN1TwOMdR+cn+7I1WZws+WHq4yVaX5vcuV/4D7UAqPki"}]},"_npmUser":{"name":"wuliangdi","email":"wu@liangdi.me"},"directories":{},"maintainers":[{"name":"wuliangdi","email":"wu@liangdi.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/a2ui-react-shadcn_0.2.0_1781606802780_0.3547281876435695"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-15T08:12:44.601Z","modified":"2026-06-16T10:46:43.048Z","0.1.1":"2026-06-15T08:12:44.981Z","0.2.0":"2026-06-16T10:46:42.918Z"},"bugs":{"url":"https://github.com/anycms/a2ui/issues"},"author":{"name":"Liangdi","email":"wu@liangdi.me"},"license":"MIT","homepage":"https://github.com/anycms/a2ui","keywords":["a2ui","anycms","generative-ui","react","shadcn","shadcn-ui","tailwind","radix","renderer","ai-ui"],"repository":{"type":"git","url":"git+https://github.com/anycms/a2ui.git","directory":"packages/a2ui-react-shadcn"},"description":"shadcn/ui + Tailwind CSS renderer preset for A2UI v1.0 (drop-in ReactComponentRegistry).","maintainers":[{"name":"wuliangdi","email":"wu@liangdi.me"}],"readme":"# @anycms/a2ui-react-shadcn\n\nA **shadcn/ui + Tailwind CSS** renderer preset for [A2UI](https://github.com/anycms/a2ui) v1.0. It provides a drop-in `ReactComponentRegistry` that renders the same A2UI message stream as the default vanilla renderer, but with shadcn/ui components built on [Radix UI](https://www.radix-ui.com/) + [Tailwind CSS](https://tailwindcss.com/).\n\nIt is a **pure presentation swap** — the A2UI binders, reactive runtime, and React adapter are reused unchanged from `@anycms/a2ui-core` / `@anycms/a2ui-react`. Only the 18 component Views change.\n\n## Install\n\n```bash\nnpm install @anycms/a2ui-react-shadcn @anycms/a2ui-react @anycms/a2ui-core\n```\n\nPeer deps: `react`, `react-dom`. The Radix / cva / tailwind-merge / lucide deps come along as regular dependencies.\n\n## Usage\n\n```tsx\nimport { A2uiSurface } from '@anycms/a2ui-react';\nimport { shadcnReactComponents } from '@anycms/a2ui-react-shadcn';\nimport '@anycms/a2ui-react-shadcn/styles.css'; // shadcn CSS variables (after your Tailwind import)\n\n<A2uiSurface surface={surface} registry={shadcnReactComponents} />;\n```\n\n### Tailwind setup\n\nThis package emits Tailwind utility classes (`bg-primary`, `text-muted-foreground`, `rounded-md`, …). Your host app must have Tailwind configured and the shadcn CSS variables in scope. Either:\n\n- copy the tokens from [`styles.css`](./styles.css) into your own `globals.css`, or\n- import the shipped sheet directly: `import '@anycms/a2ui-react-shadcn/styles.css';`\n\nand make sure Tailwind scans the built package so those classes are generated:\n\n```css\n/* Tailwind v4 */\n@source '../node_modules/@anycms/a2ui-react-shadcn/dist';\n```\n\n```js\n// Tailwind v3 — tailwind.config.js content\ncontent: [\n  './src/**/*.{ts,tsx}',\n  './node_modules/@anycms/a2ui-react-shadcn/dist/**/*.{js,cjs}',\n],\n```\n\n## A2UI prop → shadcn variant mapping\n\n| A2UI component | A2UI field | shadcn rendering |\n|---|---|---|\n| Button | `variant`: primary / borderless / default | `default` / `ghost` / `outline` |\n| Text | `variant`: h1…h5 / caption / body | heading + muted typography |\n| TextField | `variant`: shortText / longText / number / obscured | `Input` / `Textarea`, password/number types |\n| ChoicePicker | `variant` + `displayStyle` | `RadioGroup` / `Checkbox` group / `ToggleGroup` (chips) |\n| Tabs / Modal / Slider / Divider / CheckBox | — | Radix `Tabs` / `Dialog` / `Slider` / `Separator` / `Checkbox` |\n\nFull mapping lives in [`src/variants.ts`](./src/variants.ts).\n\n## License\n\nMIT © Liangdi\n","readmeFilename":"README.md"}