@equinor/eds-utils
Version:
Utility functions and hooks for the Equinor Design System
18 lines (15 loc) • 400 B
JavaScript
import { useEffect } from 'react';
const useOutsideClick = (el, callback) => {
useEffect(() => {
const handleClick = e => {
if (el && !el.contains(e.target)) {
callback(e);
}
};
document.addEventListener('click', handleClick);
return () => {
document.removeEventListener('click', handleClick);
};
}, [el, callback]);
};
export { useOutsideClick };