Open GitHub repository

Docs

Theming

Components read standard token utilities. Map them onto CSS variables once, then retheme by editing the variables for light and dark.

Tokens

Components use utilities like bg-primary, text-muted-foreground, and border-border. Wire those to --ui-* custom properties with @theme inline:

@theme inline {
  --color-primary: var(--ui-primary);
  --color-primary-foreground: var(--ui-primary-fg);
  --color-border: var(--ui-border);
  --color-muted-foreground: var(--ui-muted-fg);
  /* … */
}

Light & dark

Define the variables on :root for light and .dark for dark. Toggling the dark class on <html> flips the whole UI.

:root {
  --ui-primary: #18181b;
  --ui-border: #e4e4e7;
}
.dark {
  --ui-primary: #fafafa;
  --ui-border: #27272a;
}

Because the design treatments (glass, neo, …) include their own dark: variants, they adapt automatically under the .dark class.