export interface Theme { name: string; label: string; cssVars: { light: Record; dark: Record; }; } export const themes: Theme[] = [ { name: "neutral", label: "Neutral", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.145 0 0)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.145 0 0)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.145 0 0)", primary: "oklch(0.205 0 0)", "primary-foreground": "oklch(0.985 0 0)", secondary: "oklch(0.97 0 0)", "secondary-foreground": "oklch(0.205 0 0)", muted: "oklch(0.97 0 0)", "muted-foreground": "oklch(0.556 0 0)", accent: "oklch(0.97 0 0)", "accent-foreground": "oklch(0.205 0 0)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.922 0 0)", input: "oklch(0.922 0 0)", ring: "oklch(0.708 0 0)", }, dark: { background: "oklch(0.145 0 0)", foreground: "oklch(0.985 0 0)", card: "oklch(0.205 0 0)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.205 0 0)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.922 0 0)", "primary-foreground": "oklch(0.205 0 0)", secondary: "oklch(0.269 0 0)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.269 0 0)", "muted-foreground": "oklch(0.708 0 0)", accent: "oklch(0.269 0 0)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.556 0 0)", }, }, }, { name: "blue", label: "Blue", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.488 0.243 264.376)", "primary-foreground": "oklch(0.97 0.014 254.604)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.708 0 0)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.488 0.243 264.376)", "primary-foreground": "oklch(0.97 0.014 254.604)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.556 0 0)", }, }, }, { name: "green", label: "Green", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.648 0.2 131.684)", "primary-foreground": "oklch(0.986 0.031 120.757)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.841 0.238 128.85)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.648 0.2 131.684)", "primary-foreground": "oklch(0.986 0.031 120.757)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.405 0.101 131.063)", }, }, }, { name: "orange", label: "Orange", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.646 0.222 41.116)", "primary-foreground": "oklch(0.98 0.016 73.684)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.75 0.183 55.934)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.705 0.213 47.604)", "primary-foreground": "oklch(0.98 0.016 73.684)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.408 0.123 38.172)", }, }, }, { name: "red", label: "Red", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.577 0.245 27.325)", "primary-foreground": "oklch(0.971 0.013 17.38)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.704 0.191 22.216)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.637 0.237 25.331)", "primary-foreground": "oklch(0.971 0.013 17.38)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.396 0.141 25.723)", }, }, }, { name: "rose", label: "Rose", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.586 0.253 17.585)", "primary-foreground": "oklch(0.969 0.015 12.422)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.712 0.194 13.428)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.645 0.246 16.439)", "primary-foreground": "oklch(0.969 0.015 12.422)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.41 0.159 10.272)", }, }, }, { name: "violet", label: "Violet", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.541 0.281 293.009)", "primary-foreground": "oklch(0.969 0.016 293.756)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.702 0.183 293.541)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.606 0.25 292.717)", "primary-foreground": "oklch(0.969 0.016 293.756)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.38 0.189 293.745)", }, }, }, { name: "yellow", label: "Yellow", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.852 0.199 91.936)", "primary-foreground": "oklch(0.421 0.095 57.708)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.852 0.199 91.936)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.795 0.184 86.047)", "primary-foreground": "oklch(0.421 0.095 57.708)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.421 0.095 57.708)", }, }, }, { name: "amber", label: "Amber", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.75 0.15 70)", "primary-foreground": "oklch(0.15 0.01 70)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.75 0.15 70)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.85 0.15 70)", "primary-foreground": "oklch(0.15 0.01 70)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.85 0.15 70)", }, }, }, { name: "cyan", label: "Cyan", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.55 0.22 200)", "primary-foreground": "oklch(0.98 0.01 200)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.55 0.22 200)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.65 0.22 200)", "primary-foreground": "oklch(0.15 0.01 200)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.65 0.22 200)", }, }, }, { name: "emerald", label: "Emerald", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.55 0.18 160)", "primary-foreground": "oklch(0.98 0.01 160)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.55 0.18 160)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.65 0.18 160)", "primary-foreground": "oklch(0.15 0.01 160)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.65 0.18 160)", }, }, }, { name: "fuchsia", label: "Fuchsia", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.6 0.25 320)", "primary-foreground": "oklch(0.98 0.01 320)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.6 0.25 320)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.7 0.25 320)", "primary-foreground": "oklch(0.15 0.01 320)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.7 0.25 320)", }, }, }, { name: "indigo", label: "Indigo", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.5 0.22 270)", "primary-foreground": "oklch(0.98 0.01 270)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.5 0.22 270)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.6 0.22 270)", "primary-foreground": "oklch(0.15 0.01 270)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.6 0.22 270)", }, }, }, { name: "lime", label: "Lime", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.75 0.2 120)", "primary-foreground": "oklch(0.2 0.01 120)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.75 0.2 120)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.8 0.2 120)", "primary-foreground": "oklch(0.2 0.01 120)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.8 0.2 120)", }, }, }, { name: "pink", label: "Pink", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.6 0.22 350)", "primary-foreground": "oklch(0.98 0.01 350)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.6 0.22 350)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.7 0.22 350)", "primary-foreground": "oklch(0.15 0.01 350)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.7 0.22 350)", }, }, }, { name: "purple", label: "Purple", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.55 0.25 280)", "primary-foreground": "oklch(0.98 0.01 280)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.55 0.25 280)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.65 0.25 280)", "primary-foreground": "oklch(0.15 0.01 280)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.65 0.25 280)", }, }, }, { name: "sky", label: "Sky", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.6 0.18 210)", "primary-foreground": "oklch(0.98 0.01 210)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.6 0.18 210)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.7 0.18 210)", "primary-foreground": "oklch(0.15 0.01 210)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.7 0.18 210)", }, }, }, { name: "teal", label: "Teal", cssVars: { light: { background: "oklch(1 0 0)", foreground: "oklch(0.141 0.005 285.823)", card: "oklch(1 0 0)", "card-foreground": "oklch(0.141 0.005 285.823)", popover: "oklch(1 0 0)", "popover-foreground": "oklch(0.141 0.005 285.823)", primary: "oklch(0.55 0.2 180)", "primary-foreground": "oklch(0.98 0.01 180)", secondary: "oklch(0.967 0.001 286.375)", "secondary-foreground": "oklch(0.21 0.006 285.885)", muted: "oklch(0.967 0.001 286.375)", "muted-foreground": "oklch(0.552 0.016 285.938)", accent: "oklch(0.967 0.001 286.375)", "accent-foreground": "oklch(0.21 0.006 285.885)", destructive: "oklch(0.577 0.245 27.325)", border: "oklch(0.92 0.004 286.32)", input: "oklch(0.92 0.004 286.32)", ring: "oklch(0.55 0.2 180)", }, dark: { background: "oklch(0.141 0.005 285.823)", foreground: "oklch(0.985 0 0)", card: "oklch(0.21 0.006 285.885)", "card-foreground": "oklch(0.985 0 0)", popover: "oklch(0.21 0.006 285.885)", "popover-foreground": "oklch(0.985 0 0)", primary: "oklch(0.65 0.2 180)", "primary-foreground": "oklch(0.15 0.01 180)", secondary: "oklch(0.274 0.006 286.033)", "secondary-foreground": "oklch(0.985 0 0)", muted: "oklch(0.274 0.006 286.033)", "muted-foreground": "oklch(0.705 0.015 286.067)", accent: "oklch(0.274 0.006 286.033)", "accent-foreground": "oklch(0.985 0 0)", destructive: "oklch(0.704 0.191 22.216)", border: "oklch(1 0 0 / 10%)", input: "oklch(1 0 0 / 15%)", ring: "oklch(0.65 0.2 180)", }, }, }, ].sort((a, b) => a.name.localeCompare(b.name)); export function applyTheme(themeName: string) { const theme = themes.find((t) => t.name === themeName) || themes[0]; const root = document.documentElement; const isDark = root.classList.contains("dark"); const vars = isDark ? theme.cssVars.dark : theme.cssVars.light; Object.entries(vars).forEach(([key, value]) => { root.style.setProperty(`--${key}`, value); }); }