use-click-away
Version:
React hook that triggers a callback when user clicks outside the element.
24 lines (23 loc) • 651 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = require("react");
var EVENT = 'mousedown';
var useClickAway = function useClickAway(ref, callback) {
(0, _react.useEffect)(function () {
var listener = function listener(event) {
if (!ref || !ref.current || ref.current.contains(event.target)) {
return;
}
callback(event);
};
document.addEventListener(EVENT, listener);
return function () {
document.removeEventListener(EVENT, listener);
};
}, [ref, callback]);
};
var _default = useClickAway;
exports["default"] = _default;