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
checkboxnativo com estado marcado, desmarcado ou misto (aria-checked="mixed"). - Tab foca; Espaço alterna.
isRequiredeisInvalidexpõemaria-requiredearia-invalid;FieldErrorvira 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
Evite
- 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
- Switch para configurações com efeito imediato.
- RadioButtonGroup para escolha única.
- TextField para outros campos de formulário.