Alert
Mensagem inline sobre o contexto da tela, com indicador de estado.
O Alert avisa sobre algo ligado ao que a pessoa está fazendo agora: um problema que exige correção, uma condição que muda o resultado ou uma informação importante. Para confirmar uma ação concluída use Toast; para erro de campo use FieldError.
import { Alert } from "@rastreio-x/ui";
Padrão
O alerta é composto: indicador, e um conteúdo com título e descrição. O indicador usa o ícone do estado por padrão.
Playground
Escolha o tom do alerta e edite o título para ver o resultado.
Estados
Cinco estados em status. Cor nunca é o único sinal: o título diz o que aconteceu e o indicador traz um ícone.
| Estado | Quando usar |
|---|---|
default | Informação neutra, sem urgência. |
accent | Informação relevante da ação em curso, como a prévia. |
success | Resultado positivo que a pessoa precisa ver na tela. |
warning | Condição que pede atenção, mas não bloqueia. |
danger | Problema que impede a ação até ser corrigido. |
Com ação
Coloque a ação à direita no desktop e abaixo do texto no celular. O botão leva a variante do estado.
Dispensável
Quando o aviso pode ser dispensado, ofereça um CloseButton com aria-label. Avisos de erro que bloqueiam a ação não devem ser dispensáveis.
Indicador próprio
Alert.Indicator aceita um ícone próprio quando o padrão do estado não descreve a situação, como uma tarefa em andamento.
Anatomia
Alert.Indicator: ícone do estado, decorativo.Alert.Content: coluna que agrupa título e descrição.Alert.Title: uma frase curta com o fato, em Title Case ou frase simples.Alert.Description: o que fazer ou por que importa; opcional.
Propriedades
Raiz (Alert):
Indicador (Alert.Indicator):
Animações
O Alert é estático: não anima entrada nem saída por conta própria. Se você o montar e desmontar com estado, aplique a transição na camada da tela e respeite prefers-reduced-motion.
Acessibilidade
- O
Alerté umdivsem papel próprio. Para avisos que surgem depois de uma ação, passerole="status"(informação) ourole="alert"(erro) para o leitor de tela anunciá-lo. - O ícone é decorativo (
aria-hidden): o estado precisa estar também no texto do título. CloseButtonexigearia-labele é focável por teclado.- Contraste do texto de estado a 4,5:1 nos dois temas, pelos tokens
*-text.
Boas práticas
Faça
Evite
- Mostre o alerta perto do que ele afeta, não no topo da página.
- Um alerta por problema; não empilhe cinco avisos da mesma causa.
- Use
dangersó quando algo está bloqueado;warningpara o que pede atenção. - Para resultado de uma ação rápida, prefira
Toast.