Alert Dialog
basecn/alert-dialogFreeComponent
A dialog that requires user response to proceed.
Live preview
live · rendered by the registry
Rendered by basecn on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://basecn.dev/r/alert-dialog.jsonSource
1"use client";23import * as React from "react";4import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog";56import { cn } from "@/lib/utils";7import { buttonVariants } from "@/registry/components/ui/button";89function AlertDialog(props: AlertDialogPrimitive.Root.Props) {10 return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;11}1213function AlertDialogTrigger(props: AlertDialogPrimitive.Trigger.Props) {14 return (15 <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />16 );17}1819function AlertDialogPortal(props: AlertDialogPrimitive.Portal.Props) {20 return (21 <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />22 );23}2425function AlertDialogOverlay({26 className,27 ...props28}: AlertDialogPrimitive.Backdrop.Props) {29 return (30 <AlertDialogPrimitive.Backdrop31 data-slot="alert-dialog-overlay"32 className={cn(33 "data-[open]:animate-in data-[open]:fade-in-0 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:animation-duration-[200ms] fixed inset-0 z-50 bg-black/50",34 className35 )}36 {...props}37 />38 );39}4041function AlertDialogContent({42 className,43 ...props44}: AlertDialogPrimitive.Popup.Props) {45 return (46 <AlertDialogPortal>47 <AlertDialogOverlay />48 <AlertDialogPrimitive.Popup49 data-slot="alert-dialog-content"50 className={cn(51 "bg-background data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",52 className53 )}54 {...props}55 />56 </AlertDialogPortal>57 );58}5960function AlertDialogHeader({61 className,62 ...props63}: React.ComponentProps<"div">) {64 return (65 <div66 data-slot="alert-dialog-header"67 className={cn("flex flex-col gap-2 text-center sm:text-left", className)}68 {...props}69 />70 );71}7273function AlertDialogFooter({74 className,75 ...props76}: React.ComponentProps<"div">) {77 return (78 <div79 data-slot="alert-dialog-footer"80 className={cn(81 "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",82 className83 )}84 {...props}85 />86 );87}8889function AlertDialogTitle({90 className,91 ...props92}: AlertDialogPrimitive.Title.Props) {93 return (94// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from basecn
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | basecn | Components | Free | 2 deps | |
| Alertalert | basecn | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | basecn | Components | Free | no deps | |
| Autocompleteautocomplete | basecn | Components | Free | 2 deps | |
| Avataravatar | basecn | Components | Free | 1 dep | |
| Badgebadge | basecn | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | basecn | Components | Free | 2 deps | |
| Buttonbutton | basecn | Components | Free | 2 deps |
