1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | var React = require('react');
|
8 | var React__default = _interopDefault(React);
|
9 |
|
10 | function 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 |
|
26 | exports.useFocusLeave = useFocusLeave;
|
27 |
|