UNPKG

@wulperstudio/cms

Version:
19 lines (17 loc) 606 B
"use strict"; 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); }); }