{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "shadcn-theme-panel", "homepage": "https://shadcn-theme-panel.example.com", "items": [ { "name": "theme-panel", "type": "registry:block", "title": "Theme Panel", "description": "Drop-in live theme editor for shadcn projects. Edit CSS variables, switch presets, copy CSS — like Radix UI's ThemePanel.", "dependencies": [ "culori", "lucide-react", "radix-ui", "class-variance-authority", "clsx", "tailwind-merge" ], "devDependencies": ["@types/culori"], "files": [ { "path": "src/components/theme-panel/theme-panel.tsx", "type": "registry:component", "target": "components/theme-panel/theme-panel.tsx" }, { "path": "src/components/theme-panel/oklch-color-picker.tsx", "type": "registry:component", "target": "components/theme-panel/oklch-color-picker.tsx" }, { "path": "src/components/theme-panel/use-theme-vars.ts", "type": "registry:hook", "target": "components/theme-panel/use-theme-vars.ts" }, { "path": "src/components/theme-panel/theme-presets.ts", "type": "registry:lib", "target": "components/theme-panel/theme-presets.ts" }, { "path": "src/components/theme-panel/utils.ts", "type": "registry:lib", "target": "components/theme-panel/utils.ts" }, { "path": "src/components/theme-panel/types.ts", "type": "registry:lib", "target": "components/theme-panel/types.ts" }, { "path": "src/components/theme-panel/contrast.ts", "type": "registry:lib", "target": "components/theme-panel/contrast.ts" }, { "path": "src/components/theme-panel/scale-generator.ts", "type": "registry:lib", "target": "components/theme-panel/scale-generator.ts" }, { "path": "src/components/theme-panel/css-parser.ts", "type": "registry:lib", "target": "components/theme-panel/css-parser.ts" }, { "path": "src/components/theme-panel/url-state.ts", "type": "registry:lib", "target": "components/theme-panel/url-state.ts" }, { "path": "src/components/theme-panel/inspect-overlay.tsx", "type": "registry:component", "target": "components/theme-panel/inspect-overlay.tsx" }, { "path": "src/components/theme-panel/inspect-utils.ts", "type": "registry:lib", "target": "components/theme-panel/inspect-utils.ts" }, { "path": "src/components/theme-panel/index.ts", "type": "registry:lib", "target": "components/theme-panel/index.ts" }, { "path": "src/components/theme-panel/ui/button.tsx", "type": "registry:component", "target": "components/theme-panel/ui/button.tsx" }, { "path": "src/components/theme-panel/ui/tabs.tsx", "type": "registry:component", "target": "components/theme-panel/ui/tabs.tsx" }, { "path": "src/components/theme-panel/ui/slider.tsx", "type": "registry:component", "target": "components/theme-panel/ui/slider.tsx" }, { "path": "src/components/theme-panel/ui/primitives.tsx", "type": "registry:component", "target": "components/theme-panel/ui/primitives.tsx" }, { "path": "src/components/theme-panel/ui/index.ts", "type": "registry:lib", "target": "components/theme-panel/ui/index.ts" } ] }, { "name": "theme-ocean", "type": "registry:theme", "title": "Ocean theme", "description": "Cool blues with calm contrast. Compatible with the Theme Panel.", "cssVars": { "light": { "background": "oklch(0.99 0.01 240)", "foreground": "oklch(0.2 0.04 250)", "primary": "oklch(0.55 0.18 240)", "primary-foreground": "oklch(0.99 0 0)", "accent": "oklch(0.93 0.05 220)", "accent-foreground": "oklch(0.25 0.06 250)", "ring": "oklch(0.55 0.18 240)", "radius": "0.75rem" }, "dark": { "background": "oklch(0.16 0.03 250)", "foreground": "oklch(0.97 0.01 240)", "primary": "oklch(0.7 0.17 235)", "primary-foreground": "oklch(0.16 0.03 250)", "accent": "oklch(0.32 0.06 235)", "accent-foreground": "oklch(0.97 0.01 240)", "ring": "oklch(0.7 0.17 235)" } } }, { "name": "theme-violet", "type": "registry:theme", "title": "Violet theme", "description": "Vibrant purple, classic shadcn vibe.", "cssVars": { "light": { "primary": "oklch(0.55 0.22 280)", "primary-foreground": "oklch(0.99 0 0)", "accent": "oklch(0.94 0.04 290)", "accent-foreground": "oklch(0.3 0.08 280)", "ring": "oklch(0.55 0.22 280)", "radius": "0.5rem" }, "dark": { "primary": "oklch(0.7 0.2 280)", "primary-foreground": "oklch(0.14 0.02 280)", "accent": "oklch(0.34 0.08 285)", "accent-foreground": "oklch(0.98 0 0)", "ring": "oklch(0.7 0.2 280)" } } }, { "name": "theme-forest", "type": "registry:theme", "title": "Forest theme", "description": "Earthy greens with soft warmth.", "cssVars": { "light": { "primary": "oklch(0.5 0.15 150)", "primary-foreground": "oklch(0.99 0 0)", "accent": "oklch(0.92 0.06 130)", "accent-foreground": "oklch(0.28 0.06 150)", "ring": "oklch(0.5 0.15 150)", "radius": "0.875rem" }, "dark": { "primary": "oklch(0.7 0.16 145)", "primary-foreground": "oklch(0.16 0.02 150)", "accent": "oklch(0.32 0.05 140)", "accent-foreground": "oklch(0.97 0.01 140)", "ring": "oklch(0.7 0.16 145)" } } }, { "name": "theme-rose", "type": "registry:theme", "title": "Rose theme", "description": "Warm coral with soft neutrals.", "cssVars": { "light": { "primary": "oklch(0.62 0.21 18)", "primary-foreground": "oklch(0.99 0 0)", "accent": "oklch(0.93 0.05 25)", "accent-foreground": "oklch(0.3 0.06 20)", "ring": "oklch(0.62 0.21 18)", "radius": "1rem" }, "dark": { "primary": "oklch(0.72 0.19 18)", "primary-foreground": "oklch(0.15 0.02 20)", "accent": "oklch(0.34 0.07 22)", "accent-foreground": "oklch(0.98 0.005 20)", "ring": "oklch(0.72 0.19 18)" } } } ] }