From 1bd209a4dbe555eab45a47d03d3fe6c819b5e753 Mon Sep 17 00:00:00 2001 From: shadcn Date: Mon, 31 Mar 2025 10:33:48 +0400 Subject: [PATCH] feat: add oklch colors to themes (#7090) * wip * feat: add oklch theme * fix: keys --- apps/www/app/(app)/themes/layout.tsx | 16 +- apps/www/components/theme-customizer.tsx | 605 ++++++++++++---------- apps/www/registry/registry-base-colors.ts | 547 +++++++++++++++++++ 3 files changed, 883 insertions(+), 285 deletions(-) diff --git a/apps/www/app/(app)/themes/layout.tsx b/apps/www/app/(app)/themes/layout.tsx index cbb27a03dd..e2763d3385 100644 --- a/apps/www/app/(app)/themes/layout.tsx +++ b/apps/www/app/(app)/themes/layout.tsx @@ -7,7 +7,8 @@ import { PageHeaderDescription, PageHeaderHeading, } from "@/components/page-header" -import { ThemeCustomizer } from "@/components/theme-customizer" +import { Customizer } from "@/components/theme-customizer" +import { Button } from "@/registry/new-york/ui/button" const title = "Add colors. Make it yours." const description = @@ -48,10 +49,17 @@ export default function ThemesLayout({ {title} {description} - - - +
+ New Theme Editor coming soon +
+
+
+
+ +
+
+
diff --git a/apps/www/components/theme-customizer.tsx b/apps/www/components/theme-customizer.tsx index a66a03d756..a454fb81b4 100644 --- a/apps/www/components/theme-customizer.tsx +++ b/apps/www/components/theme-customizer.tsx @@ -2,7 +2,7 @@ import * as React from "react" import template from "lodash/template" -import { Check, Copy, Moon, Repeat, Sun } from "lucide-react" +import { Check, ClipboardIcon, Copy } from "lucide-react" import { useTheme } from "next-themes" import { cn } from "@/lib/utils" @@ -21,6 +21,9 @@ import { import { Drawer, DrawerContent, + DrawerDescription, + DrawerHeader, + DrawerTitle, DrawerTrigger, } from "@/registry/new-york/ui/drawer" import { Label } from "@/registry/new-york/ui/label" @@ -29,15 +32,28 @@ import { PopoverContent, PopoverTrigger, } from "@/registry/new-york/ui/popover" +import { Separator } from "@/registry/new-york/ui/separator" import { Skeleton } from "@/registry/new-york/ui/skeleton" import { - Tooltip, - TooltipContent, - TooltipTrigger, -} from "@/registry/new-york/ui/tooltip" -import { BaseColor, baseColors } from "@/registry/registry-base-colors" + BaseColor, + baseColors, + baseColorsOKLCH, +} from "@/registry/registry-base-colors" import "@/styles/mdx.css" +import { toast } from "sonner" + +import { + Tabs, + TabsContent, + TabsList, + TabsTrigger, +} from "@/registry/new-york/ui/tabs" + +interface BaseColorOKLCH { + light: Record + dark: Record +} export function ThemeCustomizer() { const [config, setConfig] = useConfig() @@ -78,9 +94,9 @@ export function ThemeCustomizer() { ) } -function Customizer() { +export function Customizer() { const [mounted, setMounted] = React.useState(false) - const { setTheme: setMode, resolvedTheme: mode } = useTheme() + const { resolvedTheme: mode } = useTheme() const [config, setConfig] = useConfig() React.useEffect(() => { @@ -88,39 +104,11 @@ function Customizer() { }, []) return ( - -
-
-
- Theme Customizer -
-
- Customize your components colors. -
-
- -
-
-
- -
+ +
+
+ +
{baseColors .filter( (theme) => @@ -131,7 +119,7 @@ function Customizer() { return mounted ? ( ) : ( - + ) })}
-
- -
+ +
+ +
{["0", "0.3", "0.5", "0.75", "1.0"].map((value) => { return (
-
- -
- {mounted ? ( - <> - - - - ) : ( - <> - - - - )} -
+
+
) } -function CopyCodeButton({ +export function CopyCodeButton({ className, ...props }: React.ComponentProps) { - const [config] = useConfig() - const activeTheme = baseColors.find((theme) => theme.name === config.theme) - const [hasCopied, setHasCopied] = React.useState(false) - - React.useEffect(() => { - setTimeout(() => { - setHasCopied(false) - }, 2000) - }, [hasCopied]) - return ( <> - {activeTheme && ( - - )} + + + + + + + Theme + + Copy and paste the following code into your CSS file. + + + + + + + - @@ -280,28 +244,6 @@ function CopyCodeButton({ - {activeTheme && ( - - )} @@ -311,168 +253,269 @@ function CopyCodeButton({ function CustomizerCode() { const [config] = useConfig() - const activeTheme = baseColors.find((theme) => theme.name === config.theme) + const [hasCopied, setHasCopied] = React.useState(false) + const [themeVersion, setThemeVersion] = React.useState("v4") + const activeTheme = React.useMemo( + () => baseColors.find((theme) => theme.name === config.theme), + [config.theme] + ) + const activeThemeOKLCH = React.useMemo( + () => baseColorsOKLCH[config.theme as keyof typeof baseColorsOKLCH], + [config.theme] + ) + + React.useEffect(() => { + if (hasCopied) { + setTimeout(() => { + setHasCopied(false) + }, 2000) + } + }, [hasCopied]) return ( -
-
-          
-            @layer base {
-              :root {
-            
-                  --background:{" "}
-              {activeTheme?.cssVars.light["background"]};
-            
-            
-                  --foreground:{" "}
-              {activeTheme?.cssVars.light["foreground"]};
-            
-            {[
-              "card",
-              "popover",
-              "primary",
-              "secondary",
-              "muted",
-              "accent",
-              "destructive",
-            ].map((prefix) => (
-              <>
-                
-                      --{prefix}:{" "}
-                  {
-                    activeTheme?.cssVars.light[
-                      prefix as keyof typeof activeTheme.cssVars.light
-                    ]
-                  }
-                  ;
-                
-                
-                      --{prefix}-foreground:{" "}
-                  {
-                    activeTheme?.cssVars.light[
-                      `${prefix}-foreground` as keyof typeof activeTheme.cssVars.light
-                    ]
-                  }
-                  ;
-                
-              
-            ))}
-            
-                  --border:{" "}
-              {activeTheme?.cssVars.light["border"]};
-            
-            
-                  --input:{" "}
-              {activeTheme?.cssVars.light["input"]};
-            
-            
-                  --ring:{" "}
-              {activeTheme?.cssVars.light["ring"]};
-            
-            
-                  --radius: {config.radius}rem;
-            
-            {["chart-1", "chart-2", "chart-3", "chart-4", "chart-5"].map(
-              (prefix) => (
-                <>
-                  
-                        --{prefix}:{" "}
-                    {
-                      activeTheme?.cssVars.light[
-                        prefix as keyof typeof activeTheme.cssVars.light
-                      ]
-                    }
-                    ;
-                  
-                
+      
+        
+ + Tailwind v4 + v3 + + +
+ +
+
+              
+                 :root {
                 
-                      --{prefix}:{" "}
-                  {
-                    activeTheme?.cssVars.dark[
-                      prefix as keyof typeof activeTheme.cssVars.dark
-                    ]
-                  }
-                  ;
+                     --radius: {config.radius}rem;
                 
-                
-                      --{prefix}-foreground:{" "}
-                  {
-                    activeTheme?.cssVars.dark[
-                      `${prefix}-foreground` as keyof typeof activeTheme.cssVars.dark
-                    ]
-                  }
-                  ;
-                
-              
-            ))}
-            
-                  --border:{" "}
-              {activeTheme?.cssVars.dark["border"]};
-            
-            
-                  --input:{" "}
-              {activeTheme?.cssVars.dark["input"]};
-            
-            
-                  --ring:{" "}
-              {activeTheme?.cssVars.dark["ring"]};
-            
-            {["chart-1", "chart-2", "chart-3", "chart-4", "chart-5"].map(
-              (prefix) => (
-                <>
-                  
-                        --{prefix}:{" "}
-                    {
-                      activeTheme?.cssVars.dark[
-                        prefix as keyof typeof activeTheme.cssVars.dark
-                      ]
-                    }
-                    ;
+                {Object.entries(activeThemeOKLCH?.light).map(([key, value]) => (
+                  
+                       --{key}: {value};
                   
-                
-              )
-            )}
-              }
-            }
-          
-        
-
+ ))} +  } +   +  .dark { + {Object.entries(activeThemeOKLCH?.dark).map(([key, value]) => ( + +    --{key}: {value}; + + ))} +  } +
+
+
+ + +
+
+              
+                @layer base {
+                
+                    :root {
+                
+                
+                      --background:{" "}
+                  {activeTheme?.cssVars.light["background"]};
+                
+                
+                      --foreground:{" "}
+                  {activeTheme?.cssVars.light["foreground"]};
+                
+                {[
+                  "card",
+                  "popover",
+                  "primary",
+                  "secondary",
+                  "muted",
+                  "accent",
+                  "destructive",
+                ].map((prefix) => (
+                  <>
+                    
+                          --{prefix}:{" "}
+                      {
+                        activeTheme?.cssVars.light[
+                          prefix as keyof typeof activeTheme.cssVars.light
+                        ]
+                      }
+                      ;
+                    
+                    
+                          --{prefix}-foreground:{" "}
+                      {
+                        activeTheme?.cssVars.light[
+                          `${prefix}-foreground` as keyof typeof activeTheme.cssVars.light
+                        ]
+                      }
+                      ;
+                    
+                  
+                ))}
+                
+                      --border:{" "}
+                  {activeTheme?.cssVars.light["border"]};
+                
+                
+                      --input:{" "}
+                  {activeTheme?.cssVars.light["input"]};
+                
+                
+                      --ring:{" "}
+                  {activeTheme?.cssVars.light["ring"]};
+                
+                
+                      --radius: {config.radius}rem;
+                
+                {["chart-1", "chart-2", "chart-3", "chart-4", "chart-5"].map(
+                  (prefix) => (
+                    <>
+                      
+                            --{prefix}:{" "}
+                        {
+                          activeTheme?.cssVars.light[
+                            prefix as keyof typeof activeTheme.cssVars.light
+                          ]
+                        }
+                        ;
+                      
+                    
+                  )
+                )}
+                  }
+                 
+                
+                    .dark {
+                
+                
+                      --background:{" "}
+                  {activeTheme?.cssVars.dark["background"]};
+                
+                
+                      --foreground:{" "}
+                  {activeTheme?.cssVars.dark["foreground"]};
+                
+                {[
+                  "card",
+                  "popover",
+                  "primary",
+                  "secondary",
+                  "muted",
+                  "accent",
+                  "destructive",
+                ].map((prefix) => (
+                  <>
+                    
+                          --{prefix}:{" "}
+                      {
+                        activeTheme?.cssVars.dark[
+                          prefix as keyof typeof activeTheme.cssVars.dark
+                        ]
+                      }
+                      ;
+                    
+                    
+                          --{prefix}-foreground:{" "}
+                      {
+                        activeTheme?.cssVars.dark[
+                          `${prefix}-foreground` as keyof typeof activeTheme.cssVars.dark
+                        ]
+                      }
+                      ;
+                    
+                  
+                ))}
+                
+                      --border:{" "}
+                  {activeTheme?.cssVars.dark["border"]};
+                
+                
+                      --input:{" "}
+                  {activeTheme?.cssVars.dark["input"]};
+                
+                
+                      --ring:{" "}
+                  {activeTheme?.cssVars.dark["ring"]};
+                
+                {["chart-1", "chart-2", "chart-3", "chart-4", "chart-5"].map(
+                  (prefix) => (
+                    <>
+                      
+                            --{prefix}:{" "}
+                        {
+                          activeTheme?.cssVars.dark[
+                            prefix as keyof typeof activeTheme.cssVars.dark
+                          ]
+                        }
+                        ;
+                      
+                    
+                  )
+                )}
+                  }
+                }
+              
+            
+
+
+
) } -function getThemeCode(theme: BaseColor, radius: number) { +function getThemeCodeOKLCH(theme: BaseColorOKLCH | undefined, radius: number) { + if (!theme) { + return "" + } + + const rootSection = + ":root {\n --radius: " + + radius + + "rem;\n" + + Object.entries(theme.light) + .map((entry) => " --" + entry[0] + ": " + entry[1] + ";") + .join("\n") + + "\n}\n\n.dark {\n" + + Object.entries(theme.dark) + .map((entry) => " --" + entry[0] + ": " + entry[1] + ";") + .join("\n") + + "\n}\n" + + return rootSection +} + +function getThemeCode(theme: BaseColor | undefined, radius: number) { if (!theme) { return "" } return template(BASE_STYLES_WITH_VARIABLES)({ colors: theme.cssVars, - radius, + radius: radius.toString(), }) } diff --git a/apps/www/registry/registry-base-colors.ts b/apps/www/registry/registry-base-colors.ts index b3db7804ae..badbf61fa0 100644 --- a/apps/www/registry/registry-base-colors.ts +++ b/apps/www/registry/registry-base-colors.ts @@ -1102,3 +1102,550 @@ export const baseColorsV4 = { }, }, } as const + +export const baseColorsOKLCH = { + zinc: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 + card: "oklch(1 0 0)", // --color-zinc-50 + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 + popover: "oklch(1 0 0)", // --color-zinc-50 + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 + primary: "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "primary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 + ring: "oklch(0.705 0.015 286.067)", // --color-zinc-400 + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 + "sidebar-primary": "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "sidebar-primary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 + "sidebar-ring": "oklch(0.705 0.015 286.067)", // --color-zinc-400 + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 + foreground: "oklch(0.985 0 0)", // --color-zinc-50 + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + primary: "oklch(0.92 0.004 286.32)", // --color-zinc-200 + "primary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 + border: "oklch(1 0 0 / 10%)", // --color-white + input: "oklch(1 0 0 / 15%)", // --color-white + ring: "oklch(0.552 0.016 285.938)", // --color-zinc-500 + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + "sidebar-primary": "oklch(0.488 0.243 264.376)", // --color-blue-700 + "sidebar-primary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white + "sidebar-ring": "oklch(0.552 0.016 285.938)", // --color-zinc-500 + }, + }, + red: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "primary-foreground": "oklch(0.971 0.013 17.38)", // --color-red-50 (approx HSL 0 85.7% 97.3%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "sidebar-primary-foreground": "oklch(0.971 0.013 17.38)", // --color-red-50 (approx HSL 0 85.7% 97.3%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "primary-foreground": "oklch(0.971 0.013 17.38)", // --color-red-50 (approx HSL 0 85.7% 97.3%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + "sidebar-primary-foreground": "oklch(0.971 0.013 17.38)", // --color-red-50 (approx HSL 0 85.7% 97.3%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.637 0.237 25.331)", // --color-red-500 (approx HSL 0 72.2% 50.6%) + }, + }, + rose: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "primary-foreground": "oklch(0.969 0.015 12.422)", // --color-rose-50 (approx HSL 355.7 100% 97.3%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "sidebar-primary-foreground": "oklch(0.969 0.015 12.422)", // --color-rose-50 (approx HSL 355.7 100% 97.3%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "primary-foreground": "oklch(0.969 0.015 12.422)", // --color-rose-50 (approx HSL 355.7 100% 97.3%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + "sidebar-primary-foreground": "oklch(0.969 0.015 12.422)", // --color-rose-50 (approx HSL 355.7 100% 97.3%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.645 0.246 16.439)", // --color-rose-500 (approx HSL 346.8 77.2% 49.8%) + }, + }, + orange: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.705 0.213 47.604)", // --color-orange-500 (approx HSL 24.6 95% 53.1%) + "primary-foreground": "oklch(0.98 0.016 73.684)", // --color-orange-50 (approx HSL 60 9.1% 97.8%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.705 0.213 47.604)", // --color-orange-500 (approx HSL 24.6 95% 53.1%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.705 0.213 47.604)", // --color-orange-500 (approx HSL 24.6 95% 53.1%) + "sidebar-primary-foreground": "oklch(0.98 0.016 73.684)", // --color-orange-50 (approx HSL 60 9.1% 97.8%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.705 0.213 47.604)", // --color-orange-500 (approx HSL 24.6 95% 53.1%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.646 0.222 41.116)", // --color-orange-600 (approx HSL 20.5 90.2% 48.2%) + "primary-foreground": "oklch(0.98 0.016 73.684)", // --color-orange-50 (approx HSL 60 9.1% 97.8%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.646 0.222 41.116)", // --color-orange-600 (approx HSL 20.5 90.2% 48.2%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.646 0.222 41.116)", // --color-orange-600 (approx HSL 20.5 90.2% 48.2%) + "sidebar-primary-foreground": "oklch(0.98 0.016 73.684)", // --color-orange-50 (approx HSL 60 9.1% 97.8%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.646 0.222 41.116)", // --color-orange-600 (approx HSL 20.5 90.2% 48.2%) + }, + }, + green: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.723 0.219 149.579)", // --color-green-500 (approx HSL 142.1 76.2% 36.3%) + "primary-foreground": "oklch(0.982 0.018 155.826)", // --color-green-50 (approx HSL 355.7 100% 97.3%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.723 0.219 149.579)", // --color-green-500 (approx HSL 142.1 76.2% 36.3%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.723 0.219 149.579)", // --color-green-500 (approx HSL 142.1 76.2% 36.3%) + "sidebar-primary-foreground": "oklch(0.982 0.018 155.826)", // --color-green-50 (approx HSL 355.7 100% 97.3%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.723 0.219 149.579)", // --color-green-500 (approx HSL 142.1 76.2% 36.3%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.696 0.17 162.48)", // --color-emerald-500 (approx HSL 142.1 70.6% 45.3%) + "primary-foreground": "oklch(0.393 0.095 152.535)", // --color-green-900 (approx HSL 144.9 80.4% 10%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.527 0.154 150.069)", // --color-green-700 (approx HSL 142.4 71.8% 29.2%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (approx HSL 142.1 70.6% 45.3%) + "sidebar-primary-foreground": "oklch(0.393 0.095 152.535)", // --color-green-900 (approx HSL 144.9 80.4% 10%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.527 0.154 150.069)", // --color-green-700 (approx HSL 142.4 71.8% 29.2%) + }, + }, + blue: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.623 0.214 259.815)", // --color-blue-500 (approx HSL 221.2 83.2% 53.3%) + "primary-foreground": "oklch(0.97 0.014 254.604)", // --color-blue-50 (approx HSL 210 40% 98%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.623 0.214 259.815)", // --color-blue-500 (approx HSL 221.2 83.2% 53.3%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.623 0.214 259.815)", // --color-blue-500 (approx HSL 221.2 83.2% 53.3%) + "sidebar-primary-foreground": "oklch(0.97 0.014 254.604)", // --color-blue-50 (approx HSL 210 40% 98%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.623 0.214 259.815)", // --color-blue-500 (approx HSL 221.2 83.2% 53.3%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.546 0.245 262.881)", // --color-blue-600 (approx HSL 217.2 91.2% 59.8%) + "primary-foreground": "oklch(0.379 0.146 265.522)", // --color-blue-900 (approx HSL 222.2 47.4% 11.2%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.488 0.243 264.376)", // --color-blue-700 (approx HSL 224.3 76.3% 48%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.546 0.245 262.881)", // --color-blue-600 (approx HSL 217.2 91.2% 59.8%) + "sidebar-primary-foreground": "oklch(0.379 0.146 265.522)", // --color-blue-900 (approx HSL 222.2 47.4% 11.2%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.488 0.243 264.376)", // --color-blue-700 (approx HSL 224.3 76.3% 48%) + }, + }, + yellow: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + "primary-foreground": "oklch(0.421 0.095 57.708)", // --color-yellow-900 (approx HSL 26 83.3% 14.1%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + "sidebar-primary-foreground": "oklch(0.421 0.095 57.708)", // --color-yellow-900 (approx HSL 26 83.3% 14.1%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + "primary-foreground": "oklch(0.421 0.095 57.708)", // --color-yellow-900 (approx HSL 26 83.3% 14.1%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.554 0.135 66.442)", // --color-yellow-700 (approx HSL 35.5 91.7% 32.9%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.795 0.184 86.047)", // --color-yellow-500 (approx HSL 47.9 95.8% 53.1%) + "sidebar-primary-foreground": "oklch(0.421 0.095 57.708)", // --color-yellow-900 (approx HSL 26 83.3% 14.1%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.554 0.135 66.442)", // --color-yellow-700 (approx HSL 35.5 91.7% 32.9%) + }, + }, + violet: { + light: { + background: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + foreground: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + card: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "card-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + popover: "oklch(1 0 0)", // --color-zinc-50 (from zinc) + "popover-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + primary: "oklch(0.606 0.25 292.717)", // --color-violet-500 (approx HSL 262.1 83.3% 57.8%) + "primary-foreground": "oklch(0.969 0.016 293.756)", // --color-violet-50 (approx HSL 210 20% 98%) + secondary: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "secondary-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + muted: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "muted-foreground": "oklch(0.552 0.016 285.938)", // --color-zinc-500 (from zinc) + accent: "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + destructive: "oklch(0.577 0.245 27.325)", // --color-red-600 (from zinc) + border: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + input: "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + ring: "oklch(0.606 0.25 292.717)", // --color-violet-500 (approx HSL 262.1 83.3% 57.8%) + "chart-1": "oklch(0.646 0.222 41.116)", // --color-orange-600 (from zinc) + "chart-2": "oklch(0.6 0.118 184.704)", // --color-teal-600 (from zinc) + "chart-3": "oklch(0.398 0.07 227.392)", // --color-cyan-900 (from zinc) + "chart-4": "oklch(0.828 0.189 84.429)", // --color-amber-400 (from zinc) + "chart-5": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + sidebar: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-foreground": "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + "sidebar-primary": "oklch(0.606 0.25 292.717)", // --color-violet-500 (approx HSL 262.1 83.3% 57.8%) + "sidebar-primary-foreground": "oklch(0.969 0.016 293.756)", // --color-violet-50 (approx HSL 210 20% 98%) + "sidebar-accent": "oklch(0.967 0.001 286.375)", // --color-zinc-100 (from zinc) + "sidebar-accent-foreground": "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-border": "oklch(0.92 0.004 286.32)", // --color-zinc-200 (from zinc) + "sidebar-ring": "oklch(0.606 0.25 292.717)", // --color-violet-500 (approx HSL 262.1 83.3% 57.8%) + }, + dark: { + background: "oklch(0.141 0.005 285.823)", // --color-zinc-950 (from zinc) + foreground: "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + card: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "card-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + popover: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "popover-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + primary: "oklch(0.541 0.281 293.009)", // --color-violet-600 (approx HSL 263.4 70% 50.4%) + "primary-foreground": "oklch(0.969 0.016 293.756)", // --color-violet-50 (approx HSL 210 20% 98%) + secondary: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "secondary-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + muted: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "muted-foreground": "oklch(0.705 0.015 286.067)", // --color-zinc-400 (from zinc) + accent: "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + destructive: "oklch(0.704 0.191 22.216)", // --color-red-400 (from zinc) + border: "oklch(1 0 0 / 10%)", // --color-white (from zinc) + input: "oklch(1 0 0 / 15%)", // --color-white (from zinc) + ring: "oklch(0.541 0.281 293.009)", // --color-violet-600 (approx HSL 263.4 70% 50.4%) + "chart-1": "oklch(0.488 0.243 264.376)", // --color-blue-700 (from zinc) + "chart-2": "oklch(0.696 0.17 162.48)", // --color-emerald-500 (from zinc) + "chart-3": "oklch(0.769 0.188 70.08)", // --color-amber-500 (from zinc) + "chart-4": "oklch(0.627 0.265 303.9)", // --color-purple-500 (from zinc) + "chart-5": "oklch(0.645 0.246 16.439)", // --color-rose-500 (from zinc) + sidebar: "oklch(0.21 0.006 285.885)", // --color-zinc-900 (from zinc) + "sidebar-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-primary": "oklch(0.541 0.281 293.009)", // --color-violet-600 (approx HSL 263.4 70% 50.4%) + "sidebar-primary-foreground": "oklch(0.969 0.016 293.756)", // --color-violet-50 (approx HSL 210 20% 98%) + "sidebar-accent": "oklch(0.274 0.006 286.033)", // --color-zinc-800 (from zinc) + "sidebar-accent-foreground": "oklch(0.985 0 0)", // --color-zinc-50 (from zinc) + "sidebar-border": "oklch(1 0 0 / 10%)", // --color-white (from zinc) + "sidebar-ring": "oklch(0.541 0.281 293.009)", // --color-violet-600 (approx HSL 263.4 70% 50.4%) + }, + }, +}