Alert Dialog
A modal dialog that interrupts the user with important content and expects a response.
export default function AlertDialogHero() { return ( <AlertDialog> <AlertDialogTrigger render={<Button variant="outline">Delete Account</Button>} /> <AlertDialogContent> <AlertDialogHeader> <AlertDialogMedia> <ExclamationMarkIcon /> </AlertDialogMedia> <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle> <AlertDialogDescription> This action cannot be undone. This will permanently delete your account and remove your data from our servers. </AlertDialogDescription> </AlertDialogHeader> <AlertDialogFooter> <AlertDialogCancel>Cancel</AlertDialogCancel> <AlertDialogAction variant="solid" theme="destructive"> Delete Account </AlertDialogAction> </AlertDialogFooter> </AlertDialogContent> </AlertDialog> ); }
Installation
pnpm dlx shadcn@latest add "https://ora-ui.com/r/alert-dialog.json"
Usage
import {
AlertDialog,
AlertDialogAction,
AlertDialogCancel,
AlertDialogContent,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogTrigger,
} from '@/registry/ui/alert-dialog';
<AlertDialog>
<AlertDialogTrigger render={<button>Open</button>} />
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
<AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancel</AlertDialogCancel>
<AlertDialogAction>Continue</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>;Examples
Default
A basic confirmation dialog with a title, description, and action buttons.
export default function AlertDialogDefault() { return ( <AlertDialog> <AlertDialogTrigger render={<Button variant="outline">Delete Account</Button>} /> <AlertDialogContent> <AlertDialogHeader> <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle> <AlertDialogDescription> This action cannot be undone. This will permanently delete your account and remove your data from our servers. </AlertDialogDescription> </AlertDialogHeader> <AlertDialogFooter> <AlertDialogCancel>Cancel</AlertDialogCancel> <AlertDialogAction variant="solid" theme="destructive"> Delete Account </AlertDialogAction> </AlertDialogFooter> </AlertDialogContent> </AlertDialog> ); }
With Icon
Use AlertDialogMedia to add a contextual icon in the header alongside the title and description.
export default function AlertDialogWithIcon() { return ( <AlertDialog> <AlertDialogTrigger render={<Button variant="outline">Delete Account</Button>} /> <AlertDialogContent> <AlertDialogHeader> <AlertDialogMedia> <ExclamationMarkIcon /> </AlertDialogMedia> <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle> <AlertDialogDescription> This action cannot be undone. This will permanently delete your account and remove your data from our servers. </AlertDialogDescription> </AlertDialogHeader> <AlertDialogFooter> <AlertDialogCancel>Cancel</AlertDialogCancel> <AlertDialogAction variant="solid" theme="destructive"> Delete Account </AlertDialogAction> </AlertDialogFooter> </AlertDialogContent> </AlertDialog> ); }
API Reference
For more information, see the Base UI Alert Dialog API Reference.