Skip to content
Extensões

Espaçamento

Todos os espaçamentos do sistema são múltiplos de 4px (exceção: 12px). Isso garante consistência visual e alinhamento perfeito em qualquer composição.

tokens/variables.cssAbrir no Figma

Micro espaçamentos

Usados dentro de componentes: padding, gap entre elementos, margens internas.

TokenpxremUso comum
--spacing-14px0.25remGap mínimo, padding ícone
--spacing-28px0.5remGap padrão entre elementos inline
--spacing-312px0.75remPadding interno de badges, chips
--spacing-416px1remPadding padrão de componentes
--spacing-520px1.25remPadding de cards, inputs
--spacing-624px1.5remGap entre grupos de campos
css
/* Exemplo: card com espaçamento micro */
.card {
  padding: var(--spacing-5);        /* 20px */
  gap: var(--spacing-3);            /* 12px */
}

.card-header {
  margin-bottom: var(--spacing-4);  /* 16px */
}

.badge {
  padding: var(--spacing-1) var(--spacing-2); /* 4px 8px */
}

Macro espaçamentos

Usados no layout: espaçamento entre seções, margens de página, separação de blocos.

TokenpxremUso comum
--spacing-732px2remGap entre cards, seções pequenas
--spacing-840px2.5remMargem entre seções
--spacing-948px3remPadding de seções
--spacing-1056px3.5remSeparação de blocos
--spacing-1164px4remMargem de página
--spacing-1272px4.5remEspaçamento de seções grandes
--spacing-1380px5remPadding hero/destaque
--spacing-1488px5.5remSeparação de áreas
--spacing-1596px6remMargem de página grande
--spacing-16120px7.5remEspaçamento máximo
css
/* Exemplo: layout de página com espaçamento macro */
.page {
  padding: var(--spacing-9);           /* 48px */
}

.section + .section {
  margin-top: var(--spacing-8);        /* 40px */
}

.page-header {
  margin-bottom: var(--spacing-7);     /* 32px */
}

Escala visual

A escala completa segue uma progressão que equilibra granularidade nos tamanhos menores com saltos maiores nos tamanhos grandes.

4 → 8 → 12 → 16 → 20 → 24 → 32 → 40 → 48 → 56 → 64 → 72 → 80 → 88 → 96 → 120
|    |     |    |    |    |    |    |    |    |    |    |    |    |    |     |
+4   +4   +4   +4   +4   +4   +8   +8   +8   +8   +8   +8   +8   +8   +8   +24
  • Dentro de um componente -- use micro (spacing-1 a spacing-6)
  • Entre componentes/seções -- use macro (spacing-7 a spacing-16)
  • Na dúvida, use --spacing-4 (16px / 1rem) como padrão

Aliases legado

Aliases de compatibilidade com componentes existentes. Mapeiam para os tokens numéricos.

AliasTokenValor
--spacing-xs--spacing-14px
--spacing-sm--spacing-28px
--spacing-md--spacing-416px
--spacing-lg--spacing-520px
--spacing-xl--spacing-624px
--spacing-2xl--spacing-732px
--spacing-3xl--spacing-840px
--spacing-4xl--spacing-948px
--spacing-5xl--spacing-1056px
--spacing-6xl--spacing-1164px
--spacing-7xl--spacing-1272px
--spacing-8xl--spacing-1380px
--spacing-9xl--spacing-1488px
--spacing-10xl--spacing-1596px
--spacing-11xl--spacing-16120px
Prefira os tokens numéricos (`--spacing-1` a `--spacing-16`) em código novo. Os aliases existem apenas para compatibilidade com componentes legado.

Border radius

Tokens de arredondamento de cantos.

TokenValorUso
--radius-none0Sem arredondamento
--radius-sm2pxElementos sutis
--radius-md8pxComponentes padrão (cards, inputs, modais)
--radius-lg10pxContainers maiores
--radius-full9999pxCírculos, pills, badges
css
.card {
  border-radius: var(--radius-md);  /* 8px */
}

.badge {
  border-radius: var(--radius-full); /* pill */
}

Sombras

Tokens de elevação para criar hierarquia visual.

TokenValorUso
--shadow-sm0 1px 2px 0 rgba(0,0,0,0.05)Elevação sutil (cards, inputs)
--shadow-md0 4px 6px -1px rgba(0,0,0,0.1), ...Elevação média (dropdowns)
--shadow-lg0 10px 15px -3px rgba(0,0,0,0.1), ...Elevação alta (modais, popovers)
--shadow-xl0 20px 25px -5px rgba(0,0,0,0.1), ...Elevação máxima (tooltips flutuantes)
css
.card {
  box-shadow: var(--shadow-sm);
}

.modal {
  box-shadow: var(--shadow-lg);
}

Transições

Tokens de duração para animações consistentes.

TokenValorUso
--transition-fast150ms ease-in-outHover, focus, estados rápidos
--transition-base200ms ease-in-outTransições padrão
--transition-slow300ms ease-in-outAbertura/fechamento de painéis
css
.button {
  transition: background-color var(--transition-fast);
}

.accordion-content {
  transition: height var(--transition-slow);
}

Z-index

Escala fixa de z-index para evitar conflitos de sobreposição.

TokenValorUso
--z-dropdown1000Dropdowns, selects
--z-sticky1020Headers fixos, sidebars
--z-fixed1030Elementos fixos
--z-modal-backdrop1040Overlay de modais
--z-modal1050Modais, drawers
--z-popover1060Popovers
--z-tooltip1070Tooltips
css
.dropdown-menu {
  z-index: var(--z-dropdown);
}

.modal-overlay {
  z-index: var(--z-modal-backdrop);
}

.modal {
  z-index: var(--z-modal);
}

Design System interno do GALES