import { useEffect } from "react"; import { createPortal } from "react-dom"; import Button from "./Button"; import Icon from "./Icon"; export default function Modal({ open, onClose, title, children, footer, large }) { useEffect(() => { if (!open) return; const onKey = (e) => e.key === "Escape" && onClose?.(); window.addEventListener("keydown", onKey); const prevOverflow = document.body.style.overflow; document.body.style.overflow = "hidden"; return () => { window.removeEventListener("keydown", onKey); document.body.style.overflow = prevOverflow; }; }, [open, onClose]); if (!open) return null; return createPortal(
e.stopPropagation()} > {title && (

{title}

)}
{children}
{footer &&
{footer}
}
, document.body ); } export function ConfirmDialog({ open, title = "¿Confirmar?", message, confirmLabel = "Confirmar", danger, loading, onConfirm, onClose, }) { return ( } >

{message}

); }