@mattilsynet/designsystem-svelte
Version:
Design system for Mattilsynet
17 lines (16 loc) • 493 B
JavaScript
export function focusOutside(node, buttonId) {
function handleFocusIn(event) {
if (event &&
event.target &&
!node.contains(document.activeElement) &&
event.target.id !== buttonId) {
node.dispatchEvent(new CustomEvent('focusOutside'));
}
}
document.addEventListener('focusin', handleFocusIn);
return {
destroy: () => {
document.removeEventListener('focusin', handleFocusIn);
}
};
}