import type { ActionReturn } from 'svelte/types/runtime/action'; export function clickOutside(node: HTMLElement): ActionReturn { const handleClick = (event: Event) => { if (!event.composedPath().includes(node)) { node.dispatchEvent(new CustomEvent('outclick')); } }; document.addEventListener('click', handleClick); return { destroy() { document.removeEventListener('click', handleClick); }, }; }