UNPKG

4.98 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports["default"] = void 0;
7
8var _react = require("react");
9
10var _createHandlerSetter15 = _interopRequireDefault(require("./utils/createHandlerSetter"));
11
12var _createCbSetterErrorProxy = _interopRequireDefault(require("./utils/createCbSetterErrorProxy"));
13
14var _hasOwnProperty = _interopRequireDefault(require("./utils/hasOwnProperty"));
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
18function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
19
20function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
21
22function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
23
24function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
26var assignMouseEventOnMount = function assignMouseEventOnMount(targetRef, handlerRef, eventName) {
27 (0, _react.useEffect)(function () {
28 var cb = function cb(mouseEvent) {
29 if (handlerRef.current) {
30 handlerRef.current(mouseEvent);
31 }
32 };
33
34 var target;
35
36 if (targetRef !== null && !!targetRef.current) {
37 target = targetRef.current;
38 }
39
40 if (targetRef === null) {
41 target = document;
42 }
43
44 if (target && target.addEventListener) {
45 target.addEventListener(eventName, cb);
46 }
47
48 return function () {
49 if (target && target.removeEventListener) {
50 target.removeEventListener(eventName, cb);
51 }
52 };
53 }, []);
54};
55
56var useMouseEvents = function useMouseEvents() {
57 var targetRef = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
58
59 var _createHandlerSetter = (0, _createHandlerSetter15["default"])(),
60 _createHandlerSetter2 = _slicedToArray(_createHandlerSetter, 2),
61 onMouseDownHandler = _createHandlerSetter2[0],
62 setOnMouseDown = _createHandlerSetter2[1];
63
64 var _createHandlerSetter3 = (0, _createHandlerSetter15["default"])(),
65 _createHandlerSetter4 = _slicedToArray(_createHandlerSetter3, 2),
66 onMouseEnterHandler = _createHandlerSetter4[0],
67 setOnMouseEnter = _createHandlerSetter4[1];
68
69 var _createHandlerSetter5 = (0, _createHandlerSetter15["default"])(),
70 _createHandlerSetter6 = _slicedToArray(_createHandlerSetter5, 2),
71 onMouseLeaveHandler = _createHandlerSetter6[0],
72 setOnMouseLeave = _createHandlerSetter6[1];
73
74 var _createHandlerSetter7 = (0, _createHandlerSetter15["default"])(),
75 _createHandlerSetter8 = _slicedToArray(_createHandlerSetter7, 2),
76 onMouseMoveHandler = _createHandlerSetter8[0],
77 setOnMouseMove = _createHandlerSetter8[1];
78
79 var _createHandlerSetter9 = (0, _createHandlerSetter15["default"])(),
80 _createHandlerSetter10 = _slicedToArray(_createHandlerSetter9, 2),
81 onMouseOutHandler = _createHandlerSetter10[0],
82 setOnMouseOut = _createHandlerSetter10[1];
83
84 var _createHandlerSetter11 = (0, _createHandlerSetter15["default"])(),
85 _createHandlerSetter12 = _slicedToArray(_createHandlerSetter11, 2),
86 onMouseOverHandler = _createHandlerSetter12[0],
87 setOnMouseOver = _createHandlerSetter12[1];
88
89 var _createHandlerSetter13 = (0, _createHandlerSetter15["default"])(),
90 _createHandlerSetter14 = _slicedToArray(_createHandlerSetter13, 2),
91 onMouseUpHandler = _createHandlerSetter14[0],
92 setOnMouseUp = _createHandlerSetter14[1];
93
94 if (targetRef !== null && !(0, _hasOwnProperty["default"])(targetRef, 'current')) {
95 return (0, _createCbSetterErrorProxy["default"])('Unable to assign any mouse event to the given ref');
96 }
97
98 assignMouseEventOnMount(targetRef, onMouseDownHandler, 'mousedown');
99 assignMouseEventOnMount(targetRef, onMouseEnterHandler, 'mouseenter');
100 assignMouseEventOnMount(targetRef, onMouseLeaveHandler, 'mouseleave');
101 assignMouseEventOnMount(targetRef, onMouseMoveHandler, 'mousemove');
102 assignMouseEventOnMount(targetRef, onMouseOutHandler, 'mouseout');
103 assignMouseEventOnMount(targetRef, onMouseOverHandler, 'mouseover');
104 assignMouseEventOnMount(targetRef, onMouseUpHandler, 'mouseup');
105 return Object.freeze({
106 onMouseDown: setOnMouseDown,
107 onMouseEnter: setOnMouseEnter,
108 onMouseLeave: setOnMouseLeave,
109 onMouseMove: setOnMouseMove,
110 onMouseOut: setOnMouseOut,
111 onMouseOver: setOnMouseOver,
112 onMouseUp: setOnMouseUp
113 });
114};
115
116var _default = useMouseEvents;
117exports["default"] = _default;
118//# sourceMappingURL=useMouseEvents.js.map