Skip to content
Extensões

Cores semânticas

As cores semânticas ajudam a construir interfaces coesas e acessíveis, guiando a interpretação e interação do usuário. Use sempre estas variáveis nos componentes.

src/tokens/variables.cssAbrir no Figma

Estrutura

As cores semânticas seguem um padrão de nomenclatura que descreve categoria, camada, tipo e variante.

As cores semânticas seguem o padrão: --{categoria}-{camada}-{tipo}-{variante}

ParteOpçõesDescrição
Categoriatext, surface, border, iconO que a cor pinta
Camadabase, overlayContexto de uso
Tiponeutral, brand, error, success, warningIntenção semântica
Variantedefault, secondary, subtle, strong, on-blackNível de ênfase

Base vs Overlay

Duas camadas garantem contraste adequado em qualquer contexto de uso.

A camada base é usada em contextos normais (páginas, cards, formulários). A camada overlay é usada em elementos sobre backdrop (modais, drawers, popovers).

css
/* Página normal — use base */
.card {
  background: var(--surface-base-neutral-container-default);
  color: var(--text-base-neutral-default);
}

/* Modal sobre backdrop — use overlay */
.modal {
  background: var(--surface-overlay-neutral-container-default);
  color: var(--text-overlay-neutral-default);
}

Text

Cores para textos, labels e conteúdo escrito.

Text / Base / Neutral

--text-base-neutral-default--neutral-800
--text-base-neutral-secondary--neutral-600
--text-base-neutral-subtle--neutral-500
--text-base-neutral-white--neutral-100

Text / Base / Error

--text-base-error-default--red-500
--text-base-error-secondary--red-400
--text-base-error-on-black--red-200

Text / Base / Success

--text-base-success-default--green-500
--text-base-success-secondary--green-400
--text-base-success-on-black--green-200

Text / Base / Warning

--text-base-warning-default--yellow-500
--text-base-warning-secondary--yellow-300
--text-base-warning-on-black--yellow-200

Surface

Cores de fundo para páginas, containers e cards.

Surface / Base / Neutral

--surface-base-neutral-page-default--neutral-100
--surface-base-neutral-page-deep--neutral-200
--surface-base-neutral-container-default--neutral-100
--surface-base-neutral-container-deep--neutral-200
--surface-base-neutral-container-emphasis--neutral-300
--surface-base-neutral-container-hover--neutral-200

Surface / Base / Brand

--surface-base-brand-container-low--accent-200
--surface-base-brand-container-medium--accent-300
--surface-base-brand-container-high--accent-400

Surface / Base / Alert

--surface-base-alert-container-error--red-100
--surface-base-alert-container-warning--yellow-100
--surface-base-alert-container-success--green-100

Border

Cores para bordas, separadores e outlines.

Border / Base / Neutral

--border-base-neutral-default--neutral-400
--border-base-neutral-strong--neutral-500
--border-base-neutral-subtle--neutral-300
--border-base-neutral-on-black--neutral-600

Border / Base / Brand

--border-base-brand-default--accent-300

Border / Base / Error

--border-base-error-default--red-300
--border-base-error-strong--red-500
--border-base-error-subtle--red-200

Icon

Cores para ícones e elementos gráficos.

Icon / Base / Neutral

--icon-base-neutral-default--neutral-800
--icon-base-neutral-secondary--neutral-600
--icon-base-neutral-subtle--neutral-500
--icon-base-neutral-white--neutral-100

Icon / Base / Brand

--icon-base-brand-default--accent-300
--icon-base-brand-secondary--accent-500

Icon / Base / Success

--icon-base-success-default--green-300
--icon-base-success-secondary--green-500

Overlay

Tokens para elementos sobre backdrop (modais, drawers, popovers). Garantem contraste adequado em sobreposições.

Text overlay

Mesmas variantes do text base, mas otimizadas para contexto de overlay.

