Design Tokens zijn benoemde entiteiten die specifieke ontwerpbeslissingen opslaan, zoals kleuren, lettertypen, afstanden, schaduwen en andere visuele eigenschappen. Ze vormen de fundamentele laag van een design system en fungeren als de single source of truth voor alle visuele elementen in een digitaal product of merk.
In plaats van hardcoded waarden zoals #FF5733 of 16px direct in code of designs te gebruiken, worden deze waarden opgeslagen als tokens met betekenisvolle namen zoals color-primary of spacing-medium. Dit maakt het mogelijk om ontwerpbeslissingen centraal te beheren en consistent toe te passen over verschillende platforms, applicaties en teams.
Structuur van Design Tokens
Design Tokens worden doorgaans georganiseerd in verschillende categorieën:
- Kleur tokens: Primaire kleuren, secundaire kleuren, achtergrondkleuren, tekstkleuren, statuskleuren
- Typografie tokens: Lettertypen, lettergroottes, lijnhoogtes, lettertypes gewichten
- Spacing tokens: Marges, padding, tussenruimtes tussen elementen
- Size tokens: Afmetingen voor iconen, knoppen, containers
- Border tokens: Border radius, border width, border styles
- Shadow tokens: Box shadows, text shadows, elevatie niveaus
- Animation tokens: Timing, easing functions, duration
Niveaus van Design Tokens
Design Tokens worden vaak georganiseerd in hiërarchische niveaus:
Global tokens (basis tokens): De meest fundamentele waarden zonder specifieke context, zoals color-blue-500: #0066CC of spacing-4: 16px.
Alias tokens (semantische tokens): Tokens die verwijzen naar global tokens maar met een specifieke betekenis, zoals color-primary: color-blue-500 of button-padding: spacing-4.
Component tokens: Tokens die specifiek zijn voor een component, zoals button-primary-background: color-primary.
Technische implementatie
Design Tokens worden meestal opgeslagen in platformonafhankelijke formaten zoals JSON, YAML of XML. Met behulp van tools zoals Style Dictionary, Theo of Design Tokens Format kunnen deze tokens worden getransformeerd naar verschillende output formaten:
- CSS/SCSS variabelen voor web
- Swift code voor iOS
- XML voor Android
- JavaScript/TypeScript objecten
- Design tool formaten (Figma, Sketch)
Dit zorgt ervoor dat dezelfde ontwerpbeslissingen consistent worden toegepast over alle platforms en tools.
