<!-- source-hash: 935e51d8951204b9160ca16e9245ae95 -->
Accessible alert dialog component built on Radix UI's `AlertDialogPrimitive`, providing a styled modal for confirmations and destructive actions that require explicit user acknowledgment.

## Key Components

| Export | Description |
|--------|-------------|
| `AlertDialog` | Root wrapper (re-export of Radix `Root`) |
| `AlertDialogTrigger` | Element that opens the dialog |
| `AlertDialogPortal` | Renders dialog outside the DOM tree |
| `AlertDialogOverlay` | Animated dark backdrop (`bg-black/80`) with fade in/out |
| `AlertDialogContent` | Centered modal panel with zoom/slide animations |
| `AlertDialogHeader` | Top section for title and description |
| `AlertDialogFooter` | Bottom action area, stacked on mobile / row on desktop |
| `AlertDialogTitle` | Semibold heading (`text-lg font-semibold`) |
| `AlertDialogDescription` | Muted supporting text (`text-sm text-muted-foreground`) |
| `AlertDialogAction` | Confirm button styled via `buttonVariants()` |
| `AlertDialogCancel` | Dismiss button using `buttonVariants({ variant: "outline" })` |

## Usage Example

```typescript
import {
  AlertDialog,
  AlertDialogTrigger,
  AlertDialogContent,
  AlertDialogHeader,
  AlertDialogTitle,
  AlertDialogDescription,
  AlertDialogFooter,
  AlertDialogAction,
  AlertDialogCancel,
} from "./alert-dialog"

export function DeleteConfirmation() {
  return (
    <AlertDialog>
      <AlertDialogTrigger>Delete Device</AlertDialogTrigger>
      <AlertDialogContent>
        <AlertDialogHeader>
          <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>
          <AlertDialogDescription>
            This will permanently remove the device from your fleet.
          </AlertDialogDescription>
        </AlertDialogHeader>
        <AlertDialogFooter>
          <AlertDialogCancel>Cancel</AlertDialogCancel>
          <AlertDialogAction onClick={handleDelete}>
            Continue
          </AlertDialogAction>
        </AlertDialogFooter>
      </AlertDialogContent>
    </AlertDialog>
  )
}
```

> All animations are driven by Radix `data-[state]` attributes, ensuring accessible open/close transitions with no extra state management required.