Alert
StablePrimitive de feedback para mensagens que permanecem no fluxo da página: informação ou falha que pede ação. Aceita ícone, título, descrição e uma ação compacta no canto. O papel de live region acompanha a variante — status para informação, alert para falha — e a variante destrutiva usa a superfície discreta da Foundation, não a cor sólida como texto.
Instalação
npx up-web-ds add alertPreview
Default
Destructive
npm run ds:icons:validate para ver qual.Without Icon
With Link
With Action
All states
Default
Destructive
npm run ds:icons:validate para ver qual.Without Icon
With Link
With Action
Usage
Props
Alert
Estende React.ComponentProps<'div'> & VariantProps<typeof alertVariants>. Aceita também os atributos padrão de um elemento React (280 não listados).
AlertTitle
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
AlertDescription
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
AlertAction
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
Composition
Ícone, título, descrição e ação são irmãos dentro do Alert; o ícone é um svg filho direto, e a ação ocupa o canto superior direito.
Metadata
Notas de acessibilidade
Leitor de tela verificado por teste: o papel de live region é uma decisão, não o padrão da origem. O shadcn punha role="alert" em todo alert, o que transforma uma nota informativa numa interrupção assertiva no momento em que ela aparece; aqui a variante default é role="status" (polida) e a destructive é role="alert" (assertiva, para a falha que pede ação — WCAG 2.2 SC 4.1.3), e o chamador pode passar o próprio role, como note para um callout estático. Nenhum dos dois é anunciado quando já está na página ao carregar, e isso é correto: conteúdo estático é lido na ordem do documento. O significado vive no título, nunca só na cor; o ícone é conteúdo do consumidor e entra com aria-hidden. Teclado verificado por teste: o alert em si não é alvo de foco; links da descrição e a ação do canto são alcançáveis por Tab, com outline visível no link. O exemplo dispensável devolve o foco ao controle que traz o aviso de volta, e vice-versa — remover o elemento focado deixaria o foco no body. Contraste: a variante destrutiva usa bg-destructive-subtle com text-destructive-subtle-foreground, par verificado em AA nos dois temas pelo teste da Foundation, porque a origem imprimia --destructive como texto, o par que cai abaixo de 4,5:1 num dos temas; a varredura axe do catálogo cobre light e dark. Touch verificado em viewport de 375px com emulação de toque: a ação do canto mede 24x24, no piso da política de interação do Up Web DS, o texto não passa por baixo dela porque o alert reserva o espaço à direita, e o conteúdo quebra linha sem rolagem horizontal. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — o alert não anima nem tem transição, então não há movimento a desligar.
Classificação
- Layer
- Primitive
- Domínio
- Domain-free (compartilhado)
- Categoria
- feedback
- Status
- Stable
Origem e distribuição
- Fonte
- shadcn registry / alert
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- class-variance-authority
- Ícones
- Nenhum
- Construído sobre
- Nenhum
- Usado por
- Nenhum ainda