Skip to content

Dialog

Modal dialog overlay via Radix UI

Default

Usage

tsx
import { Dialog, DialogTrigger, DialogPortal, DialogClose, DialogOverlay, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from '@tryvienna/ui'

<Dialog>
  <DialogTrigger asChild>
    <Button variant="outline">Open Dialog</Button>
  </DialogTrigger>
  <DialogContent>
    <DialogHeader>
      <DialogTitle>Edit Profile</DialogTitle>
      <DialogDescription>Make changes to your profile here.</DialogDescription>
    </DialogHeader>
    <div className="grid gap-4 py-4">
      <div className="grid gap-2">
        <Label htmlFor="name">Name</Label>
        <Input id="name" defaultValue="Will" />
      </div>
      <div className="grid gap-2">
        <Label htmlFor="username">Username</Label>
        <Input id="username" defaultValue="@will" />
      </div>
    </div>
    <DialogFooter>
      <Button>Save changes</Button>
    </DialogFooter>
  </DialogContent>
</Dialog>

Examples

Default

Default
tsx
<Dialog>
  <DialogTrigger asChild>
    <Button variant="outline">Open Dialog</Button>
  </DialogTrigger>
  <DialogContent>
    <DialogHeader>
      <DialogTitle>Edit Profile</DialogTitle>
      <DialogDescription>Make changes to your profile here.</DialogDescription>
    </DialogHeader>
    <div className="grid gap-4 py-4">
      <div className="grid gap-2">
        <Label htmlFor="name">Name</Label>
        <Input id="name" defaultValue="Will" />
      </div>
      <div className="grid gap-2">
        <Label htmlFor="username">Username</Label>
        <Input id="username" defaultValue="@will" />
      </div>
    </div>
    <DialogFooter>
      <Button>Save changes</Button>
    </DialogFooter>
  </DialogContent>
</Dialog>

Simple

Simple
tsx
<Dialog>
  <DialogTrigger asChild>
    <Button>Simple Dialog</Button>
  </DialogTrigger>
  <DialogContent>
    <DialogHeader>
      <DialogTitle>Are you sure?</DialogTitle>
      <DialogDescription>This action cannot be undone.</DialogDescription>
    </DialogHeader>
    <DialogFooter>
      <Button variant="outline">Cancel</Button>
      <Button>Continue</Button>
    </DialogFooter>
  </DialogContent>
</Dialog>

API Reference

Dialog

Also accepts all props from DialogPrimitive.Root.

DialogTrigger

Also accepts all props from DialogPrimitive.Trigger.

DialogPortal

Also accepts all props from DialogPrimitive.Portal.

DialogClose

Also accepts all props from DialogPrimitive.Close.

DialogOverlay

Also accepts all props from DialogPrimitive.Overlay.

DialogContent

PropTypeDefaultDescription
showCloseButtonbooleantrue
onEscapeKeyDownProp((event: KeyboardEvent) =&gt; void) | undefined-

Also accepts all props from DialogPrimitive.Content.

DialogHeader

Also accepts all props from div.

DialogFooter

Also accepts all props from div.

DialogTitle

Also accepts all props from DialogPrimitive.Title.

DialogDescription

Also accepts all props from DialogPrimitive.Description.

Data Attributes

Componentdata-slot
Dialog"dialog-content"
DialogTrigger"dialog-trigger"
DialogPortal"dialog-portal"
DialogClose"dialog-close"
DialogOverlay"dialog-overlay"
DialogContent"dialog-content"
DialogHeader"dialog-header"
DialogFooter"dialog-footer"
DialogTitle"dialog-title"
DialogDescription"dialog-description"