Zum Hauptinhalt springen
Version: latest

Design Tokens

Alle Designentscheidungen in prokodo UI werden als CSS Custom Properties unter dem --pk-*-Namespace ausgedrückt. Das System hat drei Ebenen:

  1. Primitive Palette (--pk-palette-*) — Rohe Hex-Werte; im Consumer-Code nicht direkt referenzieren
  2. Semantische Tokens (--pk-color-*, --pk-space-*, --pk-radius-*, …) — Rollen-basierte Aliase
  3. Komponenten-Tokens (--pk-input-*, --pk-select-*, …) — Überschreibpunkte pro Komponente

Globale Token-Definitionen einmalig im App-Root importieren:

import "@prokodo/ui/theme-tokens.css"
Tipp

theme-tokens.css enthält nur die geteilten --pk-* Custom Properties (Palette + semantische Ebene) — keine Komponenten-Styles. So bleibt dein Critical CSS Pfad klein. Komponenten-Styles werden pro Komponente über eigene CSS-Dateien geladen (z. B. @prokodo/ui/button.css), und diese Dateien liefern auch die jeweiligen --pk-<komponente>-* Tokens. Siehe Installation für Details.


Semantische Farben

Diese Tokens überschreibst du, um deine Marke anzuwenden.

Marke & Akzent

TokenStandard (Hell)Beschreibung
--pk-color-brand#1e90ffPrimäre Markenfarbe — Buttons, aktive Rahmen, Verläufe
--pk-color-brand-hover#64a1ffAufgehellte Marke im Hover
--pk-color-accent#00e6ffSekundärer Akzent — Verlauf-Endfarbe an interaktiven Komponenten
--pk-color-on-brand#ffffffVordergrundfarbe auf Marken-Hintergründen

Oberfläche & Vordergrund

TokenHellDunkelBeschreibung
--pk-color-bg#f5f5f5#121212Seitenhintergrund
--pk-color-fg#121212#f5f5f5Primärer Text / Icons
--pk-color-surface#ffffff#242424Karte, Input, Panel-Hintergrund
--pk-color-surface-raised#f5f5f5#2f2f2fErhöhte Oberfläche (Button-Standard)
--pk-color-border#9c9c9c#393939Trennlinien, Input-Rahmen
--pk-color-muted#4d4d4d#9c9c9cPlaceholder / sekundärer Label-Text

Status

TokenWertBeschreibung
--pk-color-success#20e381Erfolgsstatus
--pk-color-warning#f7b529Warnstatus
--pk-color-error#f0453aFehlerstatus

Abstände

TokenWertPixel
--pk-space-xs0.25rem4 px
--pk-space-sm0.5rem8 px
--pk-space-md0.75rem12 px
--pk-space-lg1rem16 px
--pk-space-xl1.5rem24 px
--pk-space-2xl2rem32 px

Eckenradien

TokenWertVerwendung
--pk-radius-sm5pxChips, Tags
--pk-radius-md0.75remKarten, Dialoge, Checkboxen
--pk-radius-lg2remPopovers, Bottom-Sheets
--pk-radius-pill1.5remInputs, Buttons, Select
--pk-radius-circle9999pxIcon-Buttons, Avatar, Tageszellen

Z-Index

TokenWertVerwendung
--pk-z-header2Fixierter Seitenkopf
--pk-z-nav999Navigations-Overlay
--pk-z-dropdown998Dropdowns / Menüs
--pk-z-modal-backdrop1300Modal-Hintergrund
--pk-z-modal1301Modal-Dialog
--pk-z-popover1400Popovers über Modals (DatePicker, Select, Tooltip)

Komponenten-Tokens

Jede Komponente exponiert eigene CSS Custom Properties. Im Design Tokens-Abschnitt jeder Komponenten-Seite sind die spezifischen Tokens dokumentiert.

Beispiel: Überschreiben

@import "@prokodo/ui/theme-tokens.css";

:root {
/* Marke anpassen */
--pk-color-brand: #0ea5e9;
--pk-color-accent: #f0abfc;

/* Eckradien */
--pk-radius-pill: 0.5rem;

/* DatePicker-Kalender schärfer */
--pk-dp-dialog-radius: 8px;
}

/* Select auf einer bestimmten Seite */
.mein-formular {
--pk-select-shadow: none;
}

Weitere Muster für Dark Mode und Scoped Overrides: Theming.