brightyui
Version:
Brighty UI library
19 lines • 732 B
JavaScript
import { useEffect } from 'react';
function useOutsideClick(refs, onClickOutside) {
useEffect(function () {
function onClick(e) {
var isChildClicked = !!refs.find(function (ref) { return ref.current && ref.current.contains(e.target); });
if (!isChildClicked) {
onClickOutside();
}
}
document.addEventListener('mousedown', onClick);
document.addEventListener('touchstart', onClick);
return function () {
document.removeEventListener('mousedown', onClick);
document.removeEventListener('touchstart', onClick);
};
}, [refs]);
}
export default useOutsideClick;
//# sourceMappingURL=useOutsideClick.js.map