Grab 30% off Pro with

LAUNCH

ends in

Buy now

Colours

Components read colours by name through useKit(), not by hex in each file. Change tokens once in KitProvider (or your kit-theme bridge) and every copied component follows.

One rule

Use the token: colors.accent, colors.mutedForeground. Avoid sprinkling literals in component files you own — those stop following the theme when you switch light / dark or rebrand.

Tokens

PropTypeDefault
background / foreground

Page fill and primary text.

stringkit default
card / cardForeground

Raised surfaces: inputs, cards, sheets, toasts.

stringkit default
muted / mutedForeground

Quiet fills and secondary copy.

stringkit default
border / input

Hairlines and field outlines.

stringkit default
primary / primaryForeground

Default solid buttons.

stringkit default
accent / accentForeground

Brand colour — focus rings, selection, accent buttons.

stringkit default
success / warning / danger

Status and validation.

stringkit default
overlay

Scrim behind sheets and dialogs.

stringkit default

Full defaults, radius, fonts and motion: Theming. Mapping from an existing design system: Bring your design system.

Brand accent

src/app/_layout.tsx
import { KitProvider } from "@/lib/kit"; <KitProvider accent="#6366f1" radius={14} scheme="system">  <Stack /></KitProvider>

accent drives focus rings, selected states and variant="accent" buttons. Light and dark each compute readable accentForeground for you.