Skip to Content

Radii

Interaction foundation · piloto

Cantos firmes comunicam confiança. No Pulso, radius é contrato estrutural, não decoração.

A referência visual do Open Design aponta a decisão correta para o Pulso v3: reduzir cantos excessivamente arredondados e manter um teto claro para superfícies. O contrato final, porém, vem de src/app/globals.css.

Princípio

Radii devem reforçar hierarquia e affordance sem deixar a interface “macia” demais para um cockpit de crise.

  • controles pequenos usam cantos menores;
  • superfícies maiores podem suavizar, mas não passam de 14px;
  • pills reais usam --radius-full;
  • foco de teclado é sempre visível e não depende apenas de cor.

Escala canônica

TokenValorUso
--radius-xs4pxChips, small toggles, detalhes compactos
--radius-sm6pxInputs, botões, controles padrão
--radius-md8pxCards, menus e containers recorrentes
--radius-lg10pxSuperfícies grandes e painéis destacados
--radius-xl14pxFeature surfaces; teto do sistema
--radius-full9999pxPills, avatares circulares e indicadores redondos
--radius--radius-mdAlias padrão para componentes que esperam token genérico

Teto de superfície

--radius-xl é o limite visual do sistema: 14px.

Esse teto evita que cards, modais e painéis pareçam promocionais ou lúdicos demais. Em Pulso, a confiança vem de estrutura, densidade e previsibilidade — não de cantos arredondados grandes.

SuperfícieRadius recomendado
Badge/chip--radius-xs ou --radius-full, conforme semântica
Input/button--radius-sm
Card de conteúdo--radius-md
Popover/menu--radius-md
Sheet/dialog--radius-lg
Feature panel--radius-xl

Focus ring

Todo elemento interativo precisa preservar foco visível para teclado.

TokenValorUso
--ring-width2pxEspessura do anel de foco
--ring-offset2pxRespiro entre controle e ring
--ringtema atualCor base do foco

O base layer aplica outline-color a partir de --ring. Componentes não devem remover outline sem substituir por affordance equivalente e acessível.

Do / Don’t

FaçaEvite
Use tokens de radius, não valores soltosrounded-[22px] em superfícies operacionais
Escolha radius por papel da superfícieMesmo radius para tudo
Preserve foco de teclado em todo controleoutline: none sem substituto
Use --radius-full apenas quando a forma for semanticamente pill/círculoTransformar todos os badges em pills por estética

Regras

  1. Nenhuma superfície operacional passa de --radius-xl.
  2. Inputs e botões usam --radius-sm salvo composição específica.
  3. Cards e menus usam --radius-md como default.
  4. Pills usam --radius-full; não simule pill com valor arbitrário.
  5. Focus ring é obrigatório para teclado e usa --ring-width, --ring-offset e --ring.
  6. Se uma superfície parecer “amigável” demais, reduza o radius antes de adicionar borda/sombra.
Last updated on