Pular para o conteúdo

Checkbox

Marca ou desmarca uma opção, sozinha ou em lista.

O Checkbox registra uma escolha que vale ao enviar um formulário ou uma seleção em lista, como aceitar os termos ou escolher etapas. Para efeito imediato, use Switch.

import { Checkbox } from "@rastreio-x/ui";

Padrão

O rótulo vai dentro de Checkbox.Content, depois de Checkbox.Control. Clicar no texto também marca.

Variantes

primary é o padrão; secondary tem menos ênfase e funciona melhor sobre superfícies como cartões.

Com descrição

Description acrescenta uma linha de apoio abaixo do rótulo.

Estados

Inválida

Combine isInvalid e isRequired com FieldError. A mensagem diz o que fazer, não só que há erro.

Indeterminada

Use isIndeterminate na caixa-mãe quando só parte dos filhos está marcada.

Anatomia

  • Checkbox.Content: a área clicável com o rótulo.
  • Checkbox.Control: a caixa.
  • Checkbox.Indicator: o traço de marcado ou indeterminado.

Propriedades

Animações

A caixa troca de cor e o traço é desenhado em cerca de 150 a 200 ms. Com prefers-reduced-motion (motion-reduce do tema e a folha global da fachada) o traço aparece sem animar.

Acessibilidade

  • Papel checkbox nativo com estado marcado, desmarcado ou misto (aria-checked="mixed").
  • Tab foca; Espaço alterna.
  • isRequired e isInvalid expõem aria-required e aria-invalid; FieldError vira a descrição do erro.
  • O nome acessível é o texto do rótulo; com rótulo externo, ligue por htmlFor.

Boas práticas

Faça

Rótulo afirmativo e específico: Avisar quando o Pedido atrasar.

Evite

Rótulo negativo ou duplo, como Não desejo deixar de receber avisos.
  • Escreva o rótulo de forma que marcado signifique ligado.
  • Não pré-marque aceite de termos; a pessoa precisa decidir.
  • Em listas longas, ofereça a caixa-mãe com estado indeterminado.
  • Para efeito imediato, prefira Switch.

Relacionados