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.
- package/CHANGELOG.md +25 -0
- package/CODE_OF_CONDUCT.md +22 -0
- package/CONTRIBUTING.md +98 -0
- package/LICENSE +21 -0
- package/README.md +316 -3
- 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/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 +151 -47
- 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,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-cyberpunk",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Cyberpunk Theme",
|
|
6
|
+
"description": "Dark high-energy neon controls for expressive dashboards.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes",
|
|
57
|
+
"dashboards"
|
|
58
|
+
],
|
|
59
|
+
"meta": {
|
|
60
|
+
"preview": {
|
|
61
|
+
"light": "/previews/base-themes-cyberpunk.png"
|
|
62
|
+
},
|
|
63
|
+
"baseThemes": {
|
|
64
|
+
"style": "cyberpunk",
|
|
65
|
+
"label": "Cyberpunk",
|
|
66
|
+
"defaultMode": "light",
|
|
67
|
+
"supportsModes": [
|
|
68
|
+
"light",
|
|
69
|
+
"dark"
|
|
70
|
+
],
|
|
71
|
+
"dataAttributes": {
|
|
72
|
+
"style": "cyberpunk",
|
|
73
|
+
"theme": "light"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"agent": {
|
|
77
|
+
"summary": "Use the Cyberpunk theme when the user wants dark high-energy neon controls for expressive dashboards.",
|
|
78
|
+
"whenToUse": [
|
|
79
|
+
"Cyberpunk",
|
|
80
|
+
"CSS variable theme",
|
|
81
|
+
"Base Themes visual style"
|
|
82
|
+
],
|
|
83
|
+
"avoidWhen": [
|
|
84
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
85
|
+
],
|
|
86
|
+
"packageInstall": [
|
|
87
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
88
|
+
"import base-themes/styles.css once",
|
|
89
|
+
"set data-style=\"cyberpunk\"",
|
|
90
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
91
|
+
],
|
|
92
|
+
"sourceCopy": [
|
|
93
|
+
"fetch /registry/items/theme-cyberpunk.json",
|
|
94
|
+
"copy every files[].path to files[].target",
|
|
95
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
96
|
+
],
|
|
97
|
+
"installPlan": [
|
|
98
|
+
"import base-themes/styles.css once",
|
|
99
|
+
"set data-style=\"cyberpunk\"",
|
|
100
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
101
|
+
"or fetch /registry/items/theme-cyberpunk.json for source-copy"
|
|
102
|
+
],
|
|
103
|
+
"prompts": [
|
|
104
|
+
"Create a React settings screen using Base Themes with data-style=\"cyberpunk\"."
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-data-dense",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Data Dense Theme",
|
|
6
|
+
"description": "Compact analytics styling for tables, filters, and repeated workflows.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes"
|
|
57
|
+
],
|
|
58
|
+
"meta": {
|
|
59
|
+
"preview": {
|
|
60
|
+
"light": "/previews/base-themes-data-dense.png"
|
|
61
|
+
},
|
|
62
|
+
"baseThemes": {
|
|
63
|
+
"style": "data-dense",
|
|
64
|
+
"label": "Data Dense",
|
|
65
|
+
"defaultMode": "light",
|
|
66
|
+
"supportsModes": [
|
|
67
|
+
"light",
|
|
68
|
+
"dark"
|
|
69
|
+
],
|
|
70
|
+
"dataAttributes": {
|
|
71
|
+
"style": "data-dense",
|
|
72
|
+
"theme": "light"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"agent": {
|
|
76
|
+
"summary": "Use the Data Dense theme when the user wants compact analytics styling for tables, filters, and repeated workflows.",
|
|
77
|
+
"whenToUse": [
|
|
78
|
+
"Data Dense",
|
|
79
|
+
"CSS variable theme",
|
|
80
|
+
"Base Themes visual style"
|
|
81
|
+
],
|
|
82
|
+
"avoidWhen": [
|
|
83
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
84
|
+
],
|
|
85
|
+
"packageInstall": [
|
|
86
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
87
|
+
"import base-themes/styles.css once",
|
|
88
|
+
"set data-style=\"data-dense\"",
|
|
89
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
90
|
+
],
|
|
91
|
+
"sourceCopy": [
|
|
92
|
+
"fetch /registry/items/theme-data-dense.json",
|
|
93
|
+
"copy every files[].path to files[].target",
|
|
94
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
95
|
+
],
|
|
96
|
+
"installPlan": [
|
|
97
|
+
"import base-themes/styles.css once",
|
|
98
|
+
"set data-style=\"data-dense\"",
|
|
99
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
100
|
+
"or fetch /registry/items/theme-data-dense.json for source-copy"
|
|
101
|
+
],
|
|
102
|
+
"prompts": [
|
|
103
|
+
"Create a React settings screen using Base Themes with data-style=\"data-dense\"."
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-editorial",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Editorial Theme",
|
|
6
|
+
"description": "Magazine-like typography, ivory surfaces, and ink-forward contrast.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes"
|
|
57
|
+
],
|
|
58
|
+
"meta": {
|
|
59
|
+
"preview": {
|
|
60
|
+
"light": "/previews/base-themes-editorial.png"
|
|
61
|
+
},
|
|
62
|
+
"baseThemes": {
|
|
63
|
+
"style": "editorial",
|
|
64
|
+
"label": "Editorial",
|
|
65
|
+
"defaultMode": "light",
|
|
66
|
+
"supportsModes": [
|
|
67
|
+
"light",
|
|
68
|
+
"dark"
|
|
69
|
+
],
|
|
70
|
+
"dataAttributes": {
|
|
71
|
+
"style": "editorial",
|
|
72
|
+
"theme": "light"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"agent": {
|
|
76
|
+
"summary": "Use the Editorial theme when the user wants magazine-like typography, ivory surfaces, and ink-forward contrast.",
|
|
77
|
+
"whenToUse": [
|
|
78
|
+
"Editorial",
|
|
79
|
+
"CSS variable theme",
|
|
80
|
+
"Base Themes visual style"
|
|
81
|
+
],
|
|
82
|
+
"avoidWhen": [
|
|
83
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
84
|
+
],
|
|
85
|
+
"packageInstall": [
|
|
86
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
87
|
+
"import base-themes/styles.css once",
|
|
88
|
+
"set data-style=\"editorial\"",
|
|
89
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
90
|
+
],
|
|
91
|
+
"sourceCopy": [
|
|
92
|
+
"fetch /registry/items/theme-editorial.json",
|
|
93
|
+
"copy every files[].path to files[].target",
|
|
94
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
95
|
+
],
|
|
96
|
+
"installPlan": [
|
|
97
|
+
"import base-themes/styles.css once",
|
|
98
|
+
"set data-style=\"editorial\"",
|
|
99
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
100
|
+
"or fetch /registry/items/theme-editorial.json for source-copy"
|
|
101
|
+
],
|
|
102
|
+
"prompts": [
|
|
103
|
+
"Create a React settings screen using Base Themes with data-style=\"editorial\"."
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-enterprise",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Enterprise Theme",
|
|
6
|
+
"description": "Dense operational UI with blue actions and explicit boundaries.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes",
|
|
57
|
+
"dense"
|
|
58
|
+
],
|
|
59
|
+
"meta": {
|
|
60
|
+
"preview": {
|
|
61
|
+
"light": "/previews/base-themes-enterprise.png"
|
|
62
|
+
},
|
|
63
|
+
"baseThemes": {
|
|
64
|
+
"style": "enterprise",
|
|
65
|
+
"label": "Enterprise",
|
|
66
|
+
"defaultMode": "light",
|
|
67
|
+
"supportsModes": [
|
|
68
|
+
"light",
|
|
69
|
+
"dark"
|
|
70
|
+
],
|
|
71
|
+
"dataAttributes": {
|
|
72
|
+
"style": "enterprise",
|
|
73
|
+
"theme": "light"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"agent": {
|
|
77
|
+
"summary": "Use the Enterprise theme when the user wants dense operational ui with blue actions and explicit boundaries.",
|
|
78
|
+
"whenToUse": [
|
|
79
|
+
"Enterprise",
|
|
80
|
+
"CSS variable theme",
|
|
81
|
+
"Base Themes visual style"
|
|
82
|
+
],
|
|
83
|
+
"avoidWhen": [
|
|
84
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
85
|
+
],
|
|
86
|
+
"packageInstall": [
|
|
87
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
88
|
+
"import base-themes/styles.css once",
|
|
89
|
+
"set data-style=\"enterprise\"",
|
|
90
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
91
|
+
],
|
|
92
|
+
"sourceCopy": [
|
|
93
|
+
"fetch /registry/items/theme-enterprise.json",
|
|
94
|
+
"copy every files[].path to files[].target",
|
|
95
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
96
|
+
],
|
|
97
|
+
"installPlan": [
|
|
98
|
+
"import base-themes/styles.css once",
|
|
99
|
+
"set data-style=\"enterprise\"",
|
|
100
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
101
|
+
"or fetch /registry/items/theme-enterprise.json for source-copy"
|
|
102
|
+
],
|
|
103
|
+
"prompts": [
|
|
104
|
+
"Create a React settings screen using Base Themes with data-style=\"enterprise\"."
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-fluent",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Fluent Theme",
|
|
6
|
+
"description": "Microsoft-style acrylic surfaces, soft blue accents, and gentle borders.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes"
|
|
57
|
+
],
|
|
58
|
+
"meta": {
|
|
59
|
+
"preview": {
|
|
60
|
+
"light": "/previews/base-themes-fluent.png"
|
|
61
|
+
},
|
|
62
|
+
"baseThemes": {
|
|
63
|
+
"style": "fluent",
|
|
64
|
+
"label": "Fluent",
|
|
65
|
+
"defaultMode": "light",
|
|
66
|
+
"supportsModes": [
|
|
67
|
+
"light",
|
|
68
|
+
"dark"
|
|
69
|
+
],
|
|
70
|
+
"dataAttributes": {
|
|
71
|
+
"style": "fluent",
|
|
72
|
+
"theme": "light"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"agent": {
|
|
76
|
+
"summary": "Use the Fluent theme when the user wants microsoft-style acrylic surfaces, soft blue accents, and gentle borders.",
|
|
77
|
+
"whenToUse": [
|
|
78
|
+
"Fluent",
|
|
79
|
+
"CSS variable theme",
|
|
80
|
+
"Base Themes visual style"
|
|
81
|
+
],
|
|
82
|
+
"avoidWhen": [
|
|
83
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
84
|
+
],
|
|
85
|
+
"packageInstall": [
|
|
86
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
87
|
+
"import base-themes/styles.css once",
|
|
88
|
+
"set data-style=\"fluent\"",
|
|
89
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
90
|
+
],
|
|
91
|
+
"sourceCopy": [
|
|
92
|
+
"fetch /registry/items/theme-fluent.json",
|
|
93
|
+
"copy every files[].path to files[].target",
|
|
94
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
95
|
+
],
|
|
96
|
+
"installPlan": [
|
|
97
|
+
"import base-themes/styles.css once",
|
|
98
|
+
"set data-style=\"fluent\"",
|
|
99
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
100
|
+
"or fetch /registry/items/theme-fluent.json for source-copy"
|
|
101
|
+
],
|
|
102
|
+
"prompts": [
|
|
103
|
+
"Create a React settings screen using Base Themes with data-style=\"fluent\"."
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
|
+
"name": "theme-glass",
|
|
4
|
+
"type": "registry:theme",
|
|
5
|
+
"title": "Glass Theme",
|
|
6
|
+
"description": "Translucent surfaces, blur, and luminous focus states.",
|
|
7
|
+
"files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "src/index.css",
|
|
10
|
+
"type": "registry:file",
|
|
11
|
+
"target": "@/styles/base-themes/index.css"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"path": "src/styles/tokens.css",
|
|
15
|
+
"type": "registry:file",
|
|
16
|
+
"target": "@/styles/base-themes/tokens.css"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "src/styles/themes.css",
|
|
20
|
+
"type": "registry:file",
|
|
21
|
+
"target": "@/styles/base-themes/themes.css"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"path": "src/styles/shadcn.css",
|
|
25
|
+
"type": "registry:file",
|
|
26
|
+
"target": "@/styles/base-themes/shadcn.css"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "src/styles/neo-brutalism.css",
|
|
30
|
+
"type": "registry:file",
|
|
31
|
+
"target": "@/styles/base-themes/neo-brutalism.css"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "src/styles/cyberpunk.css",
|
|
35
|
+
"type": "registry:file",
|
|
36
|
+
"target": "@/styles/base-themes/cyberpunk.css"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "src/styles/terminal.css",
|
|
40
|
+
"type": "registry:file",
|
|
41
|
+
"target": "@/styles/base-themes/terminal.css"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "src/styles/material.css",
|
|
45
|
+
"type": "registry:file",
|
|
46
|
+
"target": "@/styles/base-themes/material.css"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "src/styles/glass.css",
|
|
50
|
+
"type": "registry:file",
|
|
51
|
+
"target": "@/styles/base-themes/glass.css"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"categories": [
|
|
55
|
+
"theme",
|
|
56
|
+
"base-themes"
|
|
57
|
+
],
|
|
58
|
+
"meta": {
|
|
59
|
+
"preview": {
|
|
60
|
+
"light": "/previews/base-themes-glass.png"
|
|
61
|
+
},
|
|
62
|
+
"baseThemes": {
|
|
63
|
+
"style": "glass",
|
|
64
|
+
"label": "Glass",
|
|
65
|
+
"defaultMode": "light",
|
|
66
|
+
"supportsModes": [
|
|
67
|
+
"light",
|
|
68
|
+
"dark"
|
|
69
|
+
],
|
|
70
|
+
"dataAttributes": {
|
|
71
|
+
"style": "glass",
|
|
72
|
+
"theme": "light"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"agent": {
|
|
76
|
+
"summary": "Use the Glass theme when the user wants translucent surfaces, blur, and luminous focus states.",
|
|
77
|
+
"whenToUse": [
|
|
78
|
+
"Glass",
|
|
79
|
+
"CSS variable theme",
|
|
80
|
+
"Base Themes visual style"
|
|
81
|
+
],
|
|
82
|
+
"avoidWhen": [
|
|
83
|
+
"The user needs a fully custom brand system before trying token overrides"
|
|
84
|
+
],
|
|
85
|
+
"packageInstall": [
|
|
86
|
+
"npm install base-themes @base-ui/react react react-dom",
|
|
87
|
+
"import base-themes/styles.css once",
|
|
88
|
+
"set data-style=\"glass\"",
|
|
89
|
+
"set data-theme=\"light\" or data-theme=\"dark\""
|
|
90
|
+
],
|
|
91
|
+
"sourceCopy": [
|
|
92
|
+
"fetch /registry/items/theme-glass.json",
|
|
93
|
+
"copy every files[].path to files[].target",
|
|
94
|
+
"copy src/styles/tokenContract.json when generating overrides"
|
|
95
|
+
],
|
|
96
|
+
"installPlan": [
|
|
97
|
+
"import base-themes/styles.css once",
|
|
98
|
+
"set data-style=\"glass\"",
|
|
99
|
+
"set data-theme=\"light\" or data-theme=\"dark\"",
|
|
100
|
+
"or fetch /registry/items/theme-glass.json for source-copy"
|
|
101
|
+
],
|
|
102
|
+
"prompts": [
|
|
103
|
+
"Create a React settings screen using Base Themes with data-style=\"glass\"."
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|