Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
AI-powered design system generator that produces complete, tailored design systems from project requirements.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/semantic-tokens.md
1# Semantic Tokens23Purpose-based aliases referencing primitive tokens.45## Color Semantics67### Background & Foreground89```css10:root {11/* Page background */12--color-background: var(--color-gray-50);13--color-foreground: var(--color-gray-900);1415/* Card/surface background */16--color-card: white;17--color-card-foreground: var(--color-gray-900);1819/* Popover/dropdown */20--color-popover: white;21--color-popover-foreground: var(--color-gray-900);22}23```2425### Primary2627```css28:root {29--color-primary: var(--color-blue-600);30--color-primary-hover: var(--color-blue-700);31--color-primary-active: var(--color-blue-800);32--color-primary-foreground: white;33}34```3536### Secondary3738```css39:root {40--color-secondary: var(--color-gray-100);41--color-secondary-hover: var(--color-gray-200);42--color-secondary-foreground: var(--color-gray-900);43}44```4546### Muted4748```css49:root {50--color-muted: var(--color-gray-100);51--color-muted-foreground: var(--color-gray-500);52}53```5455### Accent5657```css58:root {59--color-accent: var(--color-gray-100);60--color-accent-foreground: var(--color-gray-900);61}62```6364### Destructive6566```css67:root {68--color-destructive: var(--color-red-600);69--color-destructive-hover: var(--color-red-700);70--color-destructive-foreground: white;71}72```7374### Status Colors7576```css77:root {78--color-success: var(--color-green-600);79--color-success-foreground: white;8081--color-warning: var(--color-yellow-500);82--color-warning-foreground: var(--color-gray-900);8384--color-error: var(--color-red-600);85--color-error-foreground: white;8687--color-info: var(--color-blue-500);88--color-info-foreground: white;89}90```9192### Border & Ring9394```css95:root {96--color-border: var(--color-gray-200);97--color-input: var(--color-gray-200);98--color-ring: var(--color-blue-500);99}100```101102## Spacing Semantics103104```css105:root {106/* Component internal spacing */107--spacing-component-xs: var(--space-1);108--spacing-component-sm: var(--space-2);109--spacing-component: var(--space-3);110--spacing-component-lg: var(--space-4);111112/* Section spacing */113--spacing-section-sm: var(--space-8);114--spacing-section: var(--space-12);115--spacing-section-lg: var(--space-16);116117/* Page margins */118--spacing-page-x: var(--space-4);119--spacing-page-y: var(--space-6);120}121```122123## Typography Semantics124125```css126:root {127/* Headings */128--font-heading: var(--font-size-2xl);129--font-heading-lg: var(--font-size-3xl);130--font-heading-xl: var(--font-size-4xl);131132/* Body */133--font-body: var(--font-size-base);134--font-body-sm: var(--font-size-sm);135--font-body-lg: var(--font-size-lg);136137/* Labels & Captions */138--font-label: var(--font-size-sm);139--font-caption: var(--font-size-xs);140}141```142143## Interactive States144145```css146:root {147/* Focus ring */148--ring-width: 2px;149--ring-offset: 2px;150--ring-color: var(--color-ring);151152/* Opacity for disabled */153--opacity-disabled: 0.5;154155/* Transitions */156--transition-colors: color, background-color, border-color;157--transition-transform: transform;158--transition-all: all;159}160```161162## Dark Mode Overrides163164```css165.dark {166--color-background: var(--color-gray-950);167--color-foreground: var(--color-gray-50);168169--color-card: var(--color-gray-900);170--color-card-foreground: var(--color-gray-50);171172--color-popover: var(--color-gray-900);173--color-popover-foreground: var(--color-gray-50);174175--color-muted: var(--color-gray-800);176--color-muted-foreground: var(--color-gray-400);177178--color-secondary: var(--color-gray-800);179--color-secondary-foreground: var(--color-gray-50);180181--color-accent: var(--color-gray-800);182--color-accent-foreground: var(--color-gray-50);183184--color-border: var(--color-gray-800);185--color-input: var(--color-gray-800);186}187```188189## Usage Patterns190191### Applying Semantic Tokens192193```css194/* Good - uses semantic tokens */195.card {196background: var(--color-card);197color: var(--color-card-foreground);198border: 1px solid var(--color-border);199}200201/* Bad - uses primitive tokens directly */202.card {203background: var(--color-gray-50);204color: var(--color-gray-900);205}206```207208### Theme Switching209210Semantic tokens enable instant theme switching:211212```js213// Toggle dark mode214document.documentElement.classList.toggle('dark');215```216