0Pricing
React Academy · Aula

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

  1. O que são tokens de design e por que são importantes
  2. Style Dictionary: transformando e gerando tokens
  3. Tokens no Tailwind, variáveis CSS e CSS-in-JS
  4. Arquitetura de tokens para múltiplos temas e marcas
← Voltar para React Academy