UNPKG

828 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7var React = require('react');
8var React__default = _interopDefault(React);
9
10function useFocusLeave(cb, _ref) {
11 var fallbackRef = React.useRef();
12 var ref = _ref || fallbackRef;
13 var handleFocusLeave = React.useCallback(function (event) {
14 var _ref$current;
15
16 if (!(ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.contains(event.relatedTarget))) {
17 cb(event);
18 }
19 }, [ref, cb]);
20 return {
21 ref: ref,
22 handleFocusLeave: handleFocusLeave
23 };
24}
25
26exports.useFocusLeave = useFocusLeave;
27//# sourceMappingURL=useFocusLeave.js.map