Installation
Complete project setup first. Your configuration
must select react/radix and include your Design System ID.
pnpm exec frontfriend download alert-dialog -f react --primitive radixReview dependencies reported by the downloader and keep your source changes in version control.
Usage
import {
AlertDialog,
AlertDialogTrigger,
AlertDialogContent,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogCancel,
AlertDialogAction,
} from "@/components/ui/alert-dialog";
import { Button } from "@/components/ui/button";
<AlertDialog>
<AlertDialogTrigger asChild>
<Button variant="tertiary">Show Dialog</Button>
</AlertDialogTrigger>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Leaving Page</AlertDialogTitle>
<AlertDialogDescription>
You are about to leave this page. Any unsaved changes will be lost. Do
you wish to proceed?
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancel</AlertDialogCancel>
<AlertDialogAction variant="main">
Continue
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>; Examples
Default
import {
AlertDialog,
AlertDialogTrigger,
AlertDialogContent,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogCancel,
AlertDialogAction,
} from "@/components/ui/alert-dialog";
import { Button } from "@/components/ui/button";
<AlertDialog>
<AlertDialogTrigger asChild>
<Button variant="tertiary">Show Dialog</Button>
</AlertDialogTrigger>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Leaving Page</AlertDialogTitle>
<AlertDialogDescription>
You are about to leave this page. Any unsaved changes will be lost. Do
you wish to proceed?
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancel</AlertDialogCancel>
<AlertDialogAction variant="main">
Continue
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>; Destructive
import {
AlertDialog,
AlertDialogTrigger,
AlertDialogContent,
AlertDialogHeader,
AlertDialogTitle,
AlertDialogDescription,
AlertDialogFooter,
AlertDialogCancel,
AlertDialogAction,
} from "@/components/ui/alert-dialog";
import { Button } from "@/components/ui/button";
<AlertDialog>
<AlertDialogTrigger asChild>
<Button variant="tertiary">Show Dialog</Button>
</AlertDialogTrigger>
<AlertDialogContent>
<AlertDialogHeader>
<AlertDialogTitle>Delete Account</AlertDialogTitle>
<AlertDialogDescription>
Are you sure you want to delete your account? This action cannot be
undone.
</AlertDialogDescription>
</AlertDialogHeader>
<AlertDialogFooter>
<AlertDialogCancel>Cancel</AlertDialogCancel>
<AlertDialogAction variant="destructive">
Delete
</AlertDialogAction>
</AlertDialogFooter>
</AlertDialogContent>
</AlertDialog>; API reference
Frontfriend-owned props. Native HTML and inherited primitive props remain documented by Radix UI.
AlertDialogAction
| Prop | Type | Default | Description |
|---|---|---|---|
size | React.ComponentProps<typeof Button>["size"] | "default" | |
variant | "default" | "main" | "destructive" | "default" |
AlertDialogCancel
| Prop | Type | Default | Description |
|---|---|---|---|
size | React.ComponentProps<typeof Button>["size"] | "default" | |
variant | "outline" | "tertiary" | "outline" |
AlertDialogContent
| Prop | Type | Default | Description |
|---|---|---|---|
size | "default" | "sm" | "default" |
Configuration determines the actual classes and available styling hooks. See Theming & component configuration before introducing a repeated local override.