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": "combobox",
4
+ "type": "registry:ui",
5
+ "title": "Combobox",
6
+ "description": "A searchable listbox for quickly filtering component names.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Combobox.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Combobox.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Combobox.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Combobox.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/combobox",
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 Combobox when a React UI needs a searchable listbox for quickly filtering component names.",
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 { Combobox } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/combobox.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 { Combobox } from 'base-themes'",
91
+ "or fetch /registry/items/combobox.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,106 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "context-menu",
4
+ "type": "registry:ui",
5
+ "title": "Context Menu",
6
+ "description": "A menu opened from a contextual right-click or keyboard context action.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/ContextMenu.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/ContextMenu.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/ContextMenu.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/ContextMenu.css"
22
+ },
23
+ {
24
+ "path": "src/components/ui/Menu.css",
25
+ "type": "registry:file",
26
+ "target": "@/components/ui/Menu.css"
27
+ }
28
+ ],
29
+ "categories": [
30
+ "base-ui",
31
+ "component",
32
+ "navigation"
33
+ ],
34
+ "meta": {
35
+ "baseThemes": {
36
+ "source": "package-and-source-copy",
37
+ "docsRoute": "/components/contextmenu",
38
+ "supportsStyles": [
39
+ "bento",
40
+ "shadcn",
41
+ "neo-brutalism",
42
+ "minimal",
43
+ "enterprise",
44
+ "linear",
45
+ "glass",
46
+ "terminal",
47
+ "material",
48
+ "fluent",
49
+ "retro",
50
+ "cyberpunk",
51
+ "editorial",
52
+ "calm",
53
+ "data-dense",
54
+ "playful",
55
+ "luxury",
56
+ "soft-ui",
57
+ "bauhaus",
58
+ "mono"
59
+ ],
60
+ "styleContract": [
61
+ "data-style",
62
+ "data-theme",
63
+ "src/index.css",
64
+ "src/styles/tokens.css",
65
+ "src/styles/themes.css",
66
+ "src/styles/shadcn.css",
67
+ "src/styles/neo-brutalism.css",
68
+ "src/styles/cyberpunk.css",
69
+ "src/styles/terminal.css",
70
+ "src/styles/material.css",
71
+ "src/styles/glass.css"
72
+ ]
73
+ },
74
+ "agent": {
75
+ "summary": "Use Context Menu when a React UI needs a menu opened from a contextual right-click or keyboard context action.",
76
+ "whenToUse": [
77
+ "Navigation",
78
+ "Base UI wrapper",
79
+ "CSS token theme support"
80
+ ],
81
+ "packageInstall": [
82
+ "npm install base-themes @base-ui/react react react-dom",
83
+ "import base-themes/styles.css once",
84
+ "import { ContextMenu } from 'base-themes'"
85
+ ],
86
+ "sourceCopy": [
87
+ "fetch /registry/items/context-menu.json",
88
+ "copy every files[].path to files[].target",
89
+ "copy every registry.style.files entry once",
90
+ "install dependencies from dependencies[]"
91
+ ],
92
+ "installPlan": [
93
+ "npm install base-themes @base-ui/react react react-dom",
94
+ "import base-themes/styles.css once",
95
+ "import { ContextMenu } from 'base-themes'",
96
+ "or fetch /registry/items/context-menu.json for source-copy"
97
+ ],
98
+ "verify": [
99
+ "npm run registry:check",
100
+ "npm run tokens:check",
101
+ "npm run lint",
102
+ "npm run build"
103
+ ]
104
+ }
105
+ }
106
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "csp-provider",
4
+ "type": "registry:ui",
5
+ "title": "CSP Provider",
6
+ "description": "A provider for passing Content Security Policy nonce settings to Base UI internals.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/CspProvider.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/CspProvider.tsx"
17
+ }
18
+ ],
19
+ "categories": [
20
+ "base-ui",
21
+ "component",
22
+ "feedback"
23
+ ],
24
+ "meta": {
25
+ "baseThemes": {
26
+ "source": "package-and-source-copy",
27
+ "docsRoute": "/components/cspprovider",
28
+ "supportsStyles": [
29
+ "bento",
30
+ "shadcn",
31
+ "neo-brutalism",
32
+ "minimal",
33
+ "enterprise",
34
+ "linear",
35
+ "glass",
36
+ "terminal",
37
+ "material",
38
+ "fluent",
39
+ "retro",
40
+ "cyberpunk",
41
+ "editorial",
42
+ "calm",
43
+ "data-dense",
44
+ "playful",
45
+ "luxury",
46
+ "soft-ui",
47
+ "bauhaus",
48
+ "mono"
49
+ ],
50
+ "styleContract": [
51
+ "data-style",
52
+ "data-theme",
53
+ "src/index.css",
54
+ "src/styles/tokens.css",
55
+ "src/styles/themes.css",
56
+ "src/styles/shadcn.css",
57
+ "src/styles/neo-brutalism.css",
58
+ "src/styles/cyberpunk.css",
59
+ "src/styles/terminal.css",
60
+ "src/styles/material.css",
61
+ "src/styles/glass.css"
62
+ ]
63
+ },
64
+ "agent": {
65
+ "summary": "Use CSP Provider when a React UI needs a provider for passing content security policy nonce settings to base ui internals.",
66
+ "whenToUse": [
67
+ "Feedback",
68
+ "Base UI wrapper",
69
+ "CSS token theme support"
70
+ ],
71
+ "packageInstall": [
72
+ "npm install base-themes @base-ui/react react react-dom",
73
+ "import base-themes/styles.css once",
74
+ "import { CspProvider } from 'base-themes'"
75
+ ],
76
+ "sourceCopy": [
77
+ "fetch /registry/items/csp-provider.json",
78
+ "copy every files[].path to files[].target",
79
+ "copy every registry.style.files entry once",
80
+ "install dependencies from dependencies[]"
81
+ ],
82
+ "installPlan": [
83
+ "npm install base-themes @base-ui/react react react-dom",
84
+ "import base-themes/styles.css once",
85
+ "import { CspProvider } from 'base-themes'",
86
+ "or fetch /registry/items/csp-provider.json for source-copy"
87
+ ],
88
+ "verify": [
89
+ "npm run registry:check",
90
+ "npm run tokens:check",
91
+ "npm run lint",
92
+ "npm run build"
93
+ ]
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "dialog",
4
+ "type": "registry:ui",
5
+ "title": "Dialog",
6
+ "description": "A modal layer with focus management and dismiss behavior.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Dialog.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Dialog.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Dialog.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Dialog.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "disclosure",
28
+ "overlay"
29
+ ],
30
+ "meta": {
31
+ "baseThemes": {
32
+ "source": "package-and-source-copy",
33
+ "docsRoute": "/components/dialog",
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 Dialog when a React UI needs a modal layer with focus management and dismiss behavior.",
72
+ "whenToUse": [
73
+ "Disclosure",
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 { Dialog } from 'base-themes'"
81
+ ],
82
+ "sourceCopy": [
83
+ "fetch /registry/items/dialog.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 { Dialog } from 'base-themes'",
92
+ "or fetch /registry/items/dialog.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": "direction-provider",
4
+ "type": "registry:ui",
5
+ "title": "Direction Provider",
6
+ "description": "A provider that enables RTL or LTR behavior across Base UI components.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/DirectionProvider.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/DirectionProvider.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/useDirection.ts",
20
+ "type": "registry:ui",
21
+ "target": "@/components/ui/useDirection.ts"
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/directionprovider",
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 Direction Provider when a React UI needs a provider that enables rtl or ltr behavior across base ui components.",
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 { DirectionProvider } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/direction-provider.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 { DirectionProvider } from 'base-themes'",
91
+ "or fetch /registry/items/direction-provider.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": "drawer",
4
+ "type": "registry:ui",
5
+ "title": "Drawer",
6
+ "description": "A side panel for settings and secondary workflows.",
7
+ "dependencies": [
8
+ "@base-ui/react",
9
+ "clsx",
10
+ "lucide-react"
11
+ ],
12
+ "files": [
13
+ {
14
+ "path": "src/components/ui/Drawer.tsx",
15
+ "type": "registry:ui",
16
+ "target": "@/components/ui/Drawer.tsx"
17
+ },
18
+ {
19
+ "path": "src/components/ui/Drawer.css",
20
+ "type": "registry:file",
21
+ "target": "@/components/ui/Drawer.css"
22
+ }
23
+ ],
24
+ "categories": [
25
+ "base-ui",
26
+ "component",
27
+ "disclosure"
28
+ ],
29
+ "meta": {
30
+ "baseThemes": {
31
+ "source": "package-and-source-copy",
32
+ "docsRoute": "/components/drawer",
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 Drawer when a React UI needs a side panel for settings and secondary workflows.",
71
+ "whenToUse": [
72
+ "Disclosure",
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 { Drawer } from 'base-themes'"
80
+ ],
81
+ "sourceCopy": [
82
+ "fetch /registry/items/drawer.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 { Drawer } from 'base-themes'",
91
+ "or fetch /registry/items/drawer.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
+ }