Couleur sémantique vs couleur brute
Un jeton de couleur brute nomme la couleur elle-même : --blue-500, --gray-900. Un jeton sémantique nomme la fonction de la couleur : --primary, --background, --muted-foreground. Les composants peuvent alors ignorer les teintes littérales de la marque. Un bouton stylisé avec bg-primary text-primary-foreground fonctionnera avec du vert sauge, du rose vif ou un thème sombre car le rôle reste fixe tandis que sa valeur change.
C'est le modèle popularisé par shadcn/ui et celui sur lequel repose le thémage de Tailwind. Avec des jetons sémantiques, la refonte du thème d'une application peut se limiter à un seul bloc :root. Les classes codées en dur telles que bg-gray-900 et text-white transforment ce même changement en une recherche complexe dans toute la base de code.
La règle de couplage foreground
La plupart des rôles de base sont accompagnés d'un rôle -foreground associé pour le texte ou les icônes sur cette surface : --primary / --primary-foreground, --card / --card-foreground, --muted / --muted-foreground. Utilisez --primary-foreground sur --primary au lieu d'espérer que le foreground par défaut offre un contraste suffisant. Chaque paire doit tout de même être vérifiée dans les deux modes.
Les 28 rôles dont un système complet a besoin
Une palette minimale de trois couleurs laisse 25 décisions non définies : états de survol, texte atténué, bordures, anneaux de focus, séries de graphiques, mode sombre. Un système complet les nomme toutes. Les kits Identity Forge définissent ces 28 rôles, regroupés par fonction, pour le mode clair et sombre :
- Surfaces :
background/foreground,card/card-foreground,popover/popover-foreground. La page, les panneaux surélevés et les couches flottantes, chacune avec sa couleur de texte lisible. - Marque et emphase :
primary/primary-foreground,secondary/secondary-foreground,accent/accent-foreground. L'action principale, l'action secondaire et la mise en évidence. - Discret et neutre :
muted/muted-foreground. Arrière-plans atténués et texte secondaire. - État :
destructive/destructive-foreground,success/success-foreground,warning/warning-foreground. Erreurs, confirmations et avertissements. - Formulaire et focus :
border,input,ring. Séparateurs et contours, surfaces de champs de formulaire et indicateur de focus. - Données :
chart-1,chart-2,chart-3,chart-4,chart-5. Cinq couleurs de série distinctes respectant la marque pour que les graphiques ne se rabattent pas sur une palette par défaut générique.
Pourquoi cinq couleurs de graphique sont importantes
La visualisation de données est l'endroit où les systèmes sous-spécifiés échouent le plus visiblement : un tableau de bord avec trois couleurs de marque et un arc-en-ciel aléatoire pour son graphique à barres. Définir chart-1...5 en amont permet de maintenir les graphiques dans le même langage visuel que le reste de l'application.
Visualisez les rôles sur un kit réel
Ci-dessous se trouve le kit gratuit ambient-sage entièrement rendu à partir de ces jetons. La rangée d'échantillons contient --primary, --secondary, --accent et les cinq rôles de graphique ; le bouton utilise --primary avec --primary-foreground ; les surfaces utilisent --background, --card et --muted. Rien ici n'est une couleur codée en dur :
Ambient Sage
Live renderRendered from the kit's actual tokens, fonts, and treatments
Dashboard
Welcome back — here's how AmbientSage is performing today.
Active users
15.1k
+5%Trending up this month
vs. previous 30 days
MRR
$49.1k
+3%Strong recurring growth
Net of churn
Retention
89%
+2%Engagement above target
Rolling 28-day window
NPS
69
+3Meets growth projections
Survey · n=1,204
Total revenue
Last 12 months
$49.1k+18.2%
Recent sales
You closed 265 deals this month.
Alex Rivera
alex@ambientsage.com
Mira Okonkwo
mira@ambientsage.com
Jonas Feld
jonas@ambientsage.com
Sana Qureshi
sana@ambientsage.com
Theo Lindgren
theo@ambientsage.com
Recent transactions
View all| Customer | Status | Date | Amount |
|---|---|---|---|
AR Alex Rivera Founder & CEO | Paid | 2m ago | $1,999.00 |
MO Mira Okonkwo Head of Product | Pending | 1h ago | $39.00 |
JF Jonas Feld Design Lead | Processing | 3h ago | $299.00 |
SQ Sana Qureshi Engineering Lead | Paid | Yesterday | $99.00 |
TL Theo Lindgren Brand Director | Refunded | 2d ago | $2,400.00 |
Typography
Plus Jakarta Sans
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
Obtenez un ensemble complet de jetons
Vous pouvez définir les 28 rôles à la main, mais il est fastidieux de maintenir l'équilibre et l'accessibilité entre le mode clair et sombre. Chaque kit Identity Forge les fournit complets dans les deux modes, exportables en variables CSS, @theme Tailwind v3/v4, élément de registre shadcn, ou JSON DTCG/W3C. Le moyen le plus rapide d'intégrer un ensemble complet dans un projet shadcn/ui :
npx shadcn add https://identityforge.io/r/ambient-sage.jsonLes jetons constituent également la moitié d'un DESIGN.md : les valeurs auxquelles le brief écrit fait référence. Ensemble, ils sont ce que vous donnez à un agent de codage pour que son interface reste cohérente.
FAQ
Que sont les jetons de couleur sémantiques ?
Des variables de couleur nommées par rôle plutôt que par teinte : `--primary`, `--background`, `--muted-foreground` au lieu de `--blue-500`. Les composants se stylisent selon le nom du rôle, de sorte que changer de thème ou passer en mode sombre ne nécessite jamais de modifier les composants.
De combien de jetons de couleur un design system a-t-il besoin ?
Identity Forge utilise 28 rôles sémantiques : des surfaces avec leurs foregrounds, des rôles de marque et de neutralité, des couleurs d'état, des rôles de formulaire et cinq couleurs de graphique. Chaque rôle possède une valeur claire et sombre.
Quelle est la convention -foreground ?
La plupart des rôles de base sont couplés à un rôle `-foreground` pour le texte ou les icônes placés sur cette surface : `--primary` avec `--primary-foreground`. Ce couplage garantit un contraste lisible en mode clair et sombre sans tâtonnement.
Comment exporter un ensemble complet de jetons sémantiques ?
Chaque kit Identity Forge exporte ses 28 rôles (clair + sombre) en tant que variables CSS, @theme Tailwind v3/v4, élément de registre shadcn ou JSON DTCG/W3C. Pour shadcn/ui, `npx shadcn add https://identityforge.io/r/<slug>.json` les installe directement.