1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports["default"] = void 0;
|
7 |
|
8 | var _react = require("react");
|
9 |
|
10 | var _hasOwnProperty = _interopRequireDefault(require("./utils/hasOwnProperty"));
|
11 |
|
12 | var _createCbSetterErrorProxy = _interopRequireDefault(require("./utils/createCbSetterErrorProxy"));
|
13 |
|
14 | var _createHandlerSetter17 = _interopRequireDefault(require("./utils/createHandlerSetter"));
|
15 |
|
16 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
17 |
|
18 | function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
19 |
|
20 | function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
21 |
|
22 | function _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 |
|
24 | function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
25 |
|
26 | var assignDragEventOnMount = function assignDragEventOnMount(targetRef, handlerRef, eventName) {
|
27 | (0, _react.useEffect)(function () {
|
28 | var cb = function cb(dragEvent) {
|
29 | if (handlerRef.current) {
|
30 | handlerRef.current(dragEvent);
|
31 | }
|
32 | };
|
33 |
|
34 | if (targetRef.current) {
|
35 | targetRef.current.addEventListener(eventName, cb);
|
36 | }
|
37 |
|
38 | return function () {
|
39 | if (targetRef.current) {
|
40 | targetRef.current.removeEventListener(eventName, cb);
|
41 | }
|
42 | };
|
43 | }, []);
|
44 | };
|
45 |
|
46 | var useDragEvents = function useDragEvents(targetRef) {
|
47 | var setDraggable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
48 |
|
49 | var _createHandlerSetter = (0, _createHandlerSetter17["default"])(),
|
50 | _createHandlerSetter2 = _slicedToArray(_createHandlerSetter, 2),
|
51 | onDrag = _createHandlerSetter2[0],
|
52 | setOnDrag = _createHandlerSetter2[1];
|
53 |
|
54 | var _createHandlerSetter3 = (0, _createHandlerSetter17["default"])(),
|
55 | _createHandlerSetter4 = _slicedToArray(_createHandlerSetter3, 2),
|
56 | onDrop = _createHandlerSetter4[0],
|
57 | setOnDrop = _createHandlerSetter4[1];
|
58 |
|
59 | var _createHandlerSetter5 = (0, _createHandlerSetter17["default"])(),
|
60 | _createHandlerSetter6 = _slicedToArray(_createHandlerSetter5, 2),
|
61 | onDragEnter = _createHandlerSetter6[0],
|
62 | setOnDragEnter = _createHandlerSetter6[1];
|
63 |
|
64 | var _createHandlerSetter7 = (0, _createHandlerSetter17["default"])(),
|
65 | _createHandlerSetter8 = _slicedToArray(_createHandlerSetter7, 2),
|
66 | onDragEnd = _createHandlerSetter8[0],
|
67 | setOnDragEnd = _createHandlerSetter8[1];
|
68 |
|
69 | var _createHandlerSetter9 = (0, _createHandlerSetter17["default"])(),
|
70 | _createHandlerSetter10 = _slicedToArray(_createHandlerSetter9, 2),
|
71 | onDragExit = _createHandlerSetter10[0],
|
72 | setOnDragExit = _createHandlerSetter10[1];
|
73 |
|
74 | var _createHandlerSetter11 = (0, _createHandlerSetter17["default"])(),
|
75 | _createHandlerSetter12 = _slicedToArray(_createHandlerSetter11, 2),
|
76 | onDragLeave = _createHandlerSetter12[0],
|
77 | setOnDragLeave = _createHandlerSetter12[1];
|
78 |
|
79 | var _createHandlerSetter13 = (0, _createHandlerSetter17["default"])(),
|
80 | _createHandlerSetter14 = _slicedToArray(_createHandlerSetter13, 2),
|
81 | onDragOver = _createHandlerSetter14[0],
|
82 | setOnDragOver = _createHandlerSetter14[1];
|
83 |
|
84 | var _createHandlerSetter15 = (0, _createHandlerSetter17["default"])(),
|
85 | _createHandlerSetter16 = _slicedToArray(_createHandlerSetter15, 2),
|
86 | onDragStart = _createHandlerSetter16[0],
|
87 | setOnDragStart = _createHandlerSetter16[1];
|
88 |
|
89 | if (targetRef !== null && !(0, _hasOwnProperty["default"])(targetRef, 'current')) {
|
90 | return (0, _createCbSetterErrorProxy["default"])('Unable to assign any drag event to the given ref');
|
91 | }
|
92 |
|
93 | (0, _react.useEffect)(function () {
|
94 | if (setDraggable && targetRef.current && !targetRef.current.hasAttribute('draggable')) {
|
95 | targetRef.current.setAttribute('draggable', true);
|
96 | }
|
97 | }, []);
|
98 | assignDragEventOnMount(targetRef, onDrag, 'drag');
|
99 | assignDragEventOnMount(targetRef, onDrop, 'drop');
|
100 | assignDragEventOnMount(targetRef, onDragEnter, 'dragenter');
|
101 | assignDragEventOnMount(targetRef, onDragEnd, 'dragend');
|
102 | assignDragEventOnMount(targetRef, onDragExit, 'dragexit');
|
103 | assignDragEventOnMount(targetRef, onDragLeave, 'dragleave');
|
104 | assignDragEventOnMount(targetRef, onDragOver, 'dragover');
|
105 | assignDragEventOnMount(targetRef, onDragStart, 'dragstart');
|
106 | return Object.freeze({
|
107 | onDrag: setOnDrag,
|
108 | onDrop: setOnDrop,
|
109 | onDragEnter: setOnDragEnter,
|
110 | onDragEnd: setOnDragEnd,
|
111 | onDragExit: setOnDragExit,
|
112 | onDragLeave: setOnDragLeave,
|
113 | onDragOver: setOnDragOver,
|
114 | onDragStart: setOnDragStart
|
115 | });
|
116 | };
|
117 |
|
118 | var _default = useDragEvents;
|
119 | exports["default"] = _default;
|
120 |
|