@wulperstudio/cms
Version:
Wulper Studio Library Components CMS
13 lines (12 loc) • 463 B
JavaScript
import { useEventListener } from './useEventListener';
export function useOnClickOutside(ref, handler) {
var mouseEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'mousedown';
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);
});
}