Componentes
Alert Dialog
betaConfirma o que não tem volta. Não fecha ao clicar fora nem no Esc — a saída é sempre uma escolha explícita.
Ainda não é estável porque Pendência editorial: oQueE, quandoUsar, quandoNaoUsar; Rota não varrida pelo sensor. Ausência de medição não é aprovação. O contrato de maturidade explica o que cada requisito exige.
@voxmente/ui/components/ui/alert-dialog
<AlertDialog>
<AlertDialogTrigger render={<Button variant="destructive" />}>
Excluir turma?
</AlertDialogTrigger>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Excluir turma?</AlertDialogTitle>
<AlertDialogDescription>Essa ação não pode ser desfeita. Os dados da turma serão apagados permanentemente.</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancelar</AlertDialogCancel>
<AlertDialogAction variant="destructive">Excluir</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>Anatomia
AlertDialog
└─ AlertDialogTrigger
└─ AlertDialogContent
└─ AlertDialogHeader
└─ AlertDialogMedia
└─ AlertDialogTitle
└─ AlertDialogDescription
└─ AlertDialogFooter
└─ AlertDialogCancel
└─ AlertDialogActionExportadas, mas sem demonstração nesta página: AlertDialogOverlay, AlertDialogPortal.
Uso
Com ícone
Tamanho compacto
Cancelar com outra variante
Quando não usar
Alert dialog — “Excluir turma”, “Remover aluno da trilha”: uma resposta obrigatória antes de sumir da tela.
Dialog — “Editar turma”, “Convidar professor”: fecha ao clicar fora, porque abandonar não custa nada.
Referência da API
AlertDialogAction
| Prop | Tipo | Padrão |
|---|---|---|
| size | "md" | "xs" | "sm" | "lg" | "icon-md" | "icon-xs" | "icon-sm" | "icon-lg" | null | — |
| variant | "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | — |
Também aceita as props de Base UI e React, incluindo className e os atributos de DOM.
AlertDialogCancel
| Prop | Tipo | Padrão |
|---|---|---|
| size | "md" | "xs" | "sm" | "lg" | "icon-md" | "icon-xs" | "icon-sm" | "icon-lg" | null | "md" |
| variant | "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | "outline" |
Também aceita as props de Base UI e React, incluindo className e os atributos de DOM.
AlertDialogContent
| Prop | Tipo | Padrão |
|---|---|---|
| size | "md" | "sm" | "md" |
Também aceita as props de Base UI e React, incluindo className e os atributos de DOM.
AlertDialog, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger não têm props próprias — aceitam apenas as props herdadas, incluindo className e os atributos de DOM.
Pendência editorial: o que é, quando usar, quando não usar, acessibilidade, componentes relacionados, exemplo em contexto de produto. A lacuna aparece aqui em vez de ser preenchida com orientação inventada.
- Anatomia: exemplo desta página
- Demonstrações e playground: componente real de @voxmente/ui
- Referência da API: TypeScript do pacote
- Cor, espaçamento e raio das demonstrações: tokens de theme.css