Token di design

Come le convenzioni di denominazione semantica e i token di design creano un sistema di gestione dei temi flessibile e manutenibile.

Una delle fondamenta principali delle moderne librerie di componenti risiede nel loro approccio accurato allo styling. Piuttosto che codificare i colori in modo rigido o creare sistemi di classi rigidi, possiamo impiegare una convenzione di denominazione semantica che separa le responsabilità di tema, contesto e utilizzo.

Questa convenzione di denominazione semantica è nota come token di design. Questa decisione architetturale crea un sistema manutenibile e flessibile che si adatta perfettamente alle applicazioni.

La filosofia delle variabili CSS semantiche

Gli approcci tradizionali al CSS spesso accoppiano i valori di colore direttamente ai loro contesti di utilizzo, creando sistemi fragili difficili da mantenere. I token di design adottano un approccio diverso creando livelli di astrazione che separano cosa è qualcosa da come appare.

Comprendere l'architettura delle variabili

Esaminiamo come possiamo strutturare le nostre variabili CSS per creare questo sistema flessibile:

globals.css
@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
}

:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --primary: oklch(0.205 0 0);
  --primary-foreground: oklch(0.985 0 0);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --primary: oklch(0.922 0 0);
  --primary-foreground: oklch(0.205 0 0);
}

Nell'esempio sopra abbiamo quattro token di design:

  • --background, utilizzato per i colori di sfondo (principalmente lo sfondo della pagina)
  • --foreground, utilizzato per i colori in primo piano (il colore generale del testo)
  • --primary, utilizzato per i colori primari (il colore principale del marchio)
  • --primary-foreground, utilizzato per i colori del primo piano primari (il colore del testo, come appare sul colore primario)

On this page

GitHubEdit this page on GitHub