base-themes 0.1.1 → 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.
- package/CHANGELOG.md +25 -0
- package/CODE_OF_CONDUCT.md +22 -0
- package/CONTRIBUTING.md +98 -0
- package/LICENSE +21 -0
- package/README.md +324 -5
- package/RELEASE.md +80 -0
- package/SECURITY.md +49 -0
- package/bin/base-themes.mjs +143 -0
- package/dist/base-themes.css +1 -1
- package/dist/base-themes.js +857 -302
- package/dist/llms-full.txt +288 -0
- package/dist/llms.txt +79 -0
- package/dist/types/blocks/AuthCard.d.ts +2 -0
- package/dist/types/blocks/CommandPaletteBlock.d.ts +2 -0
- package/dist/types/blocks/DashboardShell.d.ts +2 -0
- package/dist/types/blocks/DataTableBlock.d.ts +2 -0
- package/dist/types/blocks/PricingPanel.d.ts +2 -0
- package/dist/types/blocks/SettingsForm.d.ts +2 -0
- package/dist/types/blocks/TeamActivityFeed.d.ts +2 -0
- package/dist/types/blocks/ThemeShowcaseCard.d.ts +2 -0
- package/dist/types/blocks/index.d.ts +8 -0
- package/dist/types/components/ui/Input.d.ts +3 -0
- package/dist/types/components/ui/index.d.ts +1 -1
- package/dist/types/lib.d.ts +1 -0
- package/docs/adoption-dashboard.md +149 -0
- package/docs/analytics-setup.md +145 -0
- package/docs/community-gallery-proposal.md +64 -0
- package/docs/community-proof-telemetry.md +47 -0
- package/docs/contributor-issue-seeds.md +240 -0
- package/docs/registry-access-telemetry.md +87 -0
- package/docs/release-announcement-kit.md +229 -0
- package/docs/search-console-setup.md +111 -0
- package/docs/theme-token-contract.md +113 -0
- package/examples/dashboard/README.md +24 -0
- package/examples/dashboard/index.html +12 -0
- package/examples/dashboard/package-lock.json +1212 -0
- package/examples/dashboard/package.json +24 -0
- package/examples/dashboard/src/App.tsx +115 -0
- package/examples/dashboard/src/main.tsx +11 -0
- package/examples/dashboard/src/styles.css +129 -0
- package/examples/dashboard/src/vite-env.d.ts +4 -0
- package/examples/dashboard/tsconfig.app.json +23 -0
- package/examples/dashboard/tsconfig.json +7 -0
- package/examples/dashboard/tsconfig.node.json +15 -0
- package/examples/dashboard/vite.config.ts +6 -0
- package/examples/next/README.md +29 -0
- package/examples/next/app/base-themes-demo.tsx +70 -0
- package/examples/next/app/layout.tsx +16 -0
- package/examples/next/app/page.tsx +9 -0
- package/examples/next/app/styles.css +106 -0
- package/examples/next/next-env.d.ts +6 -0
- package/examples/next/next.config.ts +5 -0
- package/examples/next/package-lock.json +1199 -0
- package/examples/next/package.json +27 -0
- package/examples/next/tsconfig.json +36 -0
- package/examples/registry-copy/README.md +73 -0
- package/examples/registry-copy/plan-copy.mjs +130 -0
- package/examples/theme-customization/README.md +26 -0
- package/examples/theme-customization/index.html +12 -0
- package/examples/theme-customization/package-lock.json +1212 -0
- package/examples/theme-customization/package.json +24 -0
- package/examples/theme-customization/src/App.tsx +138 -0
- package/examples/theme-customization/src/main.tsx +11 -0
- package/examples/theme-customization/src/styles.css +138 -0
- package/examples/theme-customization/src/vite-env.d.ts +4 -0
- package/examples/theme-customization/tsconfig.app.json +23 -0
- package/examples/theme-customization/tsconfig.json +7 -0
- package/examples/theme-customization/tsconfig.node.json +15 -0
- package/examples/theme-customization/vite.config.ts +6 -0
- package/examples/vite/README.md +32 -0
- package/examples/vite/index.html +12 -0
- package/examples/vite/package-lock.json +1200 -0
- package/examples/vite/package.json +24 -0
- package/examples/vite/src/App.tsx +101 -0
- package/examples/vite/src/main.tsx +11 -0
- package/examples/vite/src/styles.css +125 -0
- package/examples/vite/src/vite-env.d.ts +4 -0
- package/examples/vite/tsconfig.app.json +23 -0
- package/examples/vite/tsconfig.json +7 -0
- package/examples/vite/tsconfig.node.json +15 -0
- package/examples/vite/vite.config.ts +6 -0
- package/llms-full.txt +288 -0
- package/llms.txt +79 -0
- package/package.json +157 -14
- package/public/previews/base-themes-bauhaus.png +0 -0
- package/public/previews/base-themes-bento.png +0 -0
- package/public/previews/base-themes-calm.png +0 -0
- package/public/previews/base-themes-cyberpunk.png +0 -0
- package/public/previews/base-themes-data-dense.png +0 -0
- package/public/previews/base-themes-editorial.png +0 -0
- package/public/previews/base-themes-enterprise.png +0 -0
- package/public/previews/base-themes-fluent.png +0 -0
- package/public/previews/base-themes-glass.png +0 -0
- package/public/previews/base-themes-linear.png +0 -0
- package/public/previews/base-themes-luxury.png +0 -0
- package/public/previews/base-themes-material.png +0 -0
- package/public/previews/base-themes-minimal.png +0 -0
- package/public/previews/base-themes-mono.png +0 -0
- package/public/previews/base-themes-neo-brutalism.png +0 -0
- package/public/previews/base-themes-playful.png +0 -0
- package/public/previews/base-themes-retro.png +0 -0
- package/public/previews/base-themes-shadcn.png +0 -0
- package/public/previews/base-themes-soft-ui.png +0 -0
- package/public/previews/base-themes-terminal.png +0 -0
- package/registry/items/accordion.json +101 -0
- package/registry/items/alert-dialog.json +107 -0
- package/registry/items/autocomplete.json +106 -0
- package/registry/items/avatar.json +101 -0
- package/registry/items/block-auth-card.json +105 -0
- package/registry/items/block-command-palette.json +99 -0
- package/registry/items/block-dashboard-shell.json +101 -0
- package/registry/items/block-data-table.json +99 -0
- package/registry/items/block-pricing-panel.json +99 -0
- package/registry/items/block-settings-form.json +107 -0
- package/registry/items/block-team-activity-feed.json +99 -0
- package/registry/items/block-theme-showcase-card.json +99 -0
- package/registry/items/button.json +102 -0
- package/registry/items/checkbox-group.json +106 -0
- package/registry/items/checkbox.json +102 -0
- package/registry/items/collapsible.json +101 -0
- package/registry/items/combobox.json +101 -0
- package/registry/items/context-menu.json +106 -0
- package/registry/items/csp-provider.json +96 -0
- package/registry/items/dialog.json +102 -0
- package/registry/items/direction-provider.json +101 -0
- package/registry/items/drawer.json +101 -0
- package/registry/items/field.json +101 -0
- package/registry/items/fieldset.json +101 -0
- package/registry/items/form.json +101 -0
- package/registry/items/input.json +102 -0
- package/registry/items/menu.json +101 -0
- package/registry/items/menubar.json +106 -0
- package/registry/items/meter.json +101 -0
- package/registry/items/navigation-menu.json +101 -0
- package/registry/items/number-field.json +101 -0
- package/registry/items/otp-field.json +101 -0
- package/registry/items/popover.json +102 -0
- package/registry/items/preview-card.json +101 -0
- package/registry/items/progress.json +101 -0
- package/registry/items/radio-group.json +102 -0
- package/registry/items/radio.json +101 -0
- package/registry/items/scroll-area.json +101 -0
- package/registry/items/select.json +102 -0
- package/registry/items/separator.json +101 -0
- package/registry/items/slider.json +102 -0
- package/registry/items/switch.json +102 -0
- package/registry/items/tabs.json +101 -0
- package/registry/items/theme-bauhaus.json +107 -0
- package/registry/items/theme-bento.json +107 -0
- package/registry/items/theme-calm.json +107 -0
- package/registry/items/theme-cyberpunk.json +108 -0
- package/registry/items/theme-data-dense.json +107 -0
- package/registry/items/theme-editorial.json +107 -0
- package/registry/items/theme-enterprise.json +108 -0
- package/registry/items/theme-fluent.json +107 -0
- package/registry/items/theme-glass.json +107 -0
- package/registry/items/theme-linear.json +107 -0
- package/registry/items/theme-luxury.json +107 -0
- package/registry/items/theme-material.json +107 -0
- package/registry/items/theme-minimal.json +107 -0
- package/registry/items/theme-mono.json +107 -0
- package/registry/items/theme-neo-brutalism.json +107 -0
- package/registry/items/theme-playful.json +107 -0
- package/registry/items/theme-retro.json +107 -0
- package/registry/items/theme-shadcn.json +107 -0
- package/registry/items/theme-soft-ui.json +107 -0
- package/registry/items/theme-terminal.json +107 -0
- package/registry/items/toast.json +106 -0
- package/registry/items/toggle-group.json +101 -0
- package/registry/items/toggle.json +101 -0
- package/registry/items/toolbar.json +101 -0
- package/registry/items/tooltip.json +102 -0
- package/registry/registry.json +564 -49
- package/registry/shadcn-registry.json +415 -0
- package/research/telemetry-fixtures/analytics-events.jsonl +9 -0
- package/research/telemetry-fixtures/bundle-report.json +44 -0
- package/research/telemetry-fixtures/community-proof.csv +5 -0
- package/research/telemetry-fixtures/registry-access.jsonl +10 -0
- package/research/telemetry-fixtures/search-console-export.csv +4 -0
- package/scripts/registry-plan.mjs +434 -0
- package/scripts/render-launch-actions.mjs +405 -0
- package/scripts/render-launch-status.mjs +373 -0
- package/scripts/render-release-announcement.mjs +329 -0
- package/scripts/verify-launch-readiness.mjs +415 -0
- package/scripts/verify-telemetry-fixtures.mjs +85 -0
- package/scripts/verify-telemetry-report.mjs +89 -0
- package/skills/base-themes/SKILL.md +156 -43
- package/src/blocks/AuthCard.tsx +29 -0
- package/src/blocks/Blocks.css +182 -0
- package/src/blocks/CommandPaletteBlock.tsx +32 -0
- package/src/blocks/DashboardShell.tsx +36 -0
- package/src/blocks/DataTableBlock.tsx +44 -0
- package/src/blocks/PricingPanel.tsx +28 -0
- package/src/blocks/SettingsForm.tsx +37 -0
- package/src/blocks/TeamActivityFeed.tsx +38 -0
- package/src/blocks/ThemeShowcaseCard.tsx +32 -0
- package/src/blocks/index.ts +8 -0
- package/src/components/ui/Accordion.css +42 -0
- package/src/components/ui/Accordion.tsx +41 -0
- package/src/components/ui/AlertDialog.css +40 -0
- package/src/components/ui/AlertDialog.tsx +52 -0
- package/src/components/ui/Autocomplete.css +3 -0
- package/src/components/ui/Autocomplete.tsx +50 -0
- package/src/components/ui/Avatar.css +45 -0
- package/src/components/ui/Avatar.tsx +36 -0
- package/src/components/ui/Button.css +79 -0
- package/src/components/ui/Button.tsx +20 -0
- package/src/components/ui/Checkbox.css +37 -0
- package/src/components/ui/Checkbox.tsx +32 -0
- package/src/components/ui/CheckboxGroup.tsx +21 -0
- package/src/components/ui/Collapsible.css +34 -0
- package/src/components/ui/Collapsible.tsx +29 -0
- package/src/components/ui/Combobox.css +75 -0
- package/src/components/ui/Combobox.tsx +53 -0
- package/src/components/ui/ContextMenu.css +9 -0
- package/src/components/ui/ContextMenu.tsx +47 -0
- package/src/components/ui/CspProvider.tsx +10 -0
- package/src/components/ui/Dialog.css +41 -0
- package/src/components/ui/Dialog.tsx +45 -0
- package/src/components/ui/DirectionProvider.tsx +17 -0
- package/src/components/ui/Drawer.css +77 -0
- package/src/components/ui/Drawer.tsx +56 -0
- package/src/components/ui/Field.css +19 -0
- package/src/components/ui/Field.tsx +24 -0
- package/src/components/ui/Fieldset.css +16 -0
- package/src/components/ui/Fieldset.tsx +19 -0
- package/src/components/ui/Form.css +5 -0
- package/src/components/ui/Form.tsx +12 -0
- package/src/components/ui/Input.css +50 -0
- package/src/components/ui/Input.tsx +62 -0
- package/src/components/ui/Menu.css +59 -0
- package/src/components/ui/Menu.tsx +50 -0
- package/src/components/ui/Menubar.css +26 -0
- package/src/components/ui/Menubar.tsx +42 -0
- package/src/components/ui/Meter.css +45 -0
- package/src/components/ui/Meter.tsx +37 -0
- package/src/components/ui/NavigationMenu.css +103 -0
- package/src/components/ui/NavigationMenu.tsx +64 -0
- package/src/components/ui/NumberField.css +38 -0
- package/src/components/ui/NumberField.tsx +28 -0
- package/src/components/ui/OtpField.css +28 -0
- package/src/components/ui/OtpField.tsx +24 -0
- package/src/components/ui/Popover.css +25 -0
- package/src/components/ui/Popover.tsx +37 -0
- package/src/components/ui/PreviewCard.css +33 -0
- package/src/components/ui/PreviewCard.tsx +43 -0
- package/src/components/ui/Progress.css +33 -0
- package/src/components/ui/Progress.tsx +28 -0
- package/src/components/ui/Radio.tsx +22 -0
- package/src/components/ui/RadioGroup.css +42 -0
- package/src/components/ui/RadioGroup.tsx +29 -0
- package/src/components/ui/ScrollArea.css +42 -0
- package/src/components/ui/ScrollArea.tsx +22 -0
- package/src/components/ui/Select.css +86 -0
- package/src/components/ui/Select.tsx +39 -0
- package/src/components/ui/Separator.css +14 -0
- package/src/components/ui/Separator.tsx +12 -0
- package/src/components/ui/Slider.css +39 -0
- package/src/components/ui/Slider.tsx +21 -0
- package/src/components/ui/Switch.css +45 -0
- package/src/components/ui/Switch.tsx +29 -0
- package/src/components/ui/Tabs.css +72 -0
- package/src/components/ui/Tabs.tsx +44 -0
- package/src/components/ui/Toast.css +75 -0
- package/src/components/ui/Toast.tsx +48 -0
- package/src/components/ui/Toggle.tsx +12 -0
- package/src/components/ui/ToggleGroup.css +35 -0
- package/src/components/ui/ToggleGroup.tsx +30 -0
- package/src/components/ui/Toolbar.css +60 -0
- package/src/components/ui/Toolbar.tsx +36 -0
- package/src/components/ui/Tooltip.css +14 -0
- package/src/components/ui/Tooltip.tsx +31 -0
- package/src/components/ui/index.ts +83 -0
- package/src/components/ui/useDirection.ts +1 -0
- package/src/components/ui/useToastManager.ts +11 -0
- package/src/docs/blockMeta.json +66 -0
- package/src/docs/componentMeta.json +322 -0
- package/src/docs/staticPageMeta.json +143 -0
- package/src/docs/themeMeta.json +22 -0
- package/src/styles/tokenContract.json +61 -0
- package/workers/analytics-receiver.mjs +170 -0
- package/wrangler.analytics.jsonc +12 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "button",
|
|
4
|
+
"registryName": "button",
|
|
5
|
+
"title": "Button",
|
|
6
|
+
"group": "Inputs",
|
|
7
|
+
"summary": "An action primitive with semantic variants for primary commands, quiet actions, icons, and destructive-looking accents.",
|
|
8
|
+
"exportName": "Button"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"id": "checkbox",
|
|
12
|
+
"registryName": "checkbox",
|
|
13
|
+
"title": "Checkbox",
|
|
14
|
+
"group": "Inputs",
|
|
15
|
+
"summary": "A labeled boolean control with checked and unchecked visual states.",
|
|
16
|
+
"exportName": "Checkbox"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "switch",
|
|
20
|
+
"registryName": "switch",
|
|
21
|
+
"title": "Switch",
|
|
22
|
+
"group": "Inputs",
|
|
23
|
+
"summary": "A binary setting control for immediate on/off preferences.",
|
|
24
|
+
"exportName": "Switch"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"id": "slider",
|
|
28
|
+
"registryName": "slider",
|
|
29
|
+
"title": "Slider",
|
|
30
|
+
"group": "Inputs",
|
|
31
|
+
"summary": "A range input with Base UI keyboard handling and tokenized track styling.",
|
|
32
|
+
"exportName": "Slider"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "select",
|
|
36
|
+
"registryName": "select",
|
|
37
|
+
"title": "Select",
|
|
38
|
+
"group": "Inputs",
|
|
39
|
+
"summary": "A popover-backed single choice control with keyboard navigation and positioned content.",
|
|
40
|
+
"exportName": "Select"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "radiogroup",
|
|
44
|
+
"registryName": "radio-group",
|
|
45
|
+
"title": "Radio Group",
|
|
46
|
+
"group": "Inputs",
|
|
47
|
+
"summary": "A grouped set of mutually exclusive choices.",
|
|
48
|
+
"exportName": "RadioGroup"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "togglegroup",
|
|
52
|
+
"registryName": "toggle-group",
|
|
53
|
+
"title": "Toggle Group",
|
|
54
|
+
"group": "Inputs",
|
|
55
|
+
"summary": "A compact multi-select control for formatting and segmented actions.",
|
|
56
|
+
"exportName": "ToggleGroup"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "combobox",
|
|
60
|
+
"registryName": "combobox",
|
|
61
|
+
"title": "Combobox",
|
|
62
|
+
"group": "Inputs",
|
|
63
|
+
"summary": "A searchable listbox for quickly filtering component names.",
|
|
64
|
+
"exportName": "Combobox"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "input",
|
|
68
|
+
"registryName": "input",
|
|
69
|
+
"title": "Input",
|
|
70
|
+
"group": "Inputs",
|
|
71
|
+
"summary": "A styled Base UI input with optional label and helper text slots.",
|
|
72
|
+
"exportName": "Input"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "autocomplete",
|
|
76
|
+
"registryName": "autocomplete",
|
|
77
|
+
"title": "Autocomplete",
|
|
78
|
+
"group": "Inputs",
|
|
79
|
+
"summary": "A text input with filtered suggestions and inline selection behavior.",
|
|
80
|
+
"exportName": "Autocomplete"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "checkboxgroup",
|
|
84
|
+
"registryName": "checkbox-group",
|
|
85
|
+
"title": "Checkbox Group",
|
|
86
|
+
"group": "Inputs",
|
|
87
|
+
"summary": "A shared state container for related checkboxes.",
|
|
88
|
+
"exportName": "CheckboxGroup"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "field",
|
|
92
|
+
"registryName": "field",
|
|
93
|
+
"title": "Field",
|
|
94
|
+
"group": "Inputs",
|
|
95
|
+
"summary": "A form field wrapper that connects label, control, description, and error state.",
|
|
96
|
+
"exportName": "Field"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "fieldset",
|
|
100
|
+
"registryName": "fieldset",
|
|
101
|
+
"title": "Fieldset",
|
|
102
|
+
"group": "Inputs",
|
|
103
|
+
"summary": "A semantic grouping primitive for related form controls.",
|
|
104
|
+
"exportName": "Fieldset"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "form",
|
|
108
|
+
"registryName": "form",
|
|
109
|
+
"title": "Form",
|
|
110
|
+
"group": "Inputs",
|
|
111
|
+
"summary": "A form root that integrates Base UI field validation and native submission.",
|
|
112
|
+
"exportName": "Form"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "numberfield",
|
|
116
|
+
"registryName": "number-field",
|
|
117
|
+
"title": "Number Field",
|
|
118
|
+
"group": "Inputs",
|
|
119
|
+
"summary": "A numeric input with increment and decrement controls.",
|
|
120
|
+
"exportName": "NumberField"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "otpfield",
|
|
124
|
+
"registryName": "otp-field",
|
|
125
|
+
"title": "OTP Field",
|
|
126
|
+
"group": "Inputs",
|
|
127
|
+
"summary": "A one-time-password input with separate slots and paste handling.",
|
|
128
|
+
"exportName": "OtpField"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "radio",
|
|
132
|
+
"registryName": "radio",
|
|
133
|
+
"title": "Radio",
|
|
134
|
+
"group": "Inputs",
|
|
135
|
+
"summary": "A single radio primitive for custom radio group compositions.",
|
|
136
|
+
"exportName": "Radio"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "separator",
|
|
140
|
+
"registryName": "separator",
|
|
141
|
+
"title": "Separator",
|
|
142
|
+
"group": "Inputs",
|
|
143
|
+
"summary": "A semantic divider for grouping content and toolbar controls.",
|
|
144
|
+
"exportName": "Separator"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "toggle",
|
|
148
|
+
"registryName": "toggle",
|
|
149
|
+
"title": "Toggle",
|
|
150
|
+
"group": "Inputs",
|
|
151
|
+
"summary": "A single pressable on/off button for formatting and filters.",
|
|
152
|
+
"exportName": "Toggle"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "toolbar",
|
|
156
|
+
"registryName": "toolbar",
|
|
157
|
+
"title": "Toolbar",
|
|
158
|
+
"group": "Inputs",
|
|
159
|
+
"summary": "A keyboard-aware toolbar for grouped commands and inputs.",
|
|
160
|
+
"exportName": "Toolbar"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id": "cspprovider",
|
|
164
|
+
"registryName": "csp-provider",
|
|
165
|
+
"title": "CSP Provider",
|
|
166
|
+
"group": "Feedback",
|
|
167
|
+
"summary": "A provider for passing Content Security Policy nonce settings to Base UI internals.",
|
|
168
|
+
"exportName": "CspProvider"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "directionprovider",
|
|
172
|
+
"registryName": "direction-provider",
|
|
173
|
+
"title": "Direction Provider",
|
|
174
|
+
"group": "Feedback",
|
|
175
|
+
"summary": "A provider that enables RTL or LTR behavior across Base UI components.",
|
|
176
|
+
"exportName": "DirectionProvider"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"id": "accordion",
|
|
180
|
+
"registryName": "accordion",
|
|
181
|
+
"title": "Accordion",
|
|
182
|
+
"group": "Disclosure",
|
|
183
|
+
"summary": "Stacked disclosure panels for related sections of content.",
|
|
184
|
+
"exportName": "Accordion"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "collapsible",
|
|
188
|
+
"registryName": "collapsible",
|
|
189
|
+
"title": "Collapsible",
|
|
190
|
+
"group": "Disclosure",
|
|
191
|
+
"summary": "A single expandable region for optional detail.",
|
|
192
|
+
"exportName": "Collapsible"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "dialog",
|
|
196
|
+
"registryName": "dialog",
|
|
197
|
+
"title": "Dialog",
|
|
198
|
+
"group": "Disclosure",
|
|
199
|
+
"summary": "A modal layer with focus management and dismiss behavior.",
|
|
200
|
+
"exportName": "Dialog"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"id": "alertdialog",
|
|
204
|
+
"registryName": "alert-dialog",
|
|
205
|
+
"title": "Alert Dialog",
|
|
206
|
+
"group": "Disclosure",
|
|
207
|
+
"summary": "A confirmation modal for actions that need explicit acknowledgement.",
|
|
208
|
+
"exportName": "AlertDialog"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"id": "drawer",
|
|
212
|
+
"registryName": "drawer",
|
|
213
|
+
"title": "Drawer",
|
|
214
|
+
"group": "Disclosure",
|
|
215
|
+
"summary": "A side panel for settings and secondary workflows.",
|
|
216
|
+
"exportName": "Drawer"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "popover",
|
|
220
|
+
"registryName": "popover",
|
|
221
|
+
"title": "Popover",
|
|
222
|
+
"group": "Disclosure",
|
|
223
|
+
"summary": "A lightweight positioned layer for contextual content.",
|
|
224
|
+
"exportName": "Popover"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "previewcard",
|
|
228
|
+
"registryName": "preview-card",
|
|
229
|
+
"title": "Preview Card",
|
|
230
|
+
"group": "Disclosure",
|
|
231
|
+
"summary": "A hover or focus preview surface for linked resources.",
|
|
232
|
+
"exportName": "PreviewCard"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"id": "tooltip",
|
|
236
|
+
"registryName": "tooltip",
|
|
237
|
+
"title": "Tooltip",
|
|
238
|
+
"group": "Disclosure",
|
|
239
|
+
"summary": "A small non-interactive label for controls and dense interfaces.",
|
|
240
|
+
"exportName": "Tooltip"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"id": "tabs",
|
|
244
|
+
"registryName": "tabs",
|
|
245
|
+
"title": "Tabs",
|
|
246
|
+
"group": "Navigation",
|
|
247
|
+
"summary": "A tablist for switching between related panels without navigating away.",
|
|
248
|
+
"exportName": "Tabs"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": "menu",
|
|
252
|
+
"registryName": "menu",
|
|
253
|
+
"title": "Menu",
|
|
254
|
+
"group": "Navigation",
|
|
255
|
+
"summary": "A command menu for grouped actions and disabled items.",
|
|
256
|
+
"exportName": "Menu"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "contextmenu",
|
|
260
|
+
"registryName": "context-menu",
|
|
261
|
+
"title": "Context Menu",
|
|
262
|
+
"group": "Navigation",
|
|
263
|
+
"summary": "A menu opened from a contextual right-click or keyboard context action.",
|
|
264
|
+
"exportName": "ContextMenu"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "menubar",
|
|
268
|
+
"registryName": "menubar",
|
|
269
|
+
"title": "Menubar",
|
|
270
|
+
"group": "Navigation",
|
|
271
|
+
"summary": "A horizontal application menu composed from Base UI menubar and menu primitives.",
|
|
272
|
+
"exportName": "Menubar"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"id": "navmenu",
|
|
276
|
+
"registryName": "navigation-menu",
|
|
277
|
+
"title": "Navigation Menu",
|
|
278
|
+
"group": "Navigation",
|
|
279
|
+
"summary": "A top-level navigation primitive with nested flyout items.",
|
|
280
|
+
"exportName": "NavigationMenu"
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"id": "progress",
|
|
284
|
+
"registryName": "progress",
|
|
285
|
+
"title": "Progress",
|
|
286
|
+
"group": "Feedback",
|
|
287
|
+
"summary": "A linear indicator for completion percentage and loading workflows.",
|
|
288
|
+
"exportName": "Progress"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"id": "meter",
|
|
292
|
+
"registryName": "meter",
|
|
293
|
+
"title": "Meter",
|
|
294
|
+
"group": "Feedback",
|
|
295
|
+
"summary": "A semantic gauge for bounded measurements like storage or quota usage.",
|
|
296
|
+
"exportName": "Meter"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"id": "toast",
|
|
300
|
+
"registryName": "toast",
|
|
301
|
+
"title": "Toast",
|
|
302
|
+
"group": "Feedback",
|
|
303
|
+
"summary": "A transient notification system with provider-managed state.",
|
|
304
|
+
"exportName": "ToastProvider"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"id": "scrollarea",
|
|
308
|
+
"registryName": "scroll-area",
|
|
309
|
+
"title": "Scroll Area",
|
|
310
|
+
"group": "Feedback",
|
|
311
|
+
"summary": "A custom scroll container with consistent scrollbar styling across the site.",
|
|
312
|
+
"exportName": "ScrollArea"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": "avatar",
|
|
316
|
+
"registryName": "avatar",
|
|
317
|
+
"title": "Avatar",
|
|
318
|
+
"group": "Feedback",
|
|
319
|
+
"summary": "A compact identity primitive with fallback initials and grouped presentation.",
|
|
320
|
+
"exportName": "Avatar"
|
|
321
|
+
}
|
|
322
|
+
]
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "landing",
|
|
4
|
+
"path": "/",
|
|
5
|
+
"title": "Base Themes — Themeable Base UI React Components",
|
|
6
|
+
"description": "Typed Base UI React component wrappers with production CSS tokens, 20 visual themes, registry metadata, and ready-to-use product UI blocks.",
|
|
7
|
+
"priority": "1.0"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "blocks",
|
|
11
|
+
"path": "/blocks",
|
|
12
|
+
"title": "Application Blocks — Base Themes",
|
|
13
|
+
"description": "Composable dashboard and settings blocks built from accessible Base UI React primitives and themeable product UI tokens.",
|
|
14
|
+
"priority": "0.8"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "themes",
|
|
18
|
+
"path": "/themes",
|
|
19
|
+
"title": "Theme System — Base Themes",
|
|
20
|
+
"description": "Explore Bento, shadcn, neo brutalism, minimal, enterprise, glass, terminal, and other token-based React UI themes.",
|
|
21
|
+
"priority": "0.9"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "installation",
|
|
25
|
+
"path": "/docs/installation",
|
|
26
|
+
"title": "Install Base Themes for React",
|
|
27
|
+
"description": "Install base-themes from npm, import the bundled styles, and use typed Base UI React wrappers in Vite, Next.js, Remix, or any React app.",
|
|
28
|
+
"type": "article",
|
|
29
|
+
"priority": "0.9"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "theming",
|
|
33
|
+
"path": "/docs/theming",
|
|
34
|
+
"title": "Theme Tokens and CSS Variables — Base Themes",
|
|
35
|
+
"description": "Learn the Base Themes data-style and data-theme contract, CSS variable layers, dark mode behavior, and practical theme override workflow.",
|
|
36
|
+
"type": "article",
|
|
37
|
+
"priority": "0.85"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "registry",
|
|
41
|
+
"path": "/docs/registry",
|
|
42
|
+
"title": "Registry and Source Copy Workflow — Base Themes",
|
|
43
|
+
"description": "Use the Base Themes registry metadata to resolve components, blocks, source files, CSS tokens, dependencies, and copy plans for tools and agents.",
|
|
44
|
+
"type": "article",
|
|
45
|
+
"priority": "0.85"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "cliUsage",
|
|
49
|
+
"path": "/docs/cli",
|
|
50
|
+
"title": "Base Themes CLI for Registry Copy Workflows",
|
|
51
|
+
"description": "Use npx base-themes list, plan, add, and doctor to inspect registry coverage, generate source-copy plans, copy files conservatively, and verify React app integration.",
|
|
52
|
+
"type": "article",
|
|
53
|
+
"priority": "0.8"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "agentUsage",
|
|
57
|
+
"path": "/docs/agent-usage",
|
|
58
|
+
"title": "Agent Usage Guide — Base Themes",
|
|
59
|
+
"description": "Use the bundled Base Themes agent skill, registry exports, and verification commands to customize React components, blocks, and themes safely.",
|
|
60
|
+
"type": "article",
|
|
61
|
+
"priority": "0.8"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "examples",
|
|
65
|
+
"path": "/docs/examples",
|
|
66
|
+
"title": "Runnable React Examples — Base Themes",
|
|
67
|
+
"description": "Build Vite, dashboard, Next.js, and registry-copy examples that prove Base Themes package installs, CSS imports, blocks, and registry metadata work in real apps.",
|
|
68
|
+
"type": "article",
|
|
69
|
+
"priority": "0.8"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "contributingGuide",
|
|
73
|
+
"path": "/docs/contributing",
|
|
74
|
+
"title": "Contributing to Base Themes",
|
|
75
|
+
"description": "Follow the contribution workflow for Base Themes components, blocks, themes, registry metadata, tests, and release validation.",
|
|
76
|
+
"type": "article",
|
|
77
|
+
"priority": "0.75"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "themeCustomization",
|
|
81
|
+
"path": "/docs/theme-customization",
|
|
82
|
+
"title": "Customize React UI Theme Tokens — Base Themes",
|
|
83
|
+
"description": "Adjust Base Themes primary color, radius, font, and density tokens, preview the result, and copy ready-to-use CSS variables.",
|
|
84
|
+
"type": "article",
|
|
85
|
+
"priority": "0.85"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "whyBaseThemes",
|
|
89
|
+
"path": "/docs/why-base-themes",
|
|
90
|
+
"title": "Why Base Themes for Base UI React Components",
|
|
91
|
+
"description": "Learn how Base Themes adds typed wrappers, CSS variables, visual styles, registry metadata, and agent workflows on top of Base UI React primitives.",
|
|
92
|
+
"type": "article",
|
|
93
|
+
"priority": "0.85"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "baseUiVsShadcn",
|
|
97
|
+
"path": "/docs/base-ui-vs-shadcn",
|
|
98
|
+
"title": "Base UI vs shadcn/ui for Themed React Apps",
|
|
99
|
+
"description": "Compare Base UI, shadcn/ui, and Base Themes honestly across primitives, install model, theming, source-copy workflows, and agent-ready registry metadata.",
|
|
100
|
+
"type": "article",
|
|
101
|
+
"priority": "0.8"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "tokenSystem",
|
|
105
|
+
"path": "/docs/token-system",
|
|
106
|
+
"title": "CSS Variable Theme System for React — Base Themes",
|
|
107
|
+
"description": "Understand the Base Themes token architecture for surfaces, text, actions, radius, typography, dark mode, and custom React UI themes.",
|
|
108
|
+
"type": "article",
|
|
109
|
+
"priority": "0.85"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"id": "accessibility",
|
|
113
|
+
"path": "/docs/accessibility",
|
|
114
|
+
"title": "Accessible React UI Components — Base Themes",
|
|
115
|
+
"description": "See how Base Themes builds on Base UI accessibility primitives and verifies focus states, keyboard behavior, contrast, SSR safety, and registry parity.",
|
|
116
|
+
"type": "article",
|
|
117
|
+
"priority": "0.8"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "migrationGuide",
|
|
121
|
+
"path": "/docs/migration-guide",
|
|
122
|
+
"title": "Migrate to Base Themes from shadcn, MUI, Chakra, or Custom CSS",
|
|
123
|
+
"description": "Adopt Base Themes incrementally with package CSS, data-style and data-theme tokens, component replacement slices, and registry-backed verification.",
|
|
124
|
+
"type": "article",
|
|
125
|
+
"priority": "0.8"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "designHandoff",
|
|
129
|
+
"path": "/docs/design-handoff",
|
|
130
|
+
"title": "Figma and Design Token Handoff — Base Themes",
|
|
131
|
+
"description": "Use Base Themes CSS variables, preview assets, theme metadata, and registry files as a shared contract between design and implementation.",
|
|
132
|
+
"type": "article",
|
|
133
|
+
"priority": "0.75"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "securityTrust",
|
|
137
|
+
"path": "/docs/security",
|
|
138
|
+
"title": "Security and Release Trust — Base Themes",
|
|
139
|
+
"description": "Review Base Themes vulnerability reporting, npm provenance, release checks, dependency posture, and registry trust boundaries before adopting the package.",
|
|
140
|
+
"type": "article",
|
|
141
|
+
"priority": "0.75"
|
|
142
|
+
}
|
|
143
|
+
]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "style": "bento", "label": "Bento", "description": "Warm modular product cards with soft depth and teal controls." },
|
|
3
|
+
{ "style": "shadcn", "label": "Shadcn", "description": "Neutral zinc interface styling modeled after shadcn/ui." },
|
|
4
|
+
{ "style": "neo-brutalism", "label": "Neo Brutalism", "description": "Hard borders, loud accents, and offset block shadows." },
|
|
5
|
+
{ "style": "minimal", "label": "Minimal", "description": "Swiss-inspired whitespace, thin rules, and quiet monochrome controls." },
|
|
6
|
+
{ "style": "enterprise", "label": "Enterprise", "description": "Dense operational UI with blue actions and explicit boundaries." },
|
|
7
|
+
{ "style": "linear", "label": "Linear", "description": "Developer-tool polish with subtle gradients and refined dark mode." },
|
|
8
|
+
{ "style": "glass", "label": "Glass", "description": "Translucent surfaces, blur, and luminous focus states." },
|
|
9
|
+
{ "style": "terminal", "label": "Terminal", "description": "Monospace command-line interface with phosphor green command surfaces." },
|
|
10
|
+
{ "style": "material", "label": "Material", "description": "Layered Google-style surfaces with blue primary actions and soft elevation." },
|
|
11
|
+
{ "style": "fluent", "label": "Fluent", "description": "Microsoft-style acrylic surfaces, soft blue accents, and gentle borders." },
|
|
12
|
+
{ "style": "retro", "label": "Retro", "description": "Early desktop UI cues with chunky controls and saturated classic colors." },
|
|
13
|
+
{ "style": "cyberpunk", "label": "Cyberpunk", "description": "Dark high-energy neon controls for expressive dashboards." },
|
|
14
|
+
{ "style": "editorial", "label": "Editorial", "description": "Magazine-like typography, ivory surfaces, and ink-forward contrast." },
|
|
15
|
+
{ "style": "calm", "label": "Calm", "description": "Low-saturation wellness palette with relaxed controls and readable contrast." },
|
|
16
|
+
{ "style": "data-dense", "label": "Data Dense", "description": "Compact analytics styling for tables, filters, and repeated workflows." },
|
|
17
|
+
{ "style": "playful", "label": "Playful", "description": "Rounded, bright, friendly components for creative and education tools." },
|
|
18
|
+
{ "style": "luxury", "label": "Luxury", "description": "Dark premium surfaces, gold accents, and fine-line hierarchy." },
|
|
19
|
+
{ "style": "soft-ui", "label": "Soft UI", "description": "Low-contrast tactile controls with inset and raised shadows." },
|
|
20
|
+
{ "style": "bauhaus", "label": "Bauhaus", "description": "Geometric composition with primary colors and strong graphic contrast." },
|
|
21
|
+
{ "style": "mono", "label": "Mono", "description": "Black-and-white ink system with no decorative color dependency." }
|
|
22
|
+
]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"stablePrefix": "--bt-",
|
|
4
|
+
"legacyCompatibility": "Legacy tokens without the --bt- prefix remain compatibility aliases for the 0.x line. New docs, examples, registry items, and agent workflows should prefer --bt-* tokens.",
|
|
5
|
+
"dataAttributes": ["data-style", "data-theme"],
|
|
6
|
+
"publicTokens": {
|
|
7
|
+
"semantic": [
|
|
8
|
+
{ "name": "--bt-bg", "legacy": "--bg", "description": "Page background." },
|
|
9
|
+
{ "name": "--bt-fg", "legacy": "--text-strong", "description": "Primary foreground text." },
|
|
10
|
+
{ "name": "--bt-text", "legacy": "--text", "description": "Default body text." },
|
|
11
|
+
{ "name": "--bt-muted-fg", "legacy": "--text-muted", "description": "Secondary text and labels." },
|
|
12
|
+
{ "name": "--bt-surface", "legacy": "--surface", "description": "Default panel or control surface." },
|
|
13
|
+
{ "name": "--bt-surface-muted", "legacy": "--surface-muted", "description": "Subtle grouped surface." },
|
|
14
|
+
{ "name": "--bt-surface-strong", "legacy": "--surface-strong", "description": "High-contrast surface used for inverse controls." },
|
|
15
|
+
{ "name": "--bt-border", "legacy": "--line", "description": "Default border color." },
|
|
16
|
+
{ "name": "--bt-border-strong", "legacy": "--line-strong", "description": "Higher emphasis border color." },
|
|
17
|
+
{ "name": "--bt-primary", "legacy": "--accent", "description": "Primary action color." },
|
|
18
|
+
{ "name": "--bt-primary-hover", "legacy": "--accent-strong", "description": "Primary action hover or pressed color." },
|
|
19
|
+
{ "name": "--bt-primary-fg", "legacy": "--theme-primary-foreground", "description": "Text/icon color on primary actions." },
|
|
20
|
+
{ "name": "--bt-secondary", "legacy": "--teal", "description": "Secondary action color." },
|
|
21
|
+
{ "name": "--bt-secondary-fg", "legacy": "--theme-teal-foreground", "description": "Text/icon color on secondary actions." },
|
|
22
|
+
{ "name": "--bt-info", "legacy": "--blue", "description": "Informational accent color." },
|
|
23
|
+
{ "name": "--bt-success", "legacy": "--green", "description": "Success accent color." },
|
|
24
|
+
{ "name": "--bt-danger", "legacy": "--theme-danger", "description": "Danger/error accent color." },
|
|
25
|
+
{ "name": "--bt-danger-fg", "legacy": "--theme-danger-foreground", "description": "Text/icon color on danger actions." },
|
|
26
|
+
{ "name": "--bt-ring", "legacy": "--theme-focus", "description": "Focus ring color." }
|
|
27
|
+
],
|
|
28
|
+
"shapeTypography": [
|
|
29
|
+
{ "name": "--bt-radius", "legacy": "--radius", "description": "Default large radius." },
|
|
30
|
+
{ "name": "--bt-radius-sm", "legacy": "--radius-sm", "description": "Compact control radius." },
|
|
31
|
+
{ "name": "--bt-font-sans", "legacy": "--font-sans", "description": "Sans-serif font stack." },
|
|
32
|
+
{ "name": "--bt-font-mono", "legacy": "--font-mono", "description": "Monospace font stack." },
|
|
33
|
+
{ "name": "--bt-shadow", "legacy": "--shadow", "description": "Default elevated shadow." },
|
|
34
|
+
{ "name": "--bt-shadow-strong", "legacy": "--shadow-strong", "description": "High emphasis shadow." }
|
|
35
|
+
],
|
|
36
|
+
"componentAliases": [
|
|
37
|
+
{ "name": "--bt-button-bg", "legacy": "--surface-strong", "description": "Default button background." },
|
|
38
|
+
{ "name": "--bt-button-fg", "legacy": "--bg", "description": "Default button foreground." },
|
|
39
|
+
{ "name": "--bt-button-border", "legacy": "--line", "description": "Button border color." },
|
|
40
|
+
{ "name": "--bt-input-bg", "legacy": "--surface", "description": "Input background." },
|
|
41
|
+
{ "name": "--bt-input-fg", "legacy": "--text-strong", "description": "Input foreground." },
|
|
42
|
+
{ "name": "--bt-input-border", "legacy": "--line-strong", "description": "Input border color." },
|
|
43
|
+
{ "name": "--bt-select-popup-bg", "legacy": "--theme-popup-bg", "description": "Select/menu popup background." },
|
|
44
|
+
{ "name": "--bt-select-popup-fg", "legacy": "--theme-popup-text", "description": "Select/menu popup foreground." },
|
|
45
|
+
{ "name": "--bt-tabs-active-bg", "legacy": "--surface", "description": "Active tab background." },
|
|
46
|
+
{ "name": "--bt-tabs-active-fg", "legacy": "--text-strong", "description": "Active tab foreground." }
|
|
47
|
+
],
|
|
48
|
+
"motionDensity": [
|
|
49
|
+
{ "name": "--bt-border-width", "legacy": "--theme-border-width", "description": "Default control border width." },
|
|
50
|
+
{ "name": "--bt-font-weight", "legacy": "--theme-font-weight", "description": "Default control font weight." },
|
|
51
|
+
{ "name": "--bt-duration", "legacy": "--theme-transition-duration", "description": "Default interaction transition duration." },
|
|
52
|
+
{ "name": "--bt-letter-spacing", "legacy": "--theme-letter-spacing", "description": "Default control letter spacing." },
|
|
53
|
+
{ "name": "--bt-control-height", "legacy": "--theme-control-height", "description": "Default control height for dense customization." }
|
|
54
|
+
],
|
|
55
|
+
"docsOnly": [
|
|
56
|
+
{ "name": "--topbar-bg", "description": "Docs topbar background; not a package component API." },
|
|
57
|
+
{ "name": "--card-bg", "description": "Docs card background; not a package component API." },
|
|
58
|
+
{ "name": "--hero-text", "description": "Docs hero text token; not a package component API." }
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
}
|