import React, { DetailedHTMLProps, HTMLAttributes } from "react"; import { twMerge } from "tailwind-merge"; import ReactDOM from "react-dom"; import Button from "../layout/Button"; import { X } from "lucide-react"; import { TWUI_MODAL_PROPS } from "../elements/Modal"; import Paper from "../elements/Paper"; import _ from "lodash"; type Props = TWUI_MODAL_PROPS & { open: boolean; setOpen: React.Dispatch>; }; /** * # Modal Main Component */ export default function ModalComponent({ open, setOpen, ...props }: Props) { if (!open) return null; return ReactDOM.createPortal(
{ setOpen(false); }} >
{props.children}
, document.getElementById("twui-modal-root") as HTMLElement ); }