Arquitetura de tokens para múltiplos temas e marcas
Estruture tokens em uma hierarquia de níveis (primitivo, semântico e de componente) para oferecer suporte a temas claros, escuros e de várias marcas.
Arquitetura de tokens para múltiplos temas e marcas é uma aula grátis de React Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.
Tema versus marca
Um tema altera o modo de cor da mesma marca (versões clara e escura do mesmo produto). Uma marca é uma identidade visual diferente — os mesmos componentes do sistema de projeto são renderizados com cores, tipografia e espaçamento diferentes para atender a produtos ou clientes distintos. Ambos usam a mesma arquitetura de tokens, mas em níveis de abstração diferentes.
Camada de tokens primitivos
Os tokens primitivos são a paleta completa de valores brutos disponíveis para o sistema. Eles incluem cada variação de cor (color-blue-50 a color-blue-900), cada unidade de espaçamento e cada tamanho de fonte. Os tokens primitivos nunca são usados diretamente nos componentes — eles são apenas referenciados pelos tokens semânticos. A paleta é definida uma vez e compartilhada entre todos os temas e marcas.
Camada de tokens semânticos
Os tokens semânticos expressam uma intenção: color-background-page, color-text-primary, color-action-primary. Cada token semântico referencia um valor de token primitivo apropriado para o tema atual. Os componentes são criados exclusivamente com base nos tokens semânticos. É nesta camada que ocorre a tematização.
Mapeamentos semânticos do tema claro
No tema claro: color-background-page referencia color-white, color-text-primary referencia color-gray-900 e color-action-primary referencia color-blue-500. Esses mapeamentos são definidos em um arquivo de tokens específico do tema que substitui a camada semântica no contexto claro.
Mapeamentos semânticos do tema escuro
No tema escuro: color-background-page referencia color-gray-950, color-text-primary referencia color-gray-50 e color-action-primary referencia color-blue-400 (um pouco mais claro para oferecer contraste em fundos escuros). Apenas os mapeamentos semânticos mudam — a paleta primitiva e todos os componentes permanecem inalterados.
Substituições de marca
A marca A usa azul como cor primária (color-action-primary: {color-blue-500}). A marca B usa verde (color-action-primary: {color-green-500}). O componente de botão lê var(--color-action-primary) — ele não tem qualquer conhecimento de qual marca está ativa. As substituições de marca alteram apenas os mapeamentos dos tokens semânticos, nunca o código dos componentes.
Troca de tema em tempo de execução
As propriedades personalizadas CSS tornam trivial a troca de tema em tempo de execução. Armazene o tema atual em um atributo de dados: document.documentElement.setAttribute('data-theme', 'dark'). As regras CSS substituem os tokens semânticos sob [data-theme="dark"]. O navegador resolve imediatamente todas as referências var() para os novos valores — não é necessário renderizar novamente com JavaScript.
Tematização de marcas em tempo de compilação
Para marcas diferentes atendidas por implantações separadas, use a tematização em tempo de compilação: gere arquivos CSS de tokens separados por marca com o Style Dictionary e carregue o CSS da marca correta na inicialização da aplicação. Essa abordagem é adequada quando a marca é determinada no momento da implantação (domínios, subdomínios ou instâncias white label diferentes), não durante a interação do usuário.
Combinando marca e tema
Um sistema com várias marcas e vários temas exige uma matriz bidimensional: Marca A clara, Marca A escura, Marca B clara e Marca B escura. As propriedades personalizadas CSS lidam elegantemente com isso por meio de seletores aninhados: [data-brand="a"][data-theme="dark"] substitui os tokens semânticos para essa combinação específica. Quatro combinações são quatro blocos CSS, não quatro bases de código.
Versionamento e descontinuação de tokens
À medida que o sistema de projeto evolui, tokens são adicionados, renomeados ou removidos. Mantenha os tokens sob controle de versão no mesmo repositório do código. Ao descontinuar um token, mantenha o nome antigo como uma referência alternativa que aponta para o novo nome durante um ciclo de lançamento, adicione um comentário de descontinuação e atualize o código consumidor. Coordene as alterações nos tokens entre projeto e engenharia por meio de um registro de alterações estruturado.
Governança de tokens: quem é responsável pelos tokens
A governança define quem pode adicionar ou alterar tokens e qual processo de revisão é necessário. Tokens primitivos exigem a aprovação da equipe de projeto. Tokens semânticos exigem revisão das equipes de projeto e engenharia. Tokens de componentes podem ser gerenciados pelo responsável pelo componente. Sem essa governança, surgem tokens duplicados e a garantia de uma "fonte única da verdade" se enfraquece.
Diferença entre tokens semânticos e primitivos
Por que os componentes devem fazer referência a tokens semânticos em vez de tokens primitivos?
Recapitulação da lição
Os temas alteram os modos de cor dentro de uma marca; as marcas são identidades visuais diferentes. Os tokens primitivos são a paleta bruta; os tokens semânticos expressam significado e permitem a aplicação de temas. Os componentes usam apenas tokens semânticos. O modo escuro e as substituições de marca alteram apenas os mapeamentos dos tokens semânticos — os componentes permanecem inalterados. A aplicação de temas em tempo de execução usa propriedades personalizadas do CSS com seletores [data-theme]; a definição da marca em tempo de compilação gera um CSS separado para cada marca. A governança e o versionamento dos tokens mantêm o sistema consistente à medida que ele evolui.
Perguntas Frequentes
A aula “Arquitetura de tokens para múltiplos temas e marcas” é grátis?
Sim — o texto completo de “Arquitetura de tokens para múltiplos temas e marcas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.
O que vou aprender em “Arquitetura de tokens para múltiplos temas e marcas”?
Estruture tokens em uma hierarquia de níveis (primitivo, semântico e de componente) para oferecer suporte a temas claros, escuros e de várias marcas. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar React Academy?
Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Arquitetura de tokens para múltiplos temas e marcas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de React Academy?
Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que são tokens de design e por que são importantes
- Style Dictionary: transformando e gerando tokens
- Tokens no Tailwind, variáveis CSS e CSS-in-JS
- Arquitetura de tokens para múltiplos temas e marcas