UNPKG

@daks.dev/svelte.sdk

Version:
33 lines (32 loc) 921 B
function outside(node, callback) { const handle = (event) => { if (!event?.target) return; if (node && !event.defaultPrevented && !node.contains(event.target)) callback(node); }; document.addEventListener('click', handle, true); return { destroy() { document.removeEventListener('click', handle, true); } }; } outside.withnext = function (node, callback) { const handle = (event) => { if (!event?.target) return; if (node && !event.defaultPrevented && !node.contains(event.target) && !node.nextElementSibling?.contains(event.target)) callback(node); }; document.addEventListener('click', handle, true); return { destroy() { document.removeEventListener('click', handle, true); } }; }; export default outside;