// shadcn Dialog — uses the native HTML element. Honest V1: // no Radix focus-trap, no portal magic. handles modal stacking // + ESC dismissal + backdrop click natively in modern browsers; we // add the shadcn styling on top. // // Caller controls open state via the ref or via `open` prop. The // imperative API (`dialogRef.current?.showModal()`) is the native // path; we surface it as a uncontrolled wrapper for now. import type { DialogHTMLAttributes, HTMLAttributes, ReactNode } from 'react' import { cn } from '../cn' export const Dialog = ({ className, children, ...props }: DialogHTMLAttributes): ReactNode => ( {children} ) export const DialogHeader = ({ className, ...props }: HTMLAttributes): ReactNode => ( ) export const DialogTitle = ({ className, ...props }: HTMLAttributes): ReactNode => ( ) export const DialogDescription = ({ className, ...props }: HTMLAttributes): ReactNode => ( ) export const DialogFooter = ({ className, ...props }: HTMLAttributes): ReactNode => ( )