CP Registry

Farben

Jedes Projekt definiert 11 semantische Farb-Tokens. Die Components nutzen ausschließlich diese Tokens — dadurch funktioniert ein einziges Design-System für beliebig viele Marken.

So funktioniert es

Statt Farben direkt in Components zu schreiben (z.B. bg-blue-500), verwenden wir semantische Namen wie bg-brand-primary. Das bedeutet: wechselt die Marke, ändern sich nur die Token-Werte in einer einzigen Datei — alle Components passen sich automatisch an.

Beispiel: Token-Definition in colors.css

@theme {
  --color-brand-primary: oklch(60% 0.2 260);    /* Blau */
  --color-brand-surface: oklch(99% 0 0);         /* Fast-Weiß */
  --color-brand-foreground: oklch(20% 0.02 260); /* Dunkles Grau */
  /* ... weitere Tokens */
}

Alle Brand-Tokens

Diese 11 Tokens müssen in jedem Projekt definiert werden. Fehlt ein Token, warnt das CLI-Tool automatisch.

Primary

--color-brand-primary

Hauptfarbe für Buttons, Links, Akzente. Der stärkste Wiedererkennungswert der Marke.

Tailwind: bg-brand-primary, text-brand-primary, border-brand-primary

Primary Hover

--color-brand-primary-hover

Hover-Zustand der Primary-Farbe. Etwas dunkler für sichtbares Feedback.

Tailwind: bg-brand-primary-hover, text-brand-primary-hover, border-brand-primary-hover

Secondary

--color-brand-secondary

Zweite Markenfarbe. Für weniger prominente Aktionen oder ergänzende Akzente.

Tailwind: bg-brand-secondary, text-brand-secondary, border-brand-secondary

Foreground

--color-brand-foreground

Standard-Textfarbe. Muss auf allen Surface-Farben gut lesbar sein (Kontrast >= 4.5:1).

Tailwind: bg-brand-foreground, text-brand-foreground, border-brand-foreground

Muted

--color-brand-muted

Dezenter Text für Hinweise, Platzhalter und sekundäre Informationen.

Tailwind: bg-brand-muted, text-brand-muted, border-brand-muted

Surface

--color-brand-surface

Seitenhintergrund. Meistens Weiß oder ein sehr helles Grau.

Tailwind: bg-brand-surface, text-brand-surface, border-brand-surface

Surface Alt

--color-brand-surface-alt

Alternativer Hintergrund für Cards, Sections und abgesetzte Bereiche.

Tailwind: bg-brand-surface-alt, text-brand-surface-alt, border-brand-surface-alt

Border

--color-brand-border

Linie für Rahmen, Trenner und Abgrenzungen zwischen Bereichen.

Tailwind: bg-brand-border, text-brand-border, border-brand-border

Destructive

--color-brand-destructive

Warnfarbe für Fehler, Löschen-Aktionen und kritische Zustande.

Tailwind: bg-brand-destructive, text-brand-destructive, border-brand-destructive

Success

--color-brand-success

Erfolgsfarbe für Bestätigungen und positive Status-Anzeigen.

Tailwind: bg-brand-success, text-brand-success, border-brand-success

Focus

--color-brand-focus

Farbe des Focus-Rings. Wichtig für Barrierefreiheit bei Tastaturnavigation.

Tailwind: bg-brand-focus, text-brand-focus, border-brand-focus

Farbformat: OKLCH

Alle Farben nutzen OKLCH statt Hex oder HSL. Der Vorteil: gleichmäßige Helligkeit über verschiedene Farbtone hinweg. Ein Blau mit 60% Lightness sieht genauso hell aus wie ein Gelb mit 60%. Das macht konsistentes Design deutlich einfacher.

OKLCH-Aufbau

oklch(Lightness% Chroma Hue)
  • Lightness (0-100%): Wie hell die Farbe ist
  • Chroma (0-0.4): Wie gesaettigt/bunt die Farbe ist
  • Hue (0-360): Der Farbton (0=Rot, 120=Grün, 240=Blau)