componentes / feedback
Alert
Uma linha de log estilo terminal para informação, sucesso, aviso ou erro.
alert-default.tsx
import { Alert, AlertAction, AlertDescription, AlertTitle } from "@/components/ui/alert";
import { Button } from "@/components/ui/button";
export default function AlertDefault() {
return (
<div className="flex w-full max-w-xl flex-col gap-2">
<Alert variant="info" time="09:41:07">
<AlertTitle>deploy queued</AlertTitle>
<AlertDescription>build 482 waits behind 2 others</AlertDescription>
</Alert>
<Alert variant="success" time="09:41:52">
<AlertTitle>deploy finished</AlertTitle>
<AlertDescription>live on cd-ui.dev in 38s</AlertDescription>
</Alert>
<Alert variant="warn" time="09:42:15">
<AlertTitle>disk almost full</AlertTitle>
<AlertDescription>14 GB left on /dev/sda1</AlertDescription>
<AlertAction>
<Button size="sm" variant="outline">
Clean up
</Button>
</AlertAction>
</Alert>
<Alert variant="error" tag="fatal" time="09:43:01">
<AlertTitle>payment failed</AlertTitle>
<AlertDescription>card declined, retry in 3 attempts</AlertDescription>
</Alert>
</div>
);
}Instalação
$ npx shadcn@latest add https://cd-ui.vercel.app/r/alert.jsonprimeira vez? configure o components.json e o tema antes: veja instalação.
Uso
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"
<Alert variant="warn">
<AlertTitle>disk almost full</AlertTitle>
<AlertDescription>14 GB left on /dev/sda1</AlertDescription>
</Alert>API
Alert
Uma linha de log: [tag] hora título - descrição, com uma linha colorida à esquerda. Um ícone colocado direto dentro é permitido. Componente de servidor.
| prop | tipo | padrão |
|---|---|---|
variantNível. | "info" | "success" | "warn" | "error" | "info" |
tagTexto do selo de nível. Por padrão, o nome do nível. | ReactNode | variant name |
timeHorário opcional mostrado depois do selo. | ReactNode | - |
classNameClasses extras, mescladas com | string | - |
AlertTitle · AlertDescription · AlertAction
AlertTitle e AlertDescription dividem a linha, unidos por um traço. AlertAction fixa um botão ou link na ponta direita.
| prop | tipo | padrão |
|---|---|---|
classNameClasses extras, mescladas com | string | - |
Acessibilidade
warneerrorusamrole="alert", anunciado na hora.infoesuccessusamrole="status", anunciado com calma. Passerolepara trocar.