VariávelPrimitiva lightPrimitiva dark
--text-overlay-neutral-default--neutral-800--neutral-800
--text-overlay-neutral-secondary--neutral-600--neutral-700
--text-overlay-neutral-subtle--neutral-500--neutral-600
--text-overlay-neutral-white--neutral-100--neutral-800
--text-overlay-error-default--red-500--red-500
--text-overlay-error-secondary--red-400--red-400
--text-overlay-error-on-black--red-200--red-400
--text-overlay-success-default--green-500--green-500
--text-overlay-success-secondary--green-400--green-400
--text-overlay-success-on-black--green-200--green-300
--text-overlay-warning-default--yellow-500--yellow-400
--text-overlay-warning-secondary--yellow-300--yellow-300
--text-overlay-warning-on-black--yellow-200--yellow-500

Surface overlay

Fundos para modais, drawers e elementos sobre backdrop.

VariávelPrimitiva lightPrimitiva dark
--surface-overlay-neutral-backdrop--neutral-800--neutral-100
--surface-overlay-neutral-container-default--neutral-100--neutral-300
--surface-overlay-neutral-container-deep--neutral-200--neutral-500
--surface-overlay-neutral-container-emphasis--neutral-300--neutral-300
--surface-overlay-neutral-container-hover--neutral-200--neutral-500
--surface-overlay-neutral-container-default-on-black--neutral-800--neutral-200
--surface-overlay-neutral-container-hover-on-black--neutral-700--neutral-300
--surface-overlay-brand-container-low--accent-200--accent-200
--surface-overlay-brand-container-medium--accent-300--accent-300
--surface-overlay-brand-container-high--accent-400--accent-400
--surface-overlay-alert-container-error--red-100--red-100
--surface-overlay-alert-container-warning--yellow-100--yellow-100
--surface-overlay-alert-container-success--green-100--green-100

Border overlay

Bordas para elementos em contexto de overlay.

VariávelPrimitiva lightPrimitiva dark
--border-overlay-neutral-default--neutral-400--neutral-800
--border-overlay-neutral-strong--neutral-500--neutral-800
--border-overlay-neutral-subtle--neutral-300--neutral-400
--border-overlay-neutral-on-black--neutral-600--neutral-500
--border-overlay-brand-default--accent-300--accent-300
--border-overlay-error-default--red-300--red-300
--border-overlay-error-strong--red-500--red-400
--border-overlay-error-subtle--red-200--red-400

Icon overlay

Ícones em contexto de overlay.

VariávelPrimitiva lightPrimitiva dark
--icon-overlay-neutral-default--neutral-800--neutral-800
--icon-overlay-neutral-secondary--neutral-600--neutral-600
--icon-overlay-neutral-subtle--neutral-500--neutral-600
--icon-overlay-neutral-white--neutral-100--neutral-800
--icon-overlay-brand-default--accent-300--accent-300
--icon-overlay-brand-secondary--accent-500--accent-500
--icon-overlay-brand-on-black--accent-200--accent-400
--icon-overlay-error-default--red-300--red-300
--icon-overlay-error-secondary--red-500--red-400
--icon-overlay-error-on-black--red-200--red-300
--icon-overlay-success-default--green-300--green-300
--icon-overlay-success-secondary--green-500--green-500
--icon-overlay-success-on-black--green-200--green-400
--icon-overlay-warning-default--yellow-300--yellow-400
--icon-overlay-warning-secondary--yellow-500--yellow-500
--icon-overlay-warning-on-black--yellow-200--yellow-400

Tokens faltantes no base

Tokens base que não foram listados nas seções visuais acima.

Surface on-black

VariávelPrimitiva lightPrimitiva dark
--surface-base-neutral-container-default-on-black--neutral-800--neutral-200
--surface-base-neutral-container-hover-on-black--neutral-700--neutral-300

Icon base (complemento)

Icon / Base / Error

--icon-base-error-default--red-300
--icon-base-error-secondary--red-500
--icon-base-error-on-black--red-200

Icon / Base / Warning

--icon-base-warning-default--yellow-300
--icon-base-warning-secondary--yellow-500
--icon-base-warning-on-black--yellow-200
Nunca use cores primitivas (--accent-300) diretamente nos componentes. Use sempre a semântica (--text-base-neutral-default). Isso garante que o dark mode e o contraste em overlays funcionem automaticamente.

Design System interno do GALES