Components
Dialog
A modal dialog that overlays the page, typically used for confirmations, forms, or focused interactions.
Preview
'use client'; import { Button } from '@/registry/san-francisco/ui/button'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/registry/san-francisco/ui/dialog'; import { Input } from '@/registry/san-francisco/ui/input'; import { Label } from '@/registry/san-francisco/ui/label'; export default function DialogDemo() { return ( <Dialog> <DialogTrigger render={<Button variant="outline">Open Dialog</Button>} /> <DialogContent> <DialogHeader> <DialogTitle>Are you sure?</DialogTitle> <DialogDescription>This action will apply changes to your account.</DialogDescription> </DialogHeader> <DialogFooter> <DialogClose render={<Button variant="outline">Cancel</Button>} /> <Button>Confirm</Button> </DialogFooter> </DialogContent> </Dialog> ); }
Installation
bunx shadcn@latest add @sft-ui/dialogWith Form
'use client'; import { Button } from '@/registry/san-francisco/ui/button'; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from '@/registry/san-francisco/ui/dialog'; import { Input } from '@/registry/san-francisco/ui/input'; import { Label } from '@/registry/san-francisco/ui/label'; export default function DialogDemoForm() { return ( <Dialog> <DialogTrigger render={<Button variant="outline">Edit Profile</Button>} /> <DialogContent> <DialogHeader> <DialogTitle>Edit Profile</DialogTitle> <DialogDescription>Make changes to your profile here. Click save when you're done.</DialogDescription> </DialogHeader> <div className="flex flex-col gap-4 py-4"> <div className="flex flex-col gap-2"> <Label htmlFor="name">Name</Label> <Input id="name" placeholder="Enter your name" /> </div> <div className="flex flex-col gap-2"> <Label htmlFor="email">Email</Label> <Input id="email" type="email" placeholder="you@example.com" /> </div> </div> <DialogFooter> <DialogClose render={<Button variant="outline">Cancel</Button>} /> <Button>Save changes</Button> </DialogFooter> </DialogContent> </Dialog> ); }
API Reference
See the Base UI Dialog documentation for the API reference.