export function clickOutside(node) { const handleClick = event => { if (node && !node.contains(event.target) && !event.defaultPrevented) { node.dispatchEvent(new CustomEvent('outside', node)) } } document.addEventListener('click', handleClick, true) return { destroy() { document.removeEventListener('click', handleClick, true) } } }