Primitivefeedback

Alert

Stable

Primitive 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 alert

Preview

Default

Item em normalização
O Question Card ainda está em revisão de tokens e testes. Ele só entra no registry de consumo depois de chegar a stable.

Destructive

Without Icon

Playwright não roda no CI
Execute a regressão completa localmente antes de abrir a PR.

With Action

Nova versão da CLI disponível
A 2.4 resolve ícones pelo registry. Atualize antes de instalar itens novos.

All states

Default

Item em normalização
O Question Card ainda está em revisão de tokens e testes. Ele só entra no registry de consumo depois de chegar a stable.

Destructive

Without Icon

Playwright não roda no CI
Execute a regressão completa localmente antes de abrir a PR.

With Link

Taxonomia atualizada
Layout agora é uma category, não um type. A lista completa está na página de ajuda.

With Action

Nova versão da CLI disponível
A 2.4 resolve ícones pelo registry. Atualize antes de instalar itens novos.

Usage

Imports de Alert
import {
  Alert,
  AlertDescription,
  AlertTitle,
} from '@/components/ui/alert'
import { InfoIcon } from 'lucide-react'
Alert
<Alert>
  <InfoIcon aria-hidden />
  <AlertTitle>Item em normalização</AlertTitle>
  <AlertDescription>
    O Question Card ainda está em revisão de tokens e testes. Ele só entra
    no registry de consumo depois de chegar a stable.
  </AlertDescription>
</Alert>

Props

Alert

Props de Alert
PropTypeDefaultDescription
variant"default" | "destructive" | null'default'

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.

Composição de Alert

Alert

  • AlertTitle
  • AlertDescription
  • AlertAction

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