@wulperstudio/cms
Version:
Wulper Studio Library Components CMS
19 lines (17 loc) • 606 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useOnClickOutside = useOnClickOutside;
var _useEventListener = require("./useEventListener");
function useOnClickOutside(ref, handler) {
var mouseEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'mousedown';
(0, _useEventListener.useEventListener)(mouseEvent, function (event) {
var el = ref == null ? void 0 : ref.current;
// Do nothing if clicking ref's element or descendent elements
if (!el || el.contains(event.target)) {
return;
}
handler(event);
});
}