Modal

react-fancy
Registry JSON
Why
Modal dialogs are the highest-stakes UX surface — wrong focus management, scroll lock, escape behavior, or stacking and you break accessibility AND lose users. Every accessible modal you build from scratch costs days, and shadcn-style copy-paste is the only way you actually own the markup.
What
A controlled modal with built-in focus trap, scroll lock, escape-to-close, and predictable backdrop behavior. Subcomponents (Modal.Header, Modal.Body, Modal.Footer) compose the same way the rest of the library does, so visual rhythm is consistent.
How
Hold open in state; pass it plus onOpenChange. Place header / body / footer children inside. For destructive confirmations, gate the action button with the pendingMode pattern (Human+ UX trust-but-verify): the agent proposes, the user confirms.