export function clickOutside(node: Node, cb: () => void) { function handleClick(event: MouseEvent) { if ( node && !node.contains(event.target as Node) && !event.defaultPrevented ) { cb(); } } document.addEventListener("click", handleClick, true); return { update() {}, destroy() { document.removeEventListener("click", handleClick, true); }, }; }