base-themes 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/CODE_OF_CONDUCT.md +22 -0
  3. package/CONTRIBUTING.md +98 -0
  4. package/LICENSE +21 -0
  5. package/README.md +316 -3
  6. package/RELEASE.md +80 -0
  7. package/SECURITY.md +49 -0
  8. package/bin/base-themes.mjs +143 -0
  9. package/dist/base-themes.css +1 -1
  10. package/dist/base-themes.js +857 -302
  11. package/dist/llms-full.txt +288 -0
  12. package/dist/llms.txt +79 -0
  13. package/dist/types/blocks/AuthCard.d.ts +2 -0
  14. package/dist/types/blocks/CommandPaletteBlock.d.ts +2 -0
  15. package/dist/types/blocks/DashboardShell.d.ts +2 -0
  16. package/dist/types/blocks/DataTableBlock.d.ts +2 -0
  17. package/dist/types/blocks/PricingPanel.d.ts +2 -0
  18. package/dist/types/blocks/SettingsForm.d.ts +2 -0
  19. package/dist/types/blocks/TeamActivityFeed.d.ts +2 -0
  20. package/dist/types/blocks/ThemeShowcaseCard.d.ts +2 -0
  21. package/dist/types/blocks/index.d.ts +8 -0
  22. package/dist/types/components/ui/Input.d.ts +3 -0
  23. package/dist/types/components/ui/index.d.ts +1 -1
  24. package/dist/types/lib.d.ts +1 -0
  25. package/docs/adoption-dashboard.md +149 -0
  26. package/docs/analytics-setup.md +145 -0
  27. package/docs/community-gallery-proposal.md +64 -0
  28. package/docs/community-proof-telemetry.md +47 -0
  29. package/docs/contributor-issue-seeds.md +240 -0
  30. package/docs/registry-access-telemetry.md +87 -0
  31. package/docs/release-announcement-kit.md +229 -0
  32. package/docs/search-console-setup.md +111 -0
  33. package/docs/theme-token-contract.md +113 -0
  34. package/examples/dashboard/README.md +24 -0
  35. package/examples/dashboard/index.html +12 -0
  36. package/examples/dashboard/package-lock.json +1212 -0
  37. package/examples/dashboard/package.json +24 -0
  38. package/examples/dashboard/src/App.tsx +115 -0
  39. package/examples/dashboard/src/main.tsx +11 -0
  40. package/examples/dashboard/src/styles.css +129 -0
  41. package/examples/dashboard/src/vite-env.d.ts +4 -0
  42. package/examples/dashboard/tsconfig.app.json +23 -0
  43. package/examples/dashboard/tsconfig.json +7 -0
  44. package/examples/dashboard/tsconfig.node.json +15 -0
  45. package/examples/dashboard/vite.config.ts +6 -0
  46. package/examples/next/README.md +29 -0
  47. package/examples/next/app/base-themes-demo.tsx +70 -0
  48. package/examples/next/app/layout.tsx +16 -0
  49. package/examples/next/app/page.tsx +9 -0
  50. package/examples/next/app/styles.css +106 -0
  51. package/examples/next/next-env.d.ts +6 -0
  52. package/examples/next/next.config.ts +5 -0
  53. package/examples/next/package-lock.json +1199 -0
  54. package/examples/next/package.json +27 -0
  55. package/examples/next/tsconfig.json +36 -0
  56. package/examples/registry-copy/README.md +73 -0
  57. package/examples/registry-copy/plan-copy.mjs +130 -0
  58. package/examples/theme-customization/README.md +26 -0
  59. package/examples/theme-customization/index.html +12 -0
  60. package/examples/theme-customization/package-lock.json +1212 -0
  61. package/examples/theme-customization/package.json +24 -0
  62. package/examples/theme-customization/src/App.tsx +138 -0
  63. package/examples/theme-customization/src/main.tsx +11 -0
  64. package/examples/theme-customization/src/styles.css +138 -0
  65. package/examples/theme-customization/src/vite-env.d.ts +4 -0
  66. package/examples/theme-customization/tsconfig.app.json +23 -0
  67. package/examples/theme-customization/tsconfig.json +7 -0
  68. package/examples/theme-customization/tsconfig.node.json +15 -0
  69. package/examples/theme-customization/vite.config.ts +6 -0
  70. package/examples/vite/README.md +32 -0
  71. package/examples/vite/index.html +12 -0
  72. package/examples/vite/package-lock.json +1200 -0
  73. package/examples/vite/package.json +24 -0
  74. package/examples/vite/src/App.tsx +101 -0
  75. package/examples/vite/src/main.tsx +11 -0
  76. package/examples/vite/src/styles.css +125 -0
  77. package/examples/vite/src/vite-env.d.ts +4 -0
  78. package/examples/vite/tsconfig.app.json +23 -0
  79. package/examples/vite/tsconfig.json +7 -0
  80. package/examples/vite/tsconfig.node.json +15 -0
  81. package/examples/vite/vite.config.ts +6 -0
  82. package/llms-full.txt +288 -0
  83. package/llms.txt +79 -0
  84. package/package.json +157 -14
  85. package/registry/items/accordion.json +101 -0
  86. package/registry/items/alert-dialog.json +107 -0
  87. package/registry/items/autocomplete.json +106 -0
  88. package/registry/items/avatar.json +101 -0
  89. package/registry/items/block-auth-card.json +105 -0
  90. package/registry/items/block-command-palette.json +99 -0
  91. package/registry/items/block-dashboard-shell.json +101 -0
  92. package/registry/items/block-data-table.json +99 -0
  93. package/registry/items/block-pricing-panel.json +99 -0
  94. package/registry/items/block-settings-form.json +107 -0
  95. package/registry/items/block-team-activity-feed.json +99 -0
  96. package/registry/items/block-theme-showcase-card.json +99 -0
  97. package/registry/items/button.json +102 -0
  98. package/registry/items/checkbox-group.json +106 -0
  99. package/registry/items/checkbox.json +102 -0
  100. package/registry/items/collapsible.json +101 -0
  101. package/registry/items/combobox.json +101 -0
  102. package/registry/items/context-menu.json +106 -0
  103. package/registry/items/csp-provider.json +96 -0
  104. package/registry/items/dialog.json +102 -0
  105. package/registry/items/direction-provider.json +101 -0
  106. package/registry/items/drawer.json +101 -0
  107. package/registry/items/field.json +101 -0
  108. package/registry/items/fieldset.json +101 -0
  109. package/registry/items/form.json +101 -0
  110. package/registry/items/input.json +102 -0
  111. package/registry/items/menu.json +101 -0
  112. package/registry/items/menubar.json +106 -0
  113. package/registry/items/meter.json +101 -0
  114. package/registry/items/navigation-menu.json +101 -0
  115. package/registry/items/number-field.json +101 -0
  116. package/registry/items/otp-field.json +101 -0
  117. package/registry/items/popover.json +102 -0
  118. package/registry/items/preview-card.json +101 -0
  119. package/registry/items/progress.json +101 -0
  120. package/registry/items/radio-group.json +102 -0
  121. package/registry/items/radio.json +101 -0
  122. package/registry/items/scroll-area.json +101 -0
  123. package/registry/items/select.json +102 -0
  124. package/registry/items/separator.json +101 -0
  125. package/registry/items/slider.json +102 -0
  126. package/registry/items/switch.json +102 -0
  127. package/registry/items/tabs.json +101 -0
  128. package/registry/items/theme-bauhaus.json +107 -0
  129. package/registry/items/theme-bento.json +107 -0
  130. package/registry/items/theme-calm.json +107 -0
  131. package/registry/items/theme-cyberpunk.json +108 -0
  132. package/registry/items/theme-data-dense.json +107 -0
  133. package/registry/items/theme-editorial.json +107 -0
  134. package/registry/items/theme-enterprise.json +108 -0
  135. package/registry/items/theme-fluent.json +107 -0
  136. package/registry/items/theme-glass.json +107 -0
  137. package/registry/items/theme-linear.json +107 -0
  138. package/registry/items/theme-luxury.json +107 -0
  139. package/registry/items/theme-material.json +107 -0
  140. package/registry/items/theme-minimal.json +107 -0
  141. package/registry/items/theme-mono.json +107 -0
  142. package/registry/items/theme-neo-brutalism.json +107 -0
  143. package/registry/items/theme-playful.json +107 -0
  144. package/registry/items/theme-retro.json +107 -0
  145. package/registry/items/theme-shadcn.json +107 -0
  146. package/registry/items/theme-soft-ui.json +107 -0
  147. package/registry/items/theme-terminal.json +107 -0
  148. package/registry/items/toast.json +106 -0
  149. package/registry/items/toggle-group.json +101 -0
  150. package/registry/items/toggle.json +101 -0
  151. package/registry/items/toolbar.json +101 -0
  152. package/registry/items/tooltip.json +102 -0
  153. package/registry/registry.json +564 -49
  154. package/registry/shadcn-registry.json +415 -0
  155. package/research/telemetry-fixtures/analytics-events.jsonl +9 -0
  156. package/research/telemetry-fixtures/bundle-report.json +44 -0
  157. package/research/telemetry-fixtures/community-proof.csv +5 -0
  158. package/research/telemetry-fixtures/registry-access.jsonl +10 -0
  159. package/research/telemetry-fixtures/search-console-export.csv +4 -0
  160. package/scripts/registry-plan.mjs +434 -0
  161. package/scripts/render-launch-actions.mjs +405 -0
  162. package/scripts/render-launch-status.mjs +373 -0
  163. package/scripts/render-release-announcement.mjs +329 -0
  164. package/scripts/verify-launch-readiness.mjs +415 -0
  165. package/scripts/verify-telemetry-fixtures.mjs +85 -0
  166. package/scripts/verify-telemetry-report.mjs +89 -0
  167. package/skills/base-themes/SKILL.md +151 -47
  168. package/src/blocks/AuthCard.tsx +29 -0
  169. package/src/blocks/Blocks.css +182 -0
  170. package/src/blocks/CommandPaletteBlock.tsx +32 -0
  171. package/src/blocks/DashboardShell.tsx +36 -0
  172. package/src/blocks/DataTableBlock.tsx +44 -0
  173. package/src/blocks/PricingPanel.tsx +28 -0
  174. package/src/blocks/SettingsForm.tsx +37 -0
  175. package/src/blocks/TeamActivityFeed.tsx +38 -0
  176. package/src/blocks/ThemeShowcaseCard.tsx +32 -0
  177. package/src/blocks/index.ts +8 -0
  178. package/src/components/ui/Accordion.css +42 -0
  179. package/src/components/ui/Accordion.tsx +41 -0
  180. package/src/components/ui/AlertDialog.css +40 -0
  181. package/src/components/ui/AlertDialog.tsx +52 -0
  182. package/src/components/ui/Autocomplete.css +3 -0
  183. package/src/components/ui/Autocomplete.tsx +50 -0
  184. package/src/components/ui/Avatar.css +45 -0
  185. package/src/components/ui/Avatar.tsx +36 -0
  186. package/src/components/ui/Button.css +79 -0
  187. package/src/components/ui/Button.tsx +20 -0
  188. package/src/components/ui/Checkbox.css +37 -0
  189. package/src/components/ui/Checkbox.tsx +32 -0
  190. package/src/components/ui/CheckboxGroup.tsx +21 -0
  191. package/src/components/ui/Collapsible.css +34 -0
  192. package/src/components/ui/Collapsible.tsx +29 -0
  193. package/src/components/ui/Combobox.css +75 -0
  194. package/src/components/ui/Combobox.tsx +53 -0
  195. package/src/components/ui/ContextMenu.css +9 -0
  196. package/src/components/ui/ContextMenu.tsx +47 -0
  197. package/src/components/ui/CspProvider.tsx +10 -0
  198. package/src/components/ui/Dialog.css +41 -0
  199. package/src/components/ui/Dialog.tsx +45 -0
  200. package/src/components/ui/DirectionProvider.tsx +17 -0
  201. package/src/components/ui/Drawer.css +77 -0
  202. package/src/components/ui/Drawer.tsx +56 -0
  203. package/src/components/ui/Field.css +19 -0
  204. package/src/components/ui/Field.tsx +24 -0
  205. package/src/components/ui/Fieldset.css +16 -0
  206. package/src/components/ui/Fieldset.tsx +19 -0
  207. package/src/components/ui/Form.css +5 -0
  208. package/src/components/ui/Form.tsx +12 -0
  209. package/src/components/ui/Input.css +50 -0
  210. package/src/components/ui/Input.tsx +62 -0
  211. package/src/components/ui/Menu.css +59 -0
  212. package/src/components/ui/Menu.tsx +50 -0
  213. package/src/components/ui/Menubar.css +26 -0
  214. package/src/components/ui/Menubar.tsx +42 -0
  215. package/src/components/ui/Meter.css +45 -0
  216. package/src/components/ui/Meter.tsx +37 -0
  217. package/src/components/ui/NavigationMenu.css +103 -0
  218. package/src/components/ui/NavigationMenu.tsx +64 -0
  219. package/src/components/ui/NumberField.css +38 -0
  220. package/src/components/ui/NumberField.tsx +28 -0
  221. package/src/components/ui/OtpField.css +28 -0
  222. package/src/components/ui/OtpField.tsx +24 -0
  223. package/src/components/ui/Popover.css +25 -0
  224. package/src/components/ui/Popover.tsx +37 -0
  225. package/src/components/ui/PreviewCard.css +33 -0
  226. package/src/components/ui/PreviewCard.tsx +43 -0
  227. package/src/components/ui/Progress.css +33 -0
  228. package/src/components/ui/Progress.tsx +28 -0
  229. package/src/components/ui/Radio.tsx +22 -0
  230. package/src/components/ui/RadioGroup.css +42 -0
  231. package/src/components/ui/RadioGroup.tsx +29 -0
  232. package/src/components/ui/ScrollArea.css +42 -0
  233. package/src/components/ui/ScrollArea.tsx +22 -0
  234. package/src/components/ui/Select.css +86 -0
  235. package/src/components/ui/Select.tsx +39 -0
  236. package/src/components/ui/Separator.css +14 -0
  237. package/src/components/ui/Separator.tsx +12 -0
  238. package/src/components/ui/Slider.css +39 -0
  239. package/src/components/ui/Slider.tsx +21 -0
  240. package/src/components/ui/Switch.css +45 -0
  241. package/src/components/ui/Switch.tsx +29 -0
  242. package/src/components/ui/Tabs.css +72 -0
  243. package/src/components/ui/Tabs.tsx +44 -0
  244. package/src/components/ui/Toast.css +75 -0
  245. package/src/components/ui/Toast.tsx +48 -0
  246. package/src/components/ui/Toggle.tsx +12 -0
  247. package/src/components/ui/ToggleGroup.css +35 -0
  248. package/src/components/ui/ToggleGroup.tsx +30 -0
  249. package/src/components/ui/Toolbar.css +60 -0
  250. package/src/components/ui/Toolbar.tsx +36 -0
  251. package/src/components/ui/Tooltip.css +14 -0
  252. package/src/components/ui/Tooltip.tsx +31 -0
  253. package/src/components/ui/index.ts +83 -0
  254. package/src/components/ui/useDirection.ts +1 -0
  255. package/src/components/ui/useToastManager.ts +11 -0
  256. package/src/docs/blockMeta.json +66 -0
  257. package/src/docs/componentMeta.json +322 -0
  258. package/src/docs/staticPageMeta.json +143 -0
  259. package/src/docs/themeMeta.json +22 -0
  260. package/src/styles/tokenContract.json +61 -0
  261. package/workers/analytics-receiver.mjs +170 -0
  262. package/wrangler.analytics.jsonc +12 -0
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "progress",
4
+ "type": "registry:ui",
5
+ "title": "Progress",
6
+ "description": "A linear indicator for completion percentage and loading workflows.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Progress.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Progress.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Progress.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Progress.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "feedback"
28
+ ],
29
+ "meta": {
30
+ "baseThemes": {
31
+ "source": "package-and-source-copy",
32
+ "docsRoute": "/components/progress",
33
+ "supportsStyles": [
34
+ "bento",
35
+ "shadcn",
36
+ "neo-brutalism",
37
+ "minimal",
38
+ "enterprise",
39
+ "linear",
40
+ "glass",
41
+ "terminal",
42
+ "material",
43
+ "fluent",
44
+ "retro",
45
+ "cyberpunk",
46
+ "editorial",
47
+ "calm",
48
+ "data-dense",
49
+ "playful",
50
+ "luxury",
51
+ "soft-ui",
52
+ "bauhaus",
53
+ "mono"
54
+ ],
55
+ "styleContract": [
56
+ "data-style",
57
+ "data-theme",
58
+ "src/index.css",
59
+ "src/styles/tokens.css",
60
+ "src/styles/themes.css",
61
+ "src/styles/shadcn.css",
62
+ "src/styles/neo-brutalism.css",
63
+ "src/styles/cyberpunk.css",
64
+ "src/styles/terminal.css",
65
+ "src/styles/material.css",
66
+ "src/styles/glass.css"
67
+ ]
68
+ },
69
+ "agent": {
70
+ "summary": "Use Progress when a React UI needs a linear indicator for completion percentage and loading workflows.",
71
+ "whenToUse": [
72
+ "Feedback",
73
+ "Base UI wrapper",
74
+ "CSS token theme support"
75
+ ],
76
+ "packageInstall": [
77
+ "npm install base-themes @base-ui/react react react-dom",
78
+ "import base-themes/styles.css once",
79
+ "import { Progress } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/progress.json",
83
+ "copy every files[].path to files[].target",
84
+ "copy every registry.style.files entry once",
85
+ "install dependencies from dependencies[]"
86
+ ],
87
+ "installPlan": [
88
+ "npm install base-themes @base-ui/react react react-dom",
89
+ "import base-themes/styles.css once",
90
+ "import { Progress } from 'base-themes'",
91
+ "or fetch /registry/items/progress.json for source-copy"
92
+ ],
93
+ "verify": [
94
+ "npm run registry:check",
95
+ "npm run tokens:check",
96
+ "npm run lint",
97
+ "npm run build"
98
+ ]
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "radio-group",
4
+ "type": "registry:ui",
5
+ "title": "Radio Group",
6
+ "description": "A grouped set of mutually exclusive choices.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/RadioGroup.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/RadioGroup.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/RadioGroup.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/RadioGroup.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "inputs",
28
+ "form"
29
+ ],
30
+ "meta": {
31
+ "baseThemes": {
32
+ "source": "package-and-source-copy",
33
+ "docsRoute": "/components/radiogroup",
34
+ "supportsStyles": [
35
+ "bento",
36
+ "shadcn",
37
+ "neo-brutalism",
38
+ "minimal",
39
+ "enterprise",
40
+ "linear",
41
+ "glass",
42
+ "terminal",
43
+ "material",
44
+ "fluent",
45
+ "retro",
46
+ "cyberpunk",
47
+ "editorial",
48
+ "calm",
49
+ "data-dense",
50
+ "playful",
51
+ "luxury",
52
+ "soft-ui",
53
+ "bauhaus",
54
+ "mono"
55
+ ],
56
+ "styleContract": [
57
+ "data-style",
58
+ "data-theme",
59
+ "src/index.css",
60
+ "src/styles/tokens.css",
61
+ "src/styles/themes.css",
62
+ "src/styles/shadcn.css",
63
+ "src/styles/neo-brutalism.css",
64
+ "src/styles/cyberpunk.css",
65
+ "src/styles/terminal.css",
66
+ "src/styles/material.css",
67
+ "src/styles/glass.css"
68
+ ]
69
+ },
70
+ "agent": {
71
+ "summary": "Use Radio Group when a React UI needs a grouped set of mutually exclusive choices.",
72
+ "whenToUse": [
73
+ "Inputs",
74
+ "Base UI wrapper",
75
+ "CSS token theme support"
76
+ ],
77
+ "packageInstall": [
78
+ "npm install base-themes @base-ui/react react react-dom",
79
+ "import base-themes/styles.css once",
80
+ "import { RadioGroup } from 'base-themes'"
81
+ ],
82
+ "sourceCopy": [
83
+ "fetch /registry/items/radio-group.json",
84
+ "copy every files[].path to files[].target",
85
+ "copy every registry.style.files entry once",
86
+ "install dependencies from dependencies[]"
87
+ ],
88
+ "installPlan": [
89
+ "npm install base-themes @base-ui/react react react-dom",
90
+ "import base-themes/styles.css once",
91
+ "import { RadioGroup } from 'base-themes'",
92
+ "or fetch /registry/items/radio-group.json for source-copy"
93
+ ],
94
+ "verify": [
95
+ "npm run registry:check",
96
+ "npm run tokens:check",
97
+ "npm run lint",
98
+ "npm run build"
99
+ ]
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "radio",
4
+ "type": "registry:ui",
5
+ "title": "Radio",
6
+ "description": "A single radio primitive for custom radio group compositions.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Radio.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Radio.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/RadioGroup.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/RadioGroup.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "inputs"
28
+ ],
29
+ "meta": {
30
+ "baseThemes": {
31
+ "source": "package-and-source-copy",
32
+ "docsRoute": "/components/radio",
33
+ "supportsStyles": [
34
+ "bento",
35
+ "shadcn",
36
+ "neo-brutalism",
37
+ "minimal",
38
+ "enterprise",
39
+ "linear",
40
+ "glass",
41
+ "terminal",
42
+ "material",
43
+ "fluent",
44
+ "retro",
45
+ "cyberpunk",
46
+ "editorial",
47
+ "calm",
48
+ "data-dense",
49
+ "playful",
50
+ "luxury",
51
+ "soft-ui",
52
+ "bauhaus",
53
+ "mono"
54
+ ],
55
+ "styleContract": [
56
+ "data-style",
57
+ "data-theme",
58
+ "src/index.css",
59
+ "src/styles/tokens.css",
60
+ "src/styles/themes.css",
61
+ "src/styles/shadcn.css",
62
+ "src/styles/neo-brutalism.css",
63
+ "src/styles/cyberpunk.css",
64
+ "src/styles/terminal.css",
65
+ "src/styles/material.css",
66
+ "src/styles/glass.css"
67
+ ]
68
+ },
69
+ "agent": {
70
+ "summary": "Use Radio when a React UI needs a single radio primitive for custom radio group compositions.",
71
+ "whenToUse": [
72
+ "Inputs",
73
+ "Base UI wrapper",
74
+ "CSS token theme support"
75
+ ],
76
+ "packageInstall": [
77
+ "npm install base-themes @base-ui/react react react-dom",
78
+ "import base-themes/styles.css once",
79
+ "import { Radio } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/radio.json",
83
+ "copy every files[].path to files[].target",
84
+ "copy every registry.style.files entry once",
85
+ "install dependencies from dependencies[]"
86
+ ],
87
+ "installPlan": [
88
+ "npm install base-themes @base-ui/react react react-dom",
89
+ "import base-themes/styles.css once",
90
+ "import { Radio } from 'base-themes'",
91
+ "or fetch /registry/items/radio.json for source-copy"
92
+ ],
93
+ "verify": [
94
+ "npm run registry:check",
95
+ "npm run tokens:check",
96
+ "npm run lint",
97
+ "npm run build"
98
+ ]
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "scroll-area",
4
+ "type": "registry:ui",
5
+ "title": "Scroll Area",
6
+ "description": "A custom scroll container with consistent scrollbar styling across the site.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/ScrollArea.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/ScrollArea.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/ScrollArea.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/ScrollArea.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "feedback"
28
+ ],
29
+ "meta": {
30
+ "baseThemes": {
31
+ "source": "package-and-source-copy",
32
+ "docsRoute": "/components/scrollarea",
33
+ "supportsStyles": [
34
+ "bento",
35
+ "shadcn",
36
+ "neo-brutalism",
37
+ "minimal",
38
+ "enterprise",
39
+ "linear",
40
+ "glass",
41
+ "terminal",
42
+ "material",
43
+ "fluent",
44
+ "retro",
45
+ "cyberpunk",
46
+ "editorial",
47
+ "calm",
48
+ "data-dense",
49
+ "playful",
50
+ "luxury",
51
+ "soft-ui",
52
+ "bauhaus",
53
+ "mono"
54
+ ],
55
+ "styleContract": [
56
+ "data-style",
57
+ "data-theme",
58
+ "src/index.css",
59
+ "src/styles/tokens.css",
60
+ "src/styles/themes.css",
61
+ "src/styles/shadcn.css",
62
+ "src/styles/neo-brutalism.css",
63
+ "src/styles/cyberpunk.css",
64
+ "src/styles/terminal.css",
65
+ "src/styles/material.css",
66
+ "src/styles/glass.css"
67
+ ]
68
+ },
69
+ "agent": {
70
+ "summary": "Use Scroll Area when a React UI needs a custom scroll container with consistent scrollbar styling across the site.",
71
+ "whenToUse": [
72
+ "Feedback",
73
+ "Base UI wrapper",
74
+ "CSS token theme support"
75
+ ],
76
+ "packageInstall": [
77
+ "npm install base-themes @base-ui/react react react-dom",
78
+ "import base-themes/styles.css once",
79
+ "import { ScrollArea } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/scroll-area.json",
83
+ "copy every files[].path to files[].target",
84
+ "copy every registry.style.files entry once",
85
+ "install dependencies from dependencies[]"
86
+ ],
87
+ "installPlan": [
88
+ "npm install base-themes @base-ui/react react react-dom",
89
+ "import base-themes/styles.css once",
90
+ "import { ScrollArea } from 'base-themes'",
91
+ "or fetch /registry/items/scroll-area.json for source-copy"
92
+ ],
93
+ "verify": [
94
+ "npm run registry:check",
95
+ "npm run tokens:check",
96
+ "npm run lint",
97
+ "npm run build"
98
+ ]
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "select",
4
+ "type": "registry:ui",
5
+ "title": "Select",
6
+ "description": "A popover-backed single choice control with keyboard navigation and positioned content.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Select.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Select.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Select.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Select.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "inputs",
28
+ "form"
29
+ ],
30
+ "meta": {
31
+ "baseThemes": {
32
+ "source": "package-and-source-copy",
33
+ "docsRoute": "/components/select",
34
+ "supportsStyles": [
35
+ "bento",
36
+ "shadcn",
37
+ "neo-brutalism",
38
+ "minimal",
39
+ "enterprise",
40
+ "linear",
41
+ "glass",
42
+ "terminal",
43
+ "material",
44
+ "fluent",
45
+ "retro",
46
+ "cyberpunk",
47
+ "editorial",
48
+ "calm",
49
+ "data-dense",
50
+ "playful",
51
+ "luxury",
52
+ "soft-ui",
53
+ "bauhaus",
54
+ "mono"
55
+ ],
56
+ "styleContract": [
57
+ "data-style",
58
+ "data-theme",
59
+ "src/index.css",
60
+ "src/styles/tokens.css",
61
+ "src/styles/themes.css",
62
+ "src/styles/shadcn.css",
63
+ "src/styles/neo-brutalism.css",
64
+ "src/styles/cyberpunk.css",
65
+ "src/styles/terminal.css",
66
+ "src/styles/material.css",
67
+ "src/styles/glass.css"
68
+ ]
69
+ },
70
+ "agent": {
71
+ "summary": "Use Select when a React UI needs a popover-backed single choice control with keyboard navigation and positioned content.",
72
+ "whenToUse": [
73
+ "Inputs",
74
+ "Base UI wrapper",
75
+ "CSS token theme support"
76
+ ],
77
+ "packageInstall": [
78
+ "npm install base-themes @base-ui/react react react-dom",
79
+ "import base-themes/styles.css once",
80
+ "import { Select } from 'base-themes'"
81
+ ],
82
+ "sourceCopy": [
83
+ "fetch /registry/items/select.json",
84
+ "copy every files[].path to files[].target",
85
+ "copy every registry.style.files entry once",
86
+ "install dependencies from dependencies[]"
87
+ ],
88
+ "installPlan": [
89
+ "npm install base-themes @base-ui/react react react-dom",
90
+ "import base-themes/styles.css once",
91
+ "import { Select } from 'base-themes'",
92
+ "or fetch /registry/items/select.json for source-copy"
93
+ ],
94
+ "verify": [
95
+ "npm run registry:check",
96
+ "npm run tokens:check",
97
+ "npm run lint",
98
+ "npm run build"
99
+ ]
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "separator",
4
+ "type": "registry:ui",
5
+ "title": "Separator",
6
+ "description": "A semantic divider for grouping content and toolbar controls.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Separator.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Separator.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Separator.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Separator.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "inputs"
28
+ ],
29
+ "meta": {
30
+ "baseThemes": {
31
+ "source": "package-and-source-copy",
32
+ "docsRoute": "/components/separator",
33
+ "supportsStyles": [
34
+ "bento",
35
+ "shadcn",
36
+ "neo-brutalism",
37
+ "minimal",
38
+ "enterprise",
39
+ "linear",
40
+ "glass",
41
+ "terminal",
42
+ "material",
43
+ "fluent",
44
+ "retro",
45
+ "cyberpunk",
46
+ "editorial",
47
+ "calm",
48
+ "data-dense",
49
+ "playful",
50
+ "luxury",
51
+ "soft-ui",
52
+ "bauhaus",
53
+ "mono"
54
+ ],
55
+ "styleContract": [
56
+ "data-style",
57
+ "data-theme",
58
+ "src/index.css",
59
+ "src/styles/tokens.css",
60
+ "src/styles/themes.css",
61
+ "src/styles/shadcn.css",
62
+ "src/styles/neo-brutalism.css",
63
+ "src/styles/cyberpunk.css",
64
+ "src/styles/terminal.css",
65
+ "src/styles/material.css",
66
+ "src/styles/glass.css"
67
+ ]
68
+ },
69
+ "agent": {
70
+ "summary": "Use Separator when a React UI needs a semantic divider for grouping content and toolbar controls.",
71
+ "whenToUse": [
72
+ "Inputs",
73
+ "Base UI wrapper",
74
+ "CSS token theme support"
75
+ ],
76
+ "packageInstall": [
77
+ "npm install base-themes @base-ui/react react react-dom",
78
+ "import base-themes/styles.css once",
79
+ "import { Separator } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/separator.json",
83
+ "copy every files[].path to files[].target",
84
+ "copy every registry.style.files entry once",
85
+ "install dependencies from dependencies[]"
86
+ ],
87
+ "installPlan": [
88
+ "npm install base-themes @base-ui/react react react-dom",
89
+ "import base-themes/styles.css once",
90
+ "import { Separator } from 'base-themes'",
91
+ "or fetch /registry/items/separator.json for source-copy"
92
+ ],
93
+ "verify": [
94
+ "npm run registry:check",
95
+ "npm run tokens:check",
96
+ "npm run lint",
97
+ "npm run build"
98
+ ]
99
+ }
100
+ }
101
+ }