Ballmac UI home

Dialog

A Radix modal dialog with a blurred overlay, centered card surface that fits 360 px screens, header and footer parts, optional close button and animations.

Installation

$ pnpm dlx shadcn@latest add @ballmac/dialog

Usage

import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "@/components/ballmac/dialog"

The full example is in the Code tab above.

Examples

Confirm

API reference

PropTypeDefault
showCloseButton

Render the top-right close button.

booleantrue
closeLabel

Accessible name of the close button.

string—

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
EscapeCloses the dialog
Tab / Shift+TabCycles focus inside the dialog
Enter / Space on triggerOpens the dialog

Use with AI

Modal window that traps focus. Compose Dialog > DialogTrigger (style it with buttonVariants) + DialogContent with DialogHeader (DialogTitle, DialogDescription) and DialogFooter; use DialogClose with buttonVariants for cancel buttons. Avoid asChild so the files also work in Base UI projects. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Dialog (@ballmac/dialog) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Short forms that shouldn't leave the page (edit profile, rename)
  • Confirming destructive actions
  • Focused detail views

Not for

  • Non-blocking messages (use a toast)
  • Long multi-step flows (use a page)
  • Content tied to a control that should stay visible (use a popover)

Registry JSON: https://ui.ballmac.com/r/dialog.json

Credits

Based on shadcn/ui Dialog, adapted by Ballmac. Free to use in personal and commercial projects.