Semântico vs cor bruta
Um token de cor bruta nomeia a própria cor: --blue-500, --gray-900. Um token semântico nomeia o trabalho que a cor realiza: --primary, --background, --muted-foreground. Os componentes podem, então, ignorar os matizes literais da marca. Um botão estilizado com bg-primary text-primary-foreground funciona com verde sálvia, rosa choque ou um tema escuro porque a função permanece fixa enquanto seu valor muda.
Este é o modelo que o shadcn/ui popularizou e sobre o qual a tematização do Tailwind é construída. Com tokens semânticos, a re-tematização de um app pode ser limitada a um único bloco :root. Classes fixas como bg-gray-900 e text-white transformam essa mesma mudança em uma busca por todo o código.
A regra de pareamento foreground
A maioria das funções base vem com uma função -foreground pareada para texto ou ícones naquela superfície: --primary / --primary-foreground, --card / --card-foreground, --muted / --muted-foreground. Use --primary-foreground sobre --primary em vez de esperar que o foreground padrão tenha contraste suficiente. Cada par ainda deve ser verificado em ambos os modos.
As 28 funções que um sistema completo precisa
Uma paleta mínima de três cores deixa 25 decisões indefinidas: estados de hover, texto suave, bordas, anéis de foco, séries de gráficos, modo escuro. Um sistema completo nomeia todas elas. Os kits do Identity Forge definem essas 28 funções, agrupadas pelo que fazem, para os modos claro e escuro:
- Superfícies:
background/foreground,card/card-foreground,popover/popover-foreground. A página, painéis elevados e camadas flutuantes, cada uma com sua cor de texto legível. - Marca e ênfase:
primary/primary-foreground,secondary/secondary-foreground,accent/accent-foreground. A ação principal, a de suporte e o destaque. - Suave e neutro:
muted/muted-foreground. Fundos suaves e texto secundário. - Estado:
destructive/destructive-foreground,success/success-foreground,warning/warning-foreground. Erros, confirmações e avisos. - Formulário e foco:
border,input,ring. Divisores e contornos, superfícies de campos de formulário e o indicador de foco. - Dados:
chart-1,chart-2,chart-3,chart-4,chart-5. Cinco cores de série distintas e alinhadas à marca para que os gráficos não recorram a uma paleta padrão genérica.
Por que cinco cores de gráfico importam
A visualização de dados é onde sistemas mal especificados quebram de forma mais visível: um dashboard com três cores de marca e um arco-íris aleatório em seu gráfico de barras. Definir chart-1...5 antecipadamente mantém os gráficos dentro da mesma linguagem visual do restante do app.
Veja as funções em um kit real
Abaixo está o kit gratuito ambient-sage renderizado inteiramente a partir desses tokens. A linha de amostras é --primary, --secondary, --accent e as cinco funções de gráfico; o botão usa --primary com --primary-foreground; as superfícies usam --background, --card e --muted. Nada aqui é uma cor fixa:
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
Obtenha um conjunto completo de tokens
Você pode definir todas as 28 funções manualmente, mas é tedioso manter o equilíbrio e a acessibilidade entre os modos claro e escuro. Cada kit do Identity Forge já as envia completas em ambos os modos, exportáveis como variáveis CSS, Tailwind v3/v4 @theme, um item de registro shadcn ou DTCG/W3C JSON. A maneira mais rápida de inserir um conjunto completo em um projeto shadcn/ui:
npx shadcn add https://identityforge.io/r/ambient-sage.jsonOs tokens também são metade de um DESIGN.md: os valores que o briefing escrito referencia. Juntos, eles são o que você fornece a um agente de codificação para que a UI dele permaneça coerente.
FAQ
O que são tokens de cores semânticas?
Variáveis de cor nomeadas por função em vez de matiz: `--primary`, `--background`, `--muted-foreground` em vez de `--blue-500`. Os componentes são estilizados com base no nome da função, então alterar temas ou mudar para o modo escuro nunca exige a edição dos componentes.
Quantos tokens de cores um design system precisa?
O Identity Forge usa 28 funções semânticas: superfícies com seus foregrounds, funções de marca e suaves, cores de estado, funções de formulário e cinco cores de gráfico. Cada função tem um valor claro e um escuro.
Qual é a convenção -foreground?
A maioria das funções base é pareada com uma função `-foreground` para o texto ou ícones colocados naquela superfície: `--primary` com `--primary-foreground`. O pareamento garante contraste legível tanto no modo claro quanto no escuro, sem adivinhações.
Como eu exporto um conjunto completo de tokens semânticos?
Cada kit do Identity Forge exporta suas 28 funções (claro + escuro) como variáveis CSS, Tailwind v3/v4 @theme, um item de registro shadcn ou DTCG/W3C JSON. Para shadcn/ui, `npx shadcn add https://identityforge.io/r/<slug>.json` instala-os diretamente.