@os-design/drag-sort 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/DragAndDrop.d.ts +52 -0
  2. package/dist/DragAndDrop.d.ts.map +1 -0
  3. package/dist/{esm/DragAndDrop.js → DragAndDrop.js} +20 -18
  4. package/dist/Draggable.d.ts +42 -0
  5. package/dist/Draggable.d.ts.map +1 -0
  6. package/dist/{esm/Draggable.js → Draggable.js} +9 -7
  7. package/dist/Droppable.d.ts +38 -0
  8. package/dist/Droppable.d.ts.map +1 -0
  9. package/dist/{esm/Droppable.js → Droppable.js} +9 -8
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/{esm/index.js → index.js} +1 -2
  12. package/dist/utils/ListStore.d.ts +22 -0
  13. package/dist/utils/ListStore.d.ts.map +1 -0
  14. package/dist/{esm/utils → utils}/ListStore.js +1 -2
  15. package/dist/utils/NodeList.d.ts +104 -0
  16. package/dist/utils/NodeList.d.ts.map +1 -0
  17. package/dist/{esm/utils → utils}/NodeList.js +2 -3
  18. package/dist/utils/getElementOffset.d.ts.map +1 -0
  19. package/dist/{esm/utils → utils}/getElementOffset.js +1 -2
  20. package/dist/utils/getElementScroll.d.ts.map +1 -0
  21. package/dist/{esm/utils → utils}/getElementScroll.js +1 -2
  22. package/dist/{types/utils → utils}/getNodeRect.d.ts +4 -1
  23. package/dist/utils/getNodeRect.d.ts.map +1 -0
  24. package/dist/{esm/utils → utils}/getNodeRect.js +1 -2
  25. package/dist/utils/useAppendClassName.d.ts +7 -0
  26. package/dist/utils/useAppendClassName.d.ts.map +1 -0
  27. package/dist/{esm/utils → utils}/useAppendClassName.js +1 -2
  28. package/dist/{types/utils → utils}/useBlankNode.d.ts +4 -0
  29. package/dist/utils/useBlankNode.d.ts.map +1 -0
  30. package/dist/{esm/utils → utils}/useBlankNode.js +1 -2
  31. package/dist/{types/utils → utils}/useDragAndDrop.d.ts +3 -3
  32. package/dist/utils/useDragAndDrop.d.ts.map +1 -0
  33. package/dist/{esm/utils → utils}/useDragAndDrop.js +1 -2
  34. package/dist/{types/utils → utils}/useDragEffect.d.ts +3 -3
  35. package/dist/utils/useDragEffect.d.ts.map +1 -0
  36. package/dist/{esm/utils → utils}/useDragEffect.js +1 -6
  37. package/dist/{types/utils → utils}/useDroppable.d.ts +2 -2
  38. package/dist/utils/useDroppable.d.ts.map +1 -0
  39. package/dist/{esm/utils → utils}/useDroppable.js +1 -2
  40. package/dist/utils/useGeneratedId.d.ts.map +1 -0
  41. package/dist/{esm/utils → utils}/useGeneratedId.js +1 -2
  42. package/dist/{types/utils → utils}/useGetNodeStyle.d.ts +1 -1
  43. package/dist/utils/useGetNodeStyle.d.ts.map +1 -0
  44. package/dist/{esm/utils → utils}/useGetNodeStyle.js +1 -2
  45. package/dist/{types/utils → utils}/useInitRect.d.ts +1 -1
  46. package/dist/utils/useInitRect.d.ts.map +1 -0
  47. package/dist/{esm/utils → utils}/useInitRect.js +1 -2
  48. package/dist/{types/utils → utils}/useInitScrollOffset.d.ts +1 -1
  49. package/dist/utils/useInitScrollOffset.d.ts.map +1 -0
  50. package/dist/{esm/utils → utils}/useInitScrollOffset.js +1 -2
  51. package/dist/{types/utils → utils}/useMoveNode.d.ts +3 -4
  52. package/dist/utils/useMoveNode.d.ts.map +1 -0
  53. package/dist/{esm/utils → utils}/useMoveNode.js +1 -4
  54. package/dist/utils/useScrollEventByPoint.d.ts +11 -0
  55. package/dist/utils/useScrollEventByPoint.d.ts.map +1 -0
  56. package/dist/{esm/utils → utils}/useScrollEventByPoint.js +1 -2
  57. package/dist/{types/utils → utils}/useTargetList.d.ts +2 -2
  58. package/dist/utils/useTargetList.d.ts.map +1 -0
  59. package/dist/{esm/utils → utils}/useTargetList.js +1 -2
  60. package/dist/{types/utils → utils}/useTransitionStyle.d.ts +3 -0
  61. package/dist/utils/useTransitionStyle.d.ts.map +1 -0
  62. package/dist/{esm/utils → utils}/useTransitionStyle.js +1 -2
  63. package/package.json +16 -17
  64. package/src/DragAndDrop.tsx +10 -10
  65. package/src/Draggable.tsx +5 -5
  66. package/src/Droppable.tsx +6 -6
  67. package/src/utils/NodeList.ts +2 -2
  68. package/src/utils/getNodeRect.ts +1 -1
  69. package/src/utils/useAppendClassName.ts +1 -1
  70. package/src/utils/useBlankNode.ts +1 -1
  71. package/src/utils/useDragAndDrop.ts +3 -3
  72. package/src/utils/useDragEffect.ts +8 -7
  73. package/src/utils/useDroppable.ts +2 -2
  74. package/src/utils/useGetNodeStyle.ts +1 -1
  75. package/src/utils/useInitRect.ts +1 -1
  76. package/src/utils/useInitScrollOffset.ts +1 -1
  77. package/src/utils/useMoveNode.ts +3 -5
  78. package/src/utils/useTargetList.ts +2 -2
  79. package/dist/cjs/DragAndDrop.js +0 -181
  80. package/dist/cjs/DragAndDrop.js.map +0 -1
  81. package/dist/cjs/Draggable.js +0 -81
  82. package/dist/cjs/Draggable.js.map +0 -1
  83. package/dist/cjs/Droppable.js +0 -98
  84. package/dist/cjs/Droppable.js.map +0 -1
  85. package/dist/cjs/index.js +0 -68
  86. package/dist/cjs/index.js.map +0 -1
  87. package/dist/cjs/utils/ListStore.js +0 -61
  88. package/dist/cjs/utils/ListStore.js.map +0 -1
  89. package/dist/cjs/utils/NodeList.js +0 -228
  90. package/dist/cjs/utils/NodeList.js.map +0 -1
  91. package/dist/cjs/utils/getElementOffset.js +0 -22
  92. package/dist/cjs/utils/getElementOffset.js.map +0 -1
  93. package/dist/cjs/utils/getElementScroll.js +0 -22
  94. package/dist/cjs/utils/getElementScroll.js.map +0 -1
  95. package/dist/cjs/utils/getNodeRect.js +0 -38
  96. package/dist/cjs/utils/getNodeRect.js.map +0 -1
  97. package/dist/cjs/utils/useAppendClassName.js +0 -23
  98. package/dist/cjs/utils/useAppendClassName.js.map +0 -1
  99. package/dist/cjs/utils/useBlankNode.js +0 -94
  100. package/dist/cjs/utils/useBlankNode.js.map +0 -1
  101. package/dist/cjs/utils/useDragAndDrop.js +0 -22
  102. package/dist/cjs/utils/useDragAndDrop.js.map +0 -1
  103. package/dist/cjs/utils/useDragEffect.js +0 -468
  104. package/dist/cjs/utils/useDragEffect.js.map +0 -1
  105. package/dist/cjs/utils/useDroppable.js +0 -25
  106. package/dist/cjs/utils/useDroppable.js.map +0 -1
  107. package/dist/cjs/utils/useGeneratedId.js +0 -14
  108. package/dist/cjs/utils/useGeneratedId.js.map +0 -1
  109. package/dist/cjs/utils/useGetNodeStyle.js +0 -24
  110. package/dist/cjs/utils/useGetNodeStyle.js.map +0 -1
  111. package/dist/cjs/utils/useInitRect.js +0 -21
  112. package/dist/cjs/utils/useInitRect.js.map +0 -1
  113. package/dist/cjs/utils/useInitScrollOffset.js +0 -21
  114. package/dist/cjs/utils/useInitScrollOffset.js.map +0 -1
  115. package/dist/cjs/utils/useMoveNode.js +0 -90
  116. package/dist/cjs/utils/useMoveNode.js.map +0 -1
  117. package/dist/cjs/utils/useScrollEventByPoint.js +0 -57
  118. package/dist/cjs/utils/useScrollEventByPoint.js.map +0 -1
  119. package/dist/cjs/utils/useTargetList.js +0 -44
  120. package/dist/cjs/utils/useTargetList.js.map +0 -1
  121. package/dist/cjs/utils/useTransitionStyle.js +0 -26
  122. package/dist/cjs/utils/useTransitionStyle.js.map +0 -1
  123. package/dist/esm/DragAndDrop.js.map +0 -1
  124. package/dist/esm/Draggable.js.map +0 -1
  125. package/dist/esm/Droppable.js.map +0 -1
  126. package/dist/esm/index.js.map +0 -1
  127. package/dist/esm/utils/ListStore.js.map +0 -1
  128. package/dist/esm/utils/NodeList.js.map +0 -1
  129. package/dist/esm/utils/getElementOffset.js.map +0 -1
  130. package/dist/esm/utils/getElementScroll.js.map +0 -1
  131. package/dist/esm/utils/getNodeRect.js.map +0 -1
  132. package/dist/esm/utils/useAppendClassName.js.map +0 -1
  133. package/dist/esm/utils/useBlankNode.js.map +0 -1
  134. package/dist/esm/utils/useDragAndDrop.js.map +0 -1
  135. package/dist/esm/utils/useDragEffect.js.map +0 -1
  136. package/dist/esm/utils/useDroppable.js.map +0 -1
  137. package/dist/esm/utils/useGeneratedId.js.map +0 -1
  138. package/dist/esm/utils/useGetNodeStyle.js.map +0 -1
  139. package/dist/esm/utils/useInitRect.js.map +0 -1
  140. package/dist/esm/utils/useInitScrollOffset.js.map +0 -1
  141. package/dist/esm/utils/useMoveNode.js.map +0 -1
  142. package/dist/esm/utils/useScrollEventByPoint.js.map +0 -1
  143. package/dist/esm/utils/useTargetList.js.map +0 -1
  144. package/dist/esm/utils/useTransitionStyle.js.map +0 -1
  145. package/dist/types/DragAndDrop.d.ts +0 -17
  146. package/dist/types/DragAndDrop.d.ts.map +0 -1
  147. package/dist/types/Draggable.d.ts +0 -18
  148. package/dist/types/Draggable.d.ts.map +0 -1
  149. package/dist/types/Droppable.d.ts +0 -15
  150. package/dist/types/Droppable.d.ts.map +0 -1
  151. package/dist/types/index.d.ts.map +0 -1
  152. package/dist/types/utils/ListStore.d.ts +0 -10
  153. package/dist/types/utils/ListStore.d.ts.map +0 -1
  154. package/dist/types/utils/NodeList.d.ts +0 -44
  155. package/dist/types/utils/NodeList.d.ts.map +0 -1
  156. package/dist/types/utils/getElementOffset.d.ts.map +0 -1
  157. package/dist/types/utils/getElementScroll.d.ts.map +0 -1
  158. package/dist/types/utils/getNodeRect.d.ts.map +0 -1
  159. package/dist/types/utils/useAppendClassName.d.ts +0 -4
  160. package/dist/types/utils/useAppendClassName.d.ts.map +0 -1
  161. package/dist/types/utils/useBlankNode.d.ts.map +0 -1
  162. package/dist/types/utils/useDragAndDrop.d.ts.map +0 -1
  163. package/dist/types/utils/useDragEffect.d.ts.map +0 -1
  164. package/dist/types/utils/useDroppable.d.ts.map +0 -1
  165. package/dist/types/utils/useGeneratedId.d.ts.map +0 -1
  166. package/dist/types/utils/useGetNodeStyle.d.ts.map +0 -1
  167. package/dist/types/utils/useInitRect.d.ts.map +0 -1
  168. package/dist/types/utils/useInitScrollOffset.d.ts.map +0 -1
  169. package/dist/types/utils/useMoveNode.d.ts.map +0 -1
  170. package/dist/types/utils/useScrollEventByPoint.d.ts +0 -7
  171. package/dist/types/utils/useScrollEventByPoint.d.ts.map +0 -1
  172. package/dist/types/utils/useTargetList.d.ts.map +0 -1
  173. package/dist/types/utils/useTransitionStyle.d.ts.map +0 -1
  174. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  175. /package/dist/{types/utils → utils}/getElementOffset.d.ts +0 -0
  176. /package/dist/{types/utils → utils}/getElementScroll.d.ts +0 -0
  177. /package/dist/{types/utils → utils}/useGeneratedId.d.ts +0 -0
