import type { ReactNode } from "react"; import { createPortal } from "react-dom"; export function Modal({ children, description, isOpen, dismissable = false, onOpenChange, title, className, }: { children?: ReactNode; className?: string; description?: string; dismissable?: boolean; isOpen: boolean; onOpenChange?: (isOpen: boolean) => void; title: string; }) { if (!isOpen) { return null; } const content = (
{ if (dismissable && event.target === event.currentTarget) { onOpenChange?.(false); } }} >

{title}

{description ?

{description}

: null}
{children}
); if (typeof document === "undefined") { return content; } return createPortal( content, document.querySelector("[data-uhuru-root]") ?? document.body, ); }