@os-design/drag-sort 1.0.30 → 1.0.32
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.
- package/dist/DragAndDrop.d.ts +52 -0
- package/dist/DragAndDrop.d.ts.map +1 -0
- package/dist/{esm/DragAndDrop.js → DragAndDrop.js} +26 -24
- package/dist/Draggable.d.ts +42 -0
- package/dist/Draggable.d.ts.map +1 -0
- package/dist/{esm/Draggable.js → Draggable.js} +12 -10
- package/dist/Droppable.d.ts +38 -0
- package/dist/Droppable.d.ts.map +1 -0
- package/dist/{esm/Droppable.js → Droppable.js} +13 -12
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/utils/ListStore.d.ts +22 -0
- package/dist/utils/ListStore.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/ListStore.js +1 -2
- package/dist/utils/NodeList.d.ts +104 -0
- package/dist/utils/NodeList.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/NodeList.js +2 -3
- package/dist/utils/getElementOffset.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/getElementOffset.js +1 -2
- package/dist/utils/getElementScroll.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/getElementScroll.js +1 -2
- package/dist/{types/utils → utils}/getNodeRect.d.ts +4 -1
- package/dist/utils/getNodeRect.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/getNodeRect.js +3 -5
- package/dist/utils/useAppendClassName.d.ts +7 -0
- package/dist/utils/useAppendClassName.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useAppendClassName.js +1 -2
- package/dist/{types/utils → utils}/useBlankNode.d.ts +4 -0
- package/dist/utils/useBlankNode.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useBlankNode.js +1 -2
- package/dist/{types/utils → utils}/useDragAndDrop.d.ts +3 -3
- package/dist/utils/useDragAndDrop.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useDragAndDrop.js +1 -2
- package/dist/{types/utils → utils}/useDragEffect.d.ts +3 -3
- package/dist/utils/useDragEffect.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useDragEffect.js +9 -14
- package/dist/{types/utils → utils}/useDroppable.d.ts +2 -2
- package/dist/utils/useDroppable.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useDroppable.js +1 -2
- package/dist/utils/useGeneratedId.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useGeneratedId.js +1 -2
- package/dist/{types/utils → utils}/useGetNodeStyle.d.ts +1 -1
- package/dist/utils/useGetNodeStyle.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useGetNodeStyle.js +1 -2
- package/dist/{types/utils → utils}/useInitRect.d.ts +1 -1
- package/dist/utils/useInitRect.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useInitRect.js +1 -2
- package/dist/{types/utils → utils}/useInitScrollOffset.d.ts +1 -1
- package/dist/utils/useInitScrollOffset.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useInitScrollOffset.js +2 -3
- package/dist/{types/utils → utils}/useMoveNode.d.ts +3 -4
- package/dist/utils/useMoveNode.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useMoveNode.js +2 -5
- package/dist/utils/useScrollEventByPoint.d.ts +11 -0
- package/dist/utils/useScrollEventByPoint.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useScrollEventByPoint.js +1 -2
- package/dist/{types/utils → utils}/useTargetList.d.ts +2 -2
- package/dist/utils/useTargetList.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useTargetList.js +2 -3
- package/dist/{types/utils → utils}/useTransitionStyle.d.ts +3 -0
- package/dist/utils/useTransitionStyle.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/useTransitionStyle.js +1 -2
- package/package.json +16 -17
- package/src/DragAndDrop.tsx +10 -10
- package/src/Draggable.tsx +5 -5
- package/src/Droppable.tsx +6 -6
- package/src/utils/NodeList.ts +2 -2
- package/src/utils/getNodeRect.ts +1 -1
- package/src/utils/useAppendClassName.ts +1 -1
- package/src/utils/useBlankNode.ts +1 -1
- package/src/utils/useDragAndDrop.ts +3 -3
- package/src/utils/useDragEffect.ts +8 -7
- package/src/utils/useDroppable.ts +2 -2
- package/src/utils/useGetNodeStyle.ts +1 -1
- package/src/utils/useInitRect.ts +1 -1
- package/src/utils/useInitScrollOffset.ts +1 -1
- package/src/utils/useMoveNode.ts +3 -5
- package/src/utils/useTargetList.ts +2 -2
- package/dist/cjs/DragAndDrop.js +0 -181
- package/dist/cjs/DragAndDrop.js.map +0 -1
- package/dist/cjs/Draggable.js +0 -81
- package/dist/cjs/Draggable.js.map +0 -1
- package/dist/cjs/Droppable.js +0 -98
- package/dist/cjs/Droppable.js.map +0 -1
- package/dist/cjs/index.js +0 -68
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/utils/ListStore.js +0 -61
- package/dist/cjs/utils/ListStore.js.map +0 -1
- package/dist/cjs/utils/NodeList.js +0 -228
- package/dist/cjs/utils/NodeList.js.map +0 -1
- package/dist/cjs/utils/getElementOffset.js +0 -22
- package/dist/cjs/utils/getElementOffset.js.map +0 -1
- package/dist/cjs/utils/getElementScroll.js +0 -22
- package/dist/cjs/utils/getElementScroll.js.map +0 -1
- package/dist/cjs/utils/getNodeRect.js +0 -38
- package/dist/cjs/utils/getNodeRect.js.map +0 -1
- package/dist/cjs/utils/useAppendClassName.js +0 -23
- package/dist/cjs/utils/useAppendClassName.js.map +0 -1
- package/dist/cjs/utils/useBlankNode.js +0 -94
- package/dist/cjs/utils/useBlankNode.js.map +0 -1
- package/dist/cjs/utils/useDragAndDrop.js +0 -22
- package/dist/cjs/utils/useDragAndDrop.js.map +0 -1
- package/dist/cjs/utils/useDragEffect.js +0 -468
- package/dist/cjs/utils/useDragEffect.js.map +0 -1
- package/dist/cjs/utils/useDroppable.js +0 -25
- package/dist/cjs/utils/useDroppable.js.map +0 -1
- package/dist/cjs/utils/useGeneratedId.js +0 -14
- package/dist/cjs/utils/useGeneratedId.js.map +0 -1
- package/dist/cjs/utils/useGetNodeStyle.js +0 -24
- package/dist/cjs/utils/useGetNodeStyle.js.map +0 -1
- package/dist/cjs/utils/useInitRect.js +0 -21
- package/dist/cjs/utils/useInitRect.js.map +0 -1
- package/dist/cjs/utils/useInitScrollOffset.js +0 -21
- package/dist/cjs/utils/useInitScrollOffset.js.map +0 -1
- package/dist/cjs/utils/useMoveNode.js +0 -90
- package/dist/cjs/utils/useMoveNode.js.map +0 -1
- package/dist/cjs/utils/useScrollEventByPoint.js +0 -57
- package/dist/cjs/utils/useScrollEventByPoint.js.map +0 -1
- package/dist/cjs/utils/useTargetList.js +0 -44
- package/dist/cjs/utils/useTargetList.js.map +0 -1
- package/dist/cjs/utils/useTransitionStyle.js +0 -26
- package/dist/cjs/utils/useTransitionStyle.js.map +0 -1
- package/dist/esm/DragAndDrop.js.map +0 -1
- package/dist/esm/Draggable.js.map +0 -1
- package/dist/esm/Droppable.js.map +0 -1
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/utils/ListStore.js.map +0 -1
- package/dist/esm/utils/NodeList.js.map +0 -1
- package/dist/esm/utils/getElementOffset.js.map +0 -1
- package/dist/esm/utils/getElementScroll.js.map +0 -1
- package/dist/esm/utils/getNodeRect.js.map +0 -1
- package/dist/esm/utils/useAppendClassName.js.map +0 -1
- package/dist/esm/utils/useBlankNode.js.map +0 -1
- package/dist/esm/utils/useDragAndDrop.js.map +0 -1
- package/dist/esm/utils/useDragEffect.js.map +0 -1
- package/dist/esm/utils/useDroppable.js.map +0 -1
- package/dist/esm/utils/useGeneratedId.js.map +0 -1
- package/dist/esm/utils/useGetNodeStyle.js.map +0 -1
- package/dist/esm/utils/useInitRect.js.map +0 -1
- package/dist/esm/utils/useInitScrollOffset.js.map +0 -1
- package/dist/esm/utils/useMoveNode.js.map +0 -1
- package/dist/esm/utils/useScrollEventByPoint.js.map +0 -1
- package/dist/esm/utils/useTargetList.js.map +0 -1
- package/dist/esm/utils/useTransitionStyle.js.map +0 -1
- package/dist/types/DragAndDrop.d.ts +0 -17
- package/dist/types/DragAndDrop.d.ts.map +0 -1
- package/dist/types/Draggable.d.ts +0 -18
- package/dist/types/Draggable.d.ts.map +0 -1
- package/dist/types/Droppable.d.ts +0 -15
- package/dist/types/Droppable.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/utils/ListStore.d.ts +0 -10
- package/dist/types/utils/ListStore.d.ts.map +0 -1
- package/dist/types/utils/NodeList.d.ts +0 -44
- package/dist/types/utils/NodeList.d.ts.map +0 -1
- package/dist/types/utils/getElementOffset.d.ts.map +0 -1
- package/dist/types/utils/getElementScroll.d.ts.map +0 -1
- package/dist/types/utils/getNodeRect.d.ts.map +0 -1
- package/dist/types/utils/useAppendClassName.d.ts +0 -4
- package/dist/types/utils/useAppendClassName.d.ts.map +0 -1
- package/dist/types/utils/useBlankNode.d.ts.map +0 -1
- package/dist/types/utils/useDragAndDrop.d.ts.map +0 -1
- package/dist/types/utils/useDragEffect.d.ts.map +0 -1
- package/dist/types/utils/useDroppable.d.ts.map +0 -1
- package/dist/types/utils/useGeneratedId.d.ts.map +0 -1
- package/dist/types/utils/useGetNodeStyle.d.ts.map +0 -1
- package/dist/types/utils/useInitRect.d.ts.map +0 -1
- package/dist/types/utils/useInitScrollOffset.d.ts.map +0 -1
- package/dist/types/utils/useMoveNode.d.ts.map +0 -1
- package/dist/types/utils/useScrollEventByPoint.d.ts +0 -7
- package/dist/types/utils/useScrollEventByPoint.d.ts.map +0 -1
- package/dist/types/utils/useTargetList.d.ts.map +0 -1
- package/dist/types/utils/useTransitionStyle.d.ts.map +0 -1
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{types/utils → utils}/getElementOffset.d.ts +0 -0
- /package/dist/{types/utils → utils}/getElementScroll.d.ts +0 -0
- /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
|