brightyui
Version:
Brighty UI library
21 lines • 822 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
function useOutsideClick(refs, onClickOutside) {
(0, react_1.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]);
}
exports.default = useOutsideClick;
//# sourceMappingURL=useOutsideClick.js.map