interface IPopUpProps {
children: JSXElement
}
export default function popup(_children: () => JSXElement, on_close?: () => void) {
let close: () => void;
createRoot((dispose) => {
let _child: Element | undefined;
close = () => {
dispose()
_child?.remove();
on_close?.();
}
_child = children(_children)() as Element;
document.body.appendChild(_child);
})
return { close };
}
interface IPopUpProps {
children: JSXElement
}
export default function popup(_children: () => JSXElement, on_close?: () => void) {
let close: () => void;
createRoot((dispose) => {
let _child: Element | undefined;
close = () => {
dispose()
_child?.remove();
on_close?.();
}
_child = children(_children)() as Element;
document.body.appendChild(_child);
})
return { close };
}