@@ -1,468 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _useEvent = _interopRequireDefault(require("@os-design/use-event"));
8
- var _useThrottle3 = _interopRequireDefault(require("@os-design/use-throttle"));
9
- var _react = require("react");
10
- var _getElementScroll2 = _interopRequireDefault(require("./getElementScroll"));
11
- var _getNodeRect = _interopRequireDefault(require("./getNodeRect"));
12
- var _useBlankNode = _interopRequireDefault(require("./useBlankNode"));
13
- var _useGetNodeStyle = _interopRequireDefault(require("./useGetNodeStyle"));
14
- var _useInitRect = _interopRequireDefault(require("./useInitRect"));
15
- var _useInitScrollOffset = _interopRequireDefault(require("./useInitScrollOffset"));
16
- var _useMoveNode = _interopRequireDefault(require("./useMoveNode"));
17
- var _useTargetList = _interopRequireDefault(require("./useTargetList"));
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
23
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
24
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
- var HIDDEN_NODE_STYLE = {
26
- opacity: 0,
27
- pointerEvents: 'none'
28
- };
29
- var createEmptyNode = function createEmptyNode(_ref) {
30
- var _ref$prev = _ref.prev,
31
- prev = _ref$prev === void 0 ? null : _ref$prev,
32
- _ref$next = _ref.next,
33
- next = _ref$next === void 0 ? null : _ref$next;
34
- return [prev, next, {
35
- current: null
36
- }, function () {}, -1, 'id'];
37
- };
38
-
39
- /* eslint-disable no-constant-condition */
40
-
41
- var useDragEffect = function useDragEffect(props) {
42
- var draggedNode = props.draggedNode,
43
- cursorPosition = props.cursorPosition,
44
- listStoreRef = props.listStoreRef,
45
- onDragEnd = props.onDragEnd;
46
- var targetRef = (0, _react.useRef)(null);
47
- var targetNodeRef = (0, _react.useRef)(draggedNode);
48
- (0, _react.useEffect)(function () {
49
- targetNodeRef.current = draggedNode;
50
- }, [draggedNode]);
51
- var onDragEndRef = (0, _react.useRef)(onDragEnd);
52
- (0, _react.useEffect)(function () {
53
- onDragEndRef.current = onDragEnd;
54
- }, [onDragEnd]);
55
-
56
- // The initial bounds of the dragged node.
57
- // We can't read the bounds of the dragged node on the fly because the node can be unmounted in the virtual list.
58
- var initDraggedNodeRect = (0, _useInitRect["default"])(draggedNode ? draggedNode.node[2] : undefined);
59
-
60
- // The initial scroll position of the list where the dragged node is located.
61
- // Used to detect the actual position of the dragged node. The purpose is the same as with initDraggedNodeRect.
62
- var initDraggedNodeListScrollOffset = (0, _useInitScrollOffset["default"])(draggedNode ? draggedNode.list.ref : undefined);
63
-
64
- // The central position of the dragged node
65
- var position = (0, _react.useMemo)(function () {
66
- if (!draggedNode || !initDraggedNodeRect) return null;
67
- var x = cursorPosition.x,
68
- y = cursorPosition.y;
69
- var initWidth = initDraggedNodeRect.initWidth,
70
- initHeight = initDraggedNodeRect.initHeight;
71
- return {
72
- x: x - draggedNode.position.x + initWidth / 2,
73
- y: y - draggedNode.position.y + initHeight / 2
74
- };
75
- }, [cursorPosition, draggedNode, initDraggedNodeRect]);
76
-
77
- // The list in which the cursor is located
78
- var targetList = (0, _useTargetList["default"])(position, listStoreRef);
79
-
80
- // Returns the style for moving the node in the specified direction
81
- var getNodeStyle = (0, _useGetNodeStyle["default"])(initDraggedNodeRect);
82
-
83
- // Moves the node up or down
84
- var moveNode = (0, _useMoveNode["default"])({
85
- position: position,
86
- draggedNode: draggedNode,
87
- getNodeStyle: getNodeStyle
88
- });
89
- var setTargetNode = (0, _react.useCallback)(function (list, node) {
90
- var _node = _slicedToArray(node, 6),
91
- nodeIndex = _node[4],
92
- nodeId = _node[5];
93
- targetNodeRef.current = {
94
- list: list,
95
- node: node
96
- };
97
- targetRef.current = {
98
- listId: list.id,
99
- index: nodeIndex,
100
- id: nodeId
101
- };
102
- }, []);
103
- var clearTargetNode = (0, _react.useCallback)(function () {
104
- targetNodeRef.current = null;
105
- targetRef.current = null;
106
- }, []);
107
-
108
- // Returns the central position of the dragged node in the list
109
- var getDraggedNodePos = (0, _react.useCallback)(function () {
110
- if (!targetList || !targetList.ref.current || !initDraggedNodeRect || !initDraggedNodeListScrollOffset) {
111
- return null;
112
- }
113
- var initX = initDraggedNodeRect.initX,
114
- initY = initDraggedNodeRect.initY,
115
- initWidth = initDraggedNodeRect.initWidth,
116
- initHeight = initDraggedNodeRect.initHeight;
117
- var initScrollLeft = initDraggedNodeListScrollOffset.initScrollLeft,
118
- initScrollTop = initDraggedNodeListScrollOffset.initScrollTop;
119
- var _getElementScroll = (0, _getElementScroll2["default"])(targetList.ref.current),
120
- scrollLeft = _getElementScroll.scrollLeft,
121
- scrollTop = _getElementScroll.scrollTop;
122
- return {
123
- x: initX + initWidth / 2 + initScrollLeft - scrollLeft,
124
- y: initY + initHeight / 2 + initScrollTop - scrollTop
125
- };
126
- }, [initDraggedNodeListScrollOffset, initDraggedNodeRect, targetList]);
127
- var getDraggedNodePosRef = (0, _react.useRef)(getDraggedNodePos);
128
- (0, _react.useEffect)(function () {
129
- getDraggedNodePosRef.current = getDraggedNodePos;
130
- }, [getDraggedNodePos]);
131
-
132
- // Hide the dragged node
133
- (0, _react.useEffect)(function () {
134
- if (!draggedNode) return function () {};
135
- var _draggedNode$node = _slicedToArray(draggedNode.node, 4),
136
- draggedNodeSetStyle = _draggedNode$node[3];
137
- draggedNodeSetStyle(HIDDEN_NODE_STYLE);
138
- return function () {
139
- return draggedNodeSetStyle({});
140
- };
141
- }, [draggedNode]);
142
-
143
- // Append the blank node to the list to increase the height of it.
144
- // Used when the dragged node is located inside another list.
145
- var removeBlankNode = (0, _useBlankNode["default"])({
146
- draggedNode: draggedNode,
147
- targetList: targetList,
148
- initDraggedNodeRect: initDraggedNodeRect
149
- });
150
- var updateTargetNode = (0, _react.useCallback)(function () {
151
- if (!draggedNode) return;
152
- var prevTargetNode = targetNodeRef.current; // The last updated node
153
-
154
- // Dragging outside the origin list
155
- if (prevTargetNode && prevTargetNode.list === draggedNode.list && targetList !== draggedNode.list) {
156
- moveNode({
157
- list: prevTargetNode.list,
158
- startNode: prevTargetNode.node,
159
- direction: 'down',
160
- destination: 'end'
161
- });
162
- clearTargetNode();
163
- }
164
-
165
- // Dragging outside another list
166
- if (prevTargetNode && prevTargetNode.list !== draggedNode.list && targetList !== prevTargetNode.list) {
167
- moveNode({
168
- list: prevTargetNode.list,
169
- startNode: prevTargetNode.node,
170
- direction: 'down',
171
- destination: 'end',
172
- isAnotherList: true
173
- });
174
- removeBlankNode();
175
- clearTargetNode();
176
- }
177
-
178
- // Dragging inside the origin list
179
- if (!prevTargetNode && targetList === draggedNode.list) {
180
- var tail = targetList.getTail();
181
- if (!tail) return;
182
- var node = moveNode({
183
- list: targetList,
184
- startNode: tail,
185
- direction: 'up',
186
- destination: 'cursor'
187
- });
188
- setTargetNode(targetList, node);
189
- return;
190
- }
191
-
192
- // Dragging inside another list
193
- if (targetList && targetList !== draggedNode.list && (!prevTargetNode || prevTargetNode.list !== targetList)) {
194
- var _tail = targetList.getTail();
195
- if (!_tail) return;
196
- var _node2 = moveNode({
197
- list: targetList,
198
- startNode: _tail,
199
- direction: 'up',
200
- destination: 'cursor',
201
- isAnotherList: true
202
- });
203
- setTargetNode(targetList, _node2);
204
- return;
205
- }
206
-
207
- // Dragging in the origin list
208
- if (prevTargetNode && prevTargetNode.list === draggedNode.list && targetList === draggedNode.list) {
209
- var axis = targetList.horizontal ? 'x' : 'y';
210
- var _prevTargetNode$node = _slicedToArray(prevTargetNode.node, 4),
211
- prevTargetNodeRef = _prevTargetNode$node[2];
212
- if (!prevTargetNodeRef.current) {
213
- // The target node was unmounted. It happens when the virtual list is used.
214
- // If the cursor is above the dragged node, we need to move the nodes down from the tail to the node where
215
- // the cursor is located. Otherwise, we need to move the nodes up from the head to the node where the cursor
216
- // is located.
217
- var draggedNodePos = getDraggedNodePosRef.current();
218
- if (!position || !draggedNodePos) return;
219
- var isDraggingUp = position[axis] < draggedNodePos[axis];
220
- if (isDraggingUp) {
221
- var _tail2 = targetList.getTail();
222
- if (!_tail2 || !_tail2[2].current) return;
223
- var _node3 = moveNode({
224
- list: targetList,
225
- startNode: createEmptyNode({
226
- prev: _tail2
227
- }),
228
- direction: 'up',
229
- destination: 'cursor'
230
- });
231
- setTargetNode(targetList, _node3);
232
- } else {
233
- var head = targetList.getHead();
234
- if (!head || !head[2].current) return;
235
- var _node4 = moveNode({
236
- list: targetList,
237
- startNode: createEmptyNode({
238
- next: head
239
- }),
240
- direction: 'down',
241
- destination: 'cursor'
242
- });
243
- setTargetNode(targetList, _node4);
244
- }
245
- return;
246
- }
247
- var prevTargetNodeRect = (0, _getNodeRect["default"])(prevTargetNode.node[2]);
248
- var startRectProp = targetList.horizontal ? 'left' : 'top';
249
- if (!position || !prevTargetNodeRect) return;
250
- var isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];
251
- var _node5 = isMoveUp ? moveNode({
252
- list: targetList,
253
- startNode: prevTargetNode.node,
254
- direction: 'up',
255
- destination: 'cursor'
256
- }) : moveNode({
257
- list: targetList,
258
- startNode: prevTargetNode.node,
259
- direction: 'down',
260
- destination: 'cursor'
261
- });
262
- setTargetNode(targetList, _node5);
263
- return;
264
- }
265
-
266
- // Dragging in another list
267
- if (targetList && targetList !== draggedNode.list && prevTargetNode && prevTargetNode.list === targetList) {
268
- var _axis = targetList.horizontal ? 'x' : 'y';
269
- var _prevTargetNodeRect = (0, _getNodeRect["default"])(prevTargetNode.node[2]);
270
- var _startRectProp = targetList.horizontal ? 'left' : 'top';
271
- if (!position || !_prevTargetNodeRect) return;
272
- var _isMoveUp = position[_axis] < _prevTargetNodeRect[_startRectProp];
273
- var _node6 = _isMoveUp ? moveNode({
274
- list: targetList,
275
- startNode: prevTargetNode.node,
276
- direction: 'up',
277
- destination: 'cursor',
278
- isAnotherList: true
279
- }) : moveNode({
280
- list: targetList,
281
- startNode: prevTargetNode.node,
282
- direction: 'down',
283
- destination: 'cursor',
284
- isAnotherList: true
285
- });
286
- setTargetNode(targetList, _node6);
287
- }
288
- }, [draggedNode, targetList, moveNode, clearTargetNode, removeBlankNode, setTargetNode, position]);
289
-
290
- // Update the target node if either the position or the target list has been changed
291
- (0, _react.useEffect)(function () {
292
- updateTargetNode();
293
- }, [updateTargetNode]);
294
-
295
- // Update the target node if the target list has been scrolled
296
- var _useThrottle = (0, _useThrottle3["default"])(updateTargetNode, 100),
297
- _useThrottle2 = _slicedToArray(_useThrottle, 1),
298
- throttledUpdateTargetNode = _useThrottle2[0];
299
- (0, _useEvent["default"])(targetList ? targetList.ref : undefined, 'scroll', throttledUpdateTargetNode);
300
- (0, _useEvent["default"])(window, 'scroll', throttledUpdateTargetNode);
301
-
302
- // Reset styles of the affected nodes when the dragged node was dropped
303
- (0, _react.useEffect)(function () {
304
- if (!draggedNode) return function () {};
305
- var _draggedNode$node2 = _slicedToArray(draggedNode.node, 5),
306
- draggedNodeIndex = _draggedNode$node2[4];
307
- return function () {
308
- var targetNode = targetNodeRef.current;
309
-
310
- // If the dragged node was outside the origin list, reset the styles for the nodes,
311
- // starting at the tail and ending with the dragged node in the origin list.
312
- if (!targetNode || targetNode.list !== draggedNode.list) {
313
- var tail = draggedNode.list.getTail();
314
- if (tail) {
315
- var node = tail;
316
- while (true) {
317
- var _node7 = node,
318
- _node8 = _slicedToArray(_node7, 5),
319
- prev = _node8[0],
320
- nodeSetStyle = _node8[3],
321
- nodeIndex = _node8[4];
322
- nodeSetStyle({});
323
- if (!prev || nodeIndex <= draggedNodeIndex) break;
324
- node = prev;
325
- }
326
- }
327
- }
328
-
329
- // If the dragged node was inside another list, reset the styles for the nodes,
330
- // starting at the tail and ending with the dragged node in the target list.
331
- if (targetNode && targetNode.list !== draggedNode.list) {
332
- var _tail3 = targetNode.list.getTail();
333
- var _targetNode$node = _slicedToArray(targetNode.node, 5),
334
- targetNodeIndex = _targetNode$node[4];
335
- if (_tail3) {
336
- var _node9 = _tail3;
337
- while (true) {
338
- var _node10 = _node9,
339
- _node11 = _slicedToArray(_node10, 5),
340
- _prev = _node11[0],
341
- _nodeSetStyle = _node11[3],
342
- _nodeIndex = _node11[4];
343
- _nodeSetStyle({});
344
- if (!_prev || _nodeIndex <= targetNodeIndex) break;
345
- _node9 = _prev;
346
- }
347
- }
348
- }
349
-
350
- // If the dragged node was moved inside the origin list, reset the styles for the nodes,
351
- // starting with target node and ending with the dragged node.
352
- if (targetNode && targetNode.list === draggedNode.list) {
353
- var _targetNode$node2 = _slicedToArray(targetNode.node, 5),
354
- targetNodeSetStyle = _targetNode$node2[3],
355
- _targetNodeIndex = _targetNode$node2[4];
356
- if (_targetNodeIndex > draggedNodeIndex) {
357
- var _node12 = targetNode.node;
358
- while (true) {
359
- var _node13 = _node12,
360
- _node14 = _slicedToArray(_node13, 5),
361
- _prev2 = _node14[0],
362
- _nodeSetStyle2 = _node14[3],
363
- _nodeIndex2 = _node14[4];
364
- _nodeSetStyle2({});
365
- if (!_prev2 || _nodeIndex2 <= draggedNodeIndex) break;
366
- _node12 = _prev2;
367
- }
368
- } else if (_targetNodeIndex < draggedNodeIndex) {
369
- var _node15 = targetNode.node;
370
- while (true) {
371
- var _node16 = _node15,
372
- _node17 = _slicedToArray(_node16, 5),
373
- next = _node17[1],
374
- _nodeSetStyle3 = _node17[3],
375
- _nodeIndex3 = _node17[4];
376
- _nodeSetStyle3({});
377
- if (!next || _nodeIndex3 >= draggedNodeIndex) break;
378
- _node15 = next;
379
- }
380
- } else if (_targetNodeIndex === draggedNodeIndex) {
381
- targetNodeSetStyle({});
382
- }
383
- }
384
- };
385
- }, [draggedNode]);
386
-
387
- // Update the position of the newly mounted nodes in the origin list (used in the virtual list)
388
- (0, _react.useEffect)(function () {
389
- if (!draggedNode) return function () {};
390
- var _draggedNode$node3 = _slicedToArray(draggedNode.node, 5),
391
- draggedNodeIndex = _draggedNode$node3[4];
392
- var update = function update(nodeProps) {
393
- var setStyle = nodeProps.setStyle,
394
- index = nodeProps.index;
395
- var targetNode = targetNodeRef.current;
396
-
397
- // Set the hidden style, if the mounted node is the dragged node
398
- if (index === draggedNodeIndex) {
399
- setStyle(HIDDEN_NODE_STYLE);
400
- return;
401
- }
402
-
403
- // If the dragged node is inside the origin list
404
- if (targetNode && targetNode.list === draggedNode.list) {
405
- // Move the mounted node up/down, if it is located between the dragged and target node
406
- var _targetNode$node3 = _slicedToArray(targetNode.node, 5),
407
- targetNodeIndex = _targetNode$node3[4];
408
- if (index > draggedNodeIndex && index < targetNodeIndex) {
409
- setStyle(getNodeStyle('up', targetNode.list.horizontal));
410
- } else if (index < draggedNodeIndex && index > targetNodeIndex) {
411
- setStyle(getNodeStyle('down', targetNode.list.horizontal));
412
- }
413
- } else if (index > draggedNodeIndex) {
414
- // Otherwise, move the mounted node up, if it is located below the dragged node
415
- setStyle(getNodeStyle('up', draggedNode.list.horizontal));
416
- }
417
- };
418
- draggedNode.list.addListener(update);
419
- return function () {
420
- return draggedNode.list.removeListener(update);
421
- };
422
- }, [draggedNode, getNodeStyle]);
423
-
424
- // Update the position of the newly mounted nodes in the target list (used in the virtual list)
425
- (0, _react.useEffect)(function () {
426
- if (!draggedNode || !targetList || targetList === draggedNode.list) {
427
- return function () {};
428
- }
429
- var update = function update(nodeProps) {
430
- var setStyle = nodeProps.setStyle,
431
- index = nodeProps.index;
432
- var targetNode = targetNodeRef.current;
433
- if (!targetNode) return;
434
- var _targetNode$node4 = _slicedToArray(targetNode.node, 5),
435
- targetNodeIndex = _targetNode$node4[4];
436
- if (index >= targetNodeIndex) {
437
- // Move the mounted node down, if it is located below the target node or if it is the target node
438
- setStyle(getNodeStyle('down', targetList.horizontal));
439
- }
440
- };
441
- targetList.addListener(update);
442
- return function () {
443
- return targetList.removeListener(update);
444
- };
445
- }, [draggedNode, getNodeStyle, targetList]);
446
-
447
- // Call the onDragEnd callback if the draggedNode was changed to null
448
- (0, _react.useEffect)(function () {
449
- if (!draggedNode) return function () {};
450
- return function () {
451
- // eslint-disable-next-line react-hooks/exhaustive-deps
452
- var target = targetRef.current;
453
- if (!target) return;
454
- var _draggedNode$node4 = _slicedToArray(draggedNode.node, 6),
455
- draggedNodeIndex = _draggedNode$node4[4],
456
- draggedNodeId = _draggedNode$node4[5];
457
- var dragged = {
458
- listId: draggedNode.list.id,
459
- index: draggedNodeIndex,
460
- id: draggedNodeId
461
- };
462
- if (dragged.id === target.id && dragged.index === target.index) return;
463
- onDragEndRef.current(dragged, target);
464
- };
465
- }, [draggedNode]);
466
- };
467
- var _default = exports["default"] = useDragEffect;
468
- //# sourceMappingURL=useDragEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDragEffect.js","names":["_useEvent","_interopRequireDefault","require","_useThrottle3","_react","_getElementScroll2","_getNodeRect","_useBlankNode","_useGetNodeStyle","_useInitRect","_useInitScrollOffset","_useMoveNode","_useTargetList","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","isArray","HIDDEN_NODE_STYLE","opacity","pointerEvents","createEmptyNode","_ref","_ref$prev","prev","_ref$next","current","useDragEffect","props","draggedNode","cursorPosition","listStoreRef","onDragEnd","targetRef","useRef","targetNodeRef","useEffect","onDragEndRef","initDraggedNodeRect","useInitRect","node","undefined","initDraggedNodeListScrollOffset","useInitScrollOffset","list","ref","position","useMemo","x","y","initWidth","initHeight","targetList","useTargetList","getNodeStyle","useGetNodeStyle","moveNode","useMoveNode","setTargetNode","useCallback","_node","nodeIndex","nodeId","listId","id","index","clearTargetNode","getDraggedNodePos","initX","initY","initScrollLeft","initScrollTop","_getElementScroll","getElementScroll","scrollLeft","scrollTop","getDraggedNodePosRef","_draggedNode$node","draggedNodeSetStyle","removeBlankNode","useBlankNode","updateTargetNode","prevTargetNode","startNode","direction","destination","isAnotherList","tail","getTail","axis","horizontal","_prevTargetNode$node","prevTargetNodeRef","draggedNodePos","isDraggingUp","head","getHead","prevTargetNodeRect","getNodeRect","startRectProp","isMoveUp","_useThrottle","useThrottle","_useThrottle2","throttledUpdateTargetNode","useEvent","window","_draggedNode$node2","draggedNodeIndex","targetNode","_node7","_node8","nodeSetStyle","_targetNode$node","targetNodeIndex","_node10","_node11","_targetNode$node2","targetNodeSetStyle","_node13","_node14","_node16","_node17","_draggedNode$node3","update","nodeProps","setStyle","_targetNode$node3","addListener","removeListener","_targetNode$node4","target","_draggedNode$node4","draggedNodeId","dragged","_default","exports"],"sources":["../../../src/utils/useDragEffect.ts"],"sourcesContent":["import { Position } from '@os-design/use-drag';\nimport useEvent from '@os-design/use-event';\nimport useThrottle from '@os-design/use-throttle';\nimport {\n CSSProperties,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport ListStore from './ListStore';\nimport NodeList, { ExistingNode, Node, NodeProps } from './NodeList';\nimport getElementScroll from './getElementScroll';\nimport getNodeRect from './getNodeRect';\nimport useBlankNode from './useBlankNode';\nimport useGetNodeStyle from './useGetNodeStyle';\nimport useInitRect from './useInitRect';\nimport useInitScrollOffset from './useInitScrollOffset';\nimport useMoveNode from './useMoveNode';\nimport useTargetList from './useTargetList';\n\nexport interface DraggedNode {\n list: NodeList;\n node: ExistingNode;\n position: Position;\n}\n\ninterface TargetNode {\n list: NodeList;\n node: ExistingNode;\n}\n\nexport interface ItemLocation {\n listId: string;\n index: number;\n id: string;\n}\n\nexport type DragEndHandler = (\n dragged: ItemLocation,\n target: ItemLocation\n) => void;\n\ninterface UseDragEffectProps {\n draggedNode: DraggedNode | null;\n cursorPosition: Position;\n listStoreRef: RefObject<ListStore>;\n onDragEnd: DragEndHandler;\n}\n\nconst HIDDEN_NODE_STYLE: CSSProperties = {\n opacity: 0,\n pointerEvents: 'none',\n};\n\nconst createEmptyNode = ({\n prev = null,\n next = null,\n}: {\n prev?: Node;\n next?: Node;\n}): ExistingNode => [prev, next, { current: null }, () => {}, -1, 'id'];\n\n/* eslint-disable no-constant-condition */\n\nconst useDragEffect = (props: UseDragEffectProps) => {\n const { draggedNode, cursorPosition, listStoreRef, onDragEnd } = props;\n\n const targetRef = useRef<ItemLocation | null>(null);\n const targetNodeRef = useRef<TargetNode | null>(draggedNode);\n\n useEffect(() => {\n targetNodeRef.current = draggedNode;\n }, [draggedNode]);\n\n const onDragEndRef = useRef(onDragEnd);\n useEffect(() => {\n onDragEndRef.current = onDragEnd;\n }, [onDragEnd]);\n\n // The initial bounds of the dragged node.\n // We can't read the bounds of the dragged node on the fly because the node can be unmounted in the virtual list.\n const initDraggedNodeRect = useInitRect(\n draggedNode ? draggedNode.node[2] : undefined\n );\n\n // The initial scroll position of the list where the dragged node is located.\n // Used to detect the actual position of the dragged node. The purpose is the same as with initDraggedNodeRect.\n const initDraggedNodeListScrollOffset = useInitScrollOffset(\n draggedNode ? draggedNode.list.ref : undefined\n );\n\n // The central position of the dragged node\n const position = useMemo(() => {\n if (!draggedNode || !initDraggedNodeRect) return null;\n const { x, y } = cursorPosition;\n const { initWidth, initHeight } = initDraggedNodeRect;\n return {\n x: x - draggedNode.position.x + initWidth / 2,\n y: y - draggedNode.position.y + initHeight / 2,\n };\n }, [cursorPosition, draggedNode, initDraggedNodeRect]);\n\n // The list in which the cursor is located\n const targetList = useTargetList(position, listStoreRef);\n\n // Returns the style for moving the node in the specified direction\n const getNodeStyle = useGetNodeStyle(initDraggedNodeRect);\n\n // Moves the node up or down\n const moveNode = useMoveNode({ position, draggedNode, getNodeStyle });\n\n const setTargetNode = useCallback((list: NodeList, node: ExistingNode) => {\n const [, , , , nodeIndex, nodeId] = node;\n targetNodeRef.current = { list, node };\n targetRef.current = {\n listId: list.id,\n index: nodeIndex,\n id: nodeId,\n };\n }, []);\n\n const clearTargetNode = useCallback(() => {\n targetNodeRef.current = null;\n targetRef.current = null;\n }, []);\n\n // Returns the central position of the dragged node in the list\n const getDraggedNodePos = useCallback(() => {\n if (\n !targetList ||\n !targetList.ref.current ||\n !initDraggedNodeRect ||\n !initDraggedNodeListScrollOffset\n ) {\n return null;\n }\n const { initX, initY, initWidth, initHeight } = initDraggedNodeRect;\n const { initScrollLeft, initScrollTop } = initDraggedNodeListScrollOffset;\n const { scrollLeft, scrollTop } = getElementScroll(targetList.ref.current);\n return {\n x: initX + initWidth / 2 + initScrollLeft - scrollLeft,\n y: initY + initHeight / 2 + initScrollTop - scrollTop,\n };\n }, [initDraggedNodeListScrollOffset, initDraggedNodeRect, targetList]);\n\n const getDraggedNodePosRef = useRef(getDraggedNodePos);\n useEffect(() => {\n getDraggedNodePosRef.current = getDraggedNodePos;\n }, [getDraggedNodePos]);\n\n // Hide the dragged node\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , draggedNodeSetStyle] = draggedNode.node;\n draggedNodeSetStyle(HIDDEN_NODE_STYLE);\n return () => draggedNodeSetStyle({});\n }, [draggedNode]);\n\n // Append the blank node to the list to increase the height of it.\n // Used when the dragged node is located inside another list.\n const removeBlankNode = useBlankNode({\n draggedNode,\n targetList,\n initDraggedNodeRect,\n });\n\n const updateTargetNode = useCallback(() => {\n if (!draggedNode) return;\n const prevTargetNode = targetNodeRef.current; // The last updated node\n\n // Dragging outside the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList !== draggedNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n });\n clearTargetNode();\n }\n\n // Dragging outside another list\n if (\n prevTargetNode &&\n prevTargetNode.list !== draggedNode.list &&\n targetList !== prevTargetNode.list\n ) {\n moveNode({\n list: prevTargetNode.list,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'end',\n isAnotherList: true,\n });\n removeBlankNode();\n clearTargetNode();\n }\n\n // Dragging inside the origin list\n if (!prevTargetNode && targetList === draggedNode.list) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging inside another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n (!prevTargetNode || prevTargetNode.list !== targetList)\n ) {\n const tail = targetList.getTail();\n if (!tail) return;\n const node = moveNode({\n list: targetList,\n startNode: tail,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in the origin list\n if (\n prevTargetNode &&\n prevTargetNode.list === draggedNode.list &&\n targetList === draggedNode.list\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const [, , prevTargetNodeRef, ,] = prevTargetNode.node;\n if (!prevTargetNodeRef.current) {\n // The target node was unmounted. It happens when the virtual list is used.\n // If the cursor is above the dragged node, we need to move the nodes down from the tail to the node where\n // the cursor is located. Otherwise, we need to move the nodes up from the head to the node where the cursor\n // is located.\n const draggedNodePos = getDraggedNodePosRef.current();\n if (!position || !draggedNodePos) return;\n const isDraggingUp = position[axis] < draggedNodePos[axis];\n if (isDraggingUp) {\n const tail = targetList.getTail();\n if (!tail || !tail[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ prev: tail }),\n direction: 'up',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n } else {\n const head = targetList.getHead();\n if (!head || !head[2].current) return;\n const node = moveNode({\n list: targetList,\n startNode: createEmptyNode({ next: head }),\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n }\n return;\n }\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n });\n setTargetNode(targetList, node);\n return;\n }\n\n // Dragging in another list\n if (\n targetList &&\n targetList !== draggedNode.list &&\n prevTargetNode &&\n prevTargetNode.list === targetList\n ) {\n const axis = targetList.horizontal ? 'x' : 'y';\n const prevTargetNodeRect = getNodeRect(prevTargetNode.node[2]);\n const startRectProp = targetList.horizontal ? 'left' : 'top';\n if (!position || !prevTargetNodeRect) return;\n const isMoveUp = position[axis] < prevTargetNodeRect[startRectProp];\n const node = isMoveUp\n ? moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'up',\n destination: 'cursor',\n isAnotherList: true,\n })\n : moveNode({\n list: targetList,\n startNode: prevTargetNode.node,\n direction: 'down',\n destination: 'cursor',\n isAnotherList: true,\n });\n setTargetNode(targetList, node);\n }\n }, [\n draggedNode,\n targetList,\n moveNode,\n clearTargetNode,\n removeBlankNode,\n setTargetNode,\n position,\n ]);\n\n // Update the target node if either the position or the target list has been changed\n useEffect(() => {\n updateTargetNode();\n }, [updateTargetNode]);\n\n // Update the target node if the target list has been scrolled\n const [throttledUpdateTargetNode] = useThrottle(updateTargetNode, 100);\n useEvent(\n (targetList ? targetList.ref : undefined) as unknown as EventTarget,\n 'scroll',\n throttledUpdateTargetNode\n );\n useEvent(window, 'scroll', throttledUpdateTargetNode);\n\n // Reset styles of the affected nodes when the dragged node was dropped\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n return () => {\n const targetNode = targetNodeRef.current;\n\n // If the dragged node was outside the origin list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the origin list.\n if (!targetNode || targetNode.list !== draggedNode.list) {\n const tail = draggedNode.list.getTail();\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was inside another list, reset the styles for the nodes,\n // starting at the tail and ending with the dragged node in the target list.\n if (targetNode && targetNode.list !== draggedNode.list) {\n const tail = targetNode.list.getTail();\n const [, , , , targetNodeIndex] = targetNode.node;\n if (tail) {\n let node = tail;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= targetNodeIndex) break;\n node = prev;\n }\n }\n }\n\n // If the dragged node was moved inside the origin list, reset the styles for the nodes,\n // starting with target node and ending with the dragged node.\n if (targetNode && targetNode.list === draggedNode.list) {\n const [, , , targetNodeSetStyle, targetNodeIndex] = targetNode.node;\n if (targetNodeIndex > draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [prev, , , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!prev || nodeIndex <= draggedNodeIndex) break;\n node = prev;\n }\n } else if (targetNodeIndex < draggedNodeIndex) {\n let { node } = targetNode;\n while (true) {\n const [, next, , nodeSetStyle, nodeIndex] = node;\n nodeSetStyle({});\n if (!next || nodeIndex >= draggedNodeIndex) break;\n node = next;\n }\n } else if (targetNodeIndex === draggedNodeIndex) {\n targetNodeSetStyle({});\n }\n }\n };\n }, [draggedNode]);\n\n // Update the position of the newly mounted nodes in the origin list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode) return () => {};\n const [, , , , draggedNodeIndex] = draggedNode.node;\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n\n // Set the hidden style, if the mounted node is the dragged node\n if (index === draggedNodeIndex) {\n setStyle(HIDDEN_NODE_STYLE);\n return;\n }\n\n // If the dragged node is inside the origin list\n if (targetNode && targetNode.list === draggedNode.list) {\n // Move the mounted node up/down, if it is located between the dragged and target node\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index > draggedNodeIndex && index < targetNodeIndex) {\n setStyle(getNodeStyle('up', targetNode.list.horizontal));\n } else if (index < draggedNodeIndex && index > targetNodeIndex) {\n setStyle(getNodeStyle('down', targetNode.list.horizontal));\n }\n } else if (index > draggedNodeIndex) {\n // Otherwise, move the mounted node up, if it is located below the dragged node\n setStyle(getNodeStyle('up', draggedNode.list.horizontal));\n }\n };\n\n draggedNode.list.addListener(update);\n return () => draggedNode.list.removeListener(update);\n }, [draggedNode, getNodeStyle]);\n\n // Update the position of the newly mounted nodes in the target list (used in the virtual list)\n useEffect(() => {\n if (!draggedNode || !targetList || targetList === draggedNode.list) {\n return () => {};\n }\n\n const update = (nodeProps: NodeProps) => {\n const { setStyle, index } = nodeProps;\n const targetNode = targetNodeRef.current;\n if (!targetNode) return;\n const [, , , , targetNodeIndex] = targetNode.node;\n if (index >= targetNodeIndex) {\n // Move the mounted node down, if it is located below the target node or if it is the target node\n setStyle(getNodeStyle('down', targetList.horizontal));\n }\n };\n\n targetList.addListener(update);\n return () => targetList.removeListener(update);\n }, [draggedNode, getNodeStyle, targetList]);\n\n // Call the onDragEnd callback if the draggedNode was changed to null\n useEffect(() => {\n if (!draggedNode) return () => {};\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const target = targetRef.current;\n if (!target) return;\n const [, , , , draggedNodeIndex, draggedNodeId] = draggedNode.node;\n const dragged = {\n listId: draggedNode.list.id,\n index: draggedNodeIndex,\n id: draggedNodeId,\n };\n if (dragged.id === target.id && dragged.index === target.index) return;\n onDragEndRef.current(dragged, target);\n };\n }, [draggedNode]);\n};\n\nexport default useDragEffect;\n"],"mappings":"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","ignoreList":[]}
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = exports.DroppableContext = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
11
- var DroppableContext = exports.DroppableContext = /*#__PURE__*/_react["default"].createContext({
12
- registerNode: function registerNode() {
13
- return [null, null, {
14
- current: null
15
- }, function () {}, -1, 'id'];
16
- },
17
- deregisterNode: function deregisterNode() {},
18
- onMouseDown: function onMouseDown() {},
19
- onTouchStart: function onTouchStart() {}
20
- });
21
- var useDroppable = function useDroppable() {
22
- return (0, _react.useContext)(DroppableContext);
23
- };
24
- var _default = exports["default"] = useDroppable;
25
- //# sourceMappingURL=useDroppable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDroppable.js","names":["_react","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DroppableContext","exports","React","createContext","registerNode","current","deregisterNode","onMouseDown","onTouchStart","useDroppable","useContext","_default"],"sources":["../../../src/utils/useDroppable.ts"],"sourcesContent":["import React, { MouseEvent, TouchEvent, useContext } from 'react';\nimport { ExistingNode, NodeProps } from './NodeList';\n\ninterface DroppableContextProps {\n registerNode: (props: NodeProps) => ExistingNode;\n deregisterNode: (node: ExistingNode) => void;\n onMouseDown: (e: MouseEvent, node: ExistingNode) => void;\n onTouchStart: (e: TouchEvent, node: ExistingNode) => void;\n}\n\nexport const DroppableContext = React.createContext<DroppableContextProps>({\n registerNode: () =>\n [null, null, { current: null }, () => {}, -1, 'id'] as ExistingNode,\n deregisterNode: () => {},\n onMouseDown: () => {},\n onTouchStart: () => {},\n});\n\nconst useDroppable = (): DroppableContextProps => useContext(DroppableContext);\n\nexport default useDroppable;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAkE,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAU3D,IAAMW,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGE,iBAAK,CAACC,aAAa,CAAwB;EACzEC,YAAY,EAAE,SAAAA,aAAA;IAAA,OACZ,CAAC,IAAI,EAAE,IAAI,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,EAAE,YAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;EAAA,CAAgB;EACrEC,cAAc,EAAE,SAAAA,eAAA,EAAM,CAAC,CAAC;EACxBC,WAAW,EAAE,SAAAA,YAAA,EAAM,CAAC,CAAC;EACrBC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC;AACvB,CAAC,CAAC;AAEF,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA;EAAA,OAAgC,IAAAC,iBAAU,EAACV,gBAAgB,CAAC;AAAA;AAAC,IAAAW,QAAA,GAAAV,OAAA,cAEhEQ,YAAY","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = require("react");
8
- var useGeneratedId = function useGeneratedId() {
9
- return (0, _react.useMemo)(function () {
10
- return Math.random().toString(16).slice(2);
11
- }, []);
12
- };
13
- var _default = exports["default"] = useGeneratedId;
14
- //# sourceMappingURL=useGeneratedId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGeneratedId.js","names":["_react","require","useGeneratedId","useMemo","Math","random","toString","slice","_default","exports"],"sources":["../../../src/utils/useGeneratedId.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nconst useGeneratedId = () =>\n useMemo(() => Math.random().toString(16).slice(2), []);\n\nexport default useGeneratedId;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,OAClB,IAAAC,cAAO,EAAC;IAAA,OAAMC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;AAAA;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAE1CP,cAAc","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = require("react");
8
- var useGetNodeStyle = function useGetNodeStyle(size) {
9
- var sizeRef = (0, _react.useRef)(size);
10
- (0, _react.useEffect)(function () {
11
- sizeRef.current = size;
12
- }, [size]);
13
- return (0, _react.useCallback)(function (type, horizontal) {
14
- if (type === 'init' || !sizeRef.current) return {};
15
- var translateFn = horizontal ? 'translateX' : 'translateY';
16
- var sizeProp = horizontal ? 'initWidth' : 'initHeight';
17
- var sign = type === 'down' ? 1 : -1;
18
- var style = {};
19
- style.transform = "".concat(translateFn, "(").concat(sign * sizeRef.current[sizeProp], "px)");
20
- return style;
21
- }, []);
22
- };
23
- var _default = exports["default"] = useGetNodeStyle;
24
- //# sourceMappingURL=useGetNodeStyle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetNodeStyle.js","names":["_react","require","useGetNodeStyle","size","sizeRef","useRef","useEffect","current","useCallback","type","horizontal","translateFn","sizeProp","sign","style","transform","concat","_default","exports"],"sources":["../../../src/utils/useGetNodeStyle.ts"],"sourcesContent":["import { CSSProperties, useCallback, useEffect, useRef } from 'react';\n\ninterface InitSize {\n initWidth: number;\n initHeight: number;\n}\n\nexport type NodeStyleGetter = (\n type: 'up' | 'down' | 'init',\n horizontal: boolean\n) => CSSProperties;\n\nconst useGetNodeStyle = (size: InitSize | null): NodeStyleGetter => {\n const sizeRef = useRef(size);\n\n useEffect(() => {\n sizeRef.current = size;\n }, [size]);\n\n return useCallback<NodeStyleGetter>((type, horizontal) => {\n if (type === 'init' || !sizeRef.current) return {};\n\n const translateFn = horizontal ? 'translateX' : 'translateY';\n const sizeProp = horizontal ? 'initWidth' : 'initHeight';\n const sign = type === 'down' ? 1 : -1;\n\n const style: CSSProperties = {};\n style.transform = `${translateFn}(${sign * sizeRef.current[sizeProp]}px)`;\n\n return style;\n }, []);\n};\n\nexport default useGetNodeStyle;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAqB,EAAsB;EAClE,IAAMC,OAAO,GAAG,IAAAC,aAAM,EAACF,IAAI,CAAC;EAE5B,IAAAG,gBAAS,EAAC,YAAM;IACdF,OAAO,CAACG,OAAO,GAAGJ,IAAI;EACxB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,OAAO,IAAAK,kBAAW,EAAkB,UAACC,IAAI,EAAEC,UAAU,EAAK;IACxD,IAAID,IAAI,KAAK,MAAM,IAAI,CAACL,OAAO,CAACG,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,IAAMI,WAAW,GAAGD,UAAU,GAAG,YAAY,GAAG,YAAY;IAC5D,IAAME,QAAQ,GAAGF,UAAU,GAAG,WAAW,GAAG,YAAY;IACxD,IAAMG,IAAI,GAAGJ,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IAErC,IAAMK,KAAoB,GAAG,CAAC,CAAC;IAC/BA,KAAK,CAACC,SAAS,MAAAC,MAAA,CAAML,WAAW,OAAAK,MAAA,CAAIH,IAAI,GAAGT,OAAO,CAACG,OAAO,CAACK,QAAQ,CAAC,QAAK;IAEzE,OAAOE,KAAK;EACd,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEahB,eAAe","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _react = require("react");
8
- var useInitRect = function useInitRect(ref) {
9
- return (0, _react.useMemo)(function () {
10
- if (!ref || !ref.current) return null;
11
- var rect = ref.current.getBoundingClientRect();
12
- return {
13
- initX: rect.x,
14
- initY: rect.y,
15
- initWidth: rect.width,
16
- initHeight: rect.height
17
- };
18
- }, [ref]);
19
- };
20
- var _default = exports["default"] = useInitRect;
21
- //# sourceMappingURL=useInitRect.js.map