@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,228 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
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); }
|
|
8
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
-
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."); }
|
|
10
|
-
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); }
|
|
11
|
-
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; }
|
|
12
|
-
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; } }
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
15
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
16
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
17
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
|
-
/* eslint-disable @typescript-eslint/no-explicit-any,no-param-reassign,prefer-destructuring,no-constant-condition */
|
|
20
|
-
// [prev, next, ref, setStyle, index, id]
|
|
21
|
-
/**
|
|
22
|
-
* Stores all the draggable items in the list.
|
|
23
|
-
* The structure of the doubly linked list is used.
|
|
24
|
-
*/
|
|
25
|
-
var NodeList = /*#__PURE__*/function () {
|
|
26
|
-
function NodeList(props) {
|
|
27
|
-
_classCallCheck(this, NodeList);
|
|
28
|
-
/**
|
|
29
|
-
* The ID of the list.
|
|
30
|
-
*/
|
|
31
|
-
this.id = void 0;
|
|
32
|
-
/**
|
|
33
|
-
* The ref to the list.
|
|
34
|
-
*/
|
|
35
|
-
this.ref = void 0;
|
|
36
|
-
/**
|
|
37
|
-
* The inner ref to the list.
|
|
38
|
-
* Used by the virtual list.
|
|
39
|
-
*/
|
|
40
|
-
this.innerRef = void 0;
|
|
41
|
-
/**
|
|
42
|
-
* Whether the list is horizontal.
|
|
43
|
-
*/
|
|
44
|
-
this.horizontal = void 0;
|
|
45
|
-
/**
|
|
46
|
-
* The callback that renders the dragged node.
|
|
47
|
-
*/
|
|
48
|
-
this.renderDraggedNode = void 0;
|
|
49
|
-
/**
|
|
50
|
-
* The head of draggable nodes.
|
|
51
|
-
*/
|
|
52
|
-
this.head = void 0;
|
|
53
|
-
/**
|
|
54
|
-
* The tail of draggable nodes.
|
|
55
|
-
*/
|
|
56
|
-
this.tail = void 0;
|
|
57
|
-
/**
|
|
58
|
-
* Listeners of node addition events.
|
|
59
|
-
*/
|
|
60
|
-
this.listeners = void 0;
|
|
61
|
-
this.id = props.id;
|
|
62
|
-
this.ref = props.ref;
|
|
63
|
-
this.innerRef = props.innerRef;
|
|
64
|
-
this.horizontal = props.horizontal;
|
|
65
|
-
this.renderDraggedNode = props.renderDraggedNode;
|
|
66
|
-
this.head = null;
|
|
67
|
-
this.tail = null;
|
|
68
|
-
this.listeners = [];
|
|
69
|
-
}
|
|
70
|
-
return _createClass(NodeList, [{
|
|
71
|
-
key: "getHead",
|
|
72
|
-
value: function getHead() {
|
|
73
|
-
return this.head;
|
|
74
|
-
}
|
|
75
|
-
}, {
|
|
76
|
-
key: "getTail",
|
|
77
|
-
value: function getTail() {
|
|
78
|
-
return this.tail;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Adds the node to the beginning.
|
|
83
|
-
* TL: O(1).
|
|
84
|
-
*/
|
|
85
|
-
}, {
|
|
86
|
-
key: "addToTheBeginning",
|
|
87
|
-
value: function addToTheBeginning(props) {
|
|
88
|
-
this.head = [null, this.head, props.ref, props.setStyle, props.index, props.id];
|
|
89
|
-
var _this$head = _slicedToArray(this.head, 2),
|
|
90
|
-
next = _this$head[1];
|
|
91
|
-
if (next) next[0] = this.head; // Set the prev cursor of the next element
|
|
92
|
-
if (!this.tail) this.tail = this.head;
|
|
93
|
-
return this.head;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Adds the node to the end.
|
|
98
|
-
* TL: O(1).
|
|
99
|
-
*/
|
|
100
|
-
}, {
|
|
101
|
-
key: "addToTheEnd",
|
|
102
|
-
value: function addToTheEnd(props) {
|
|
103
|
-
this.tail = [this.tail, null, props.ref, props.setStyle, props.index, props.id];
|
|
104
|
-
var _this$tail = _slicedToArray(this.tail, 1),
|
|
105
|
-
prev = _this$tail[0];
|
|
106
|
-
if (prev) prev[1] = this.tail; // Set the next cursor of the prev element
|
|
107
|
-
if (!this.head) this.head = this.tail;
|
|
108
|
-
return this.tail;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Adds the node after the specified one.
|
|
113
|
-
* TL: O(1).
|
|
114
|
-
*/
|
|
115
|
-
}, {
|
|
116
|
-
key: "add",
|
|
117
|
-
value:
|
|
118
|
-
/**
|
|
119
|
-
* Adds a new node depends on its position.
|
|
120
|
-
* Called when a new node is mounted.
|
|
121
|
-
* TL: O(1) – add to the beginning or to the end, O(n) – add to the middle.
|
|
122
|
-
*/
|
|
123
|
-
function add(props) {
|
|
124
|
-
var index = props.index;
|
|
125
|
-
|
|
126
|
-
// Run listeners
|
|
127
|
-
this.listeners.forEach(function (listener) {
|
|
128
|
-
return listener(props);
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// Add the first node to the beginning
|
|
132
|
-
if (!this.head || !this.tail) {
|
|
133
|
-
return this.addToTheBeginning(props);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Add the node to the beginning if it is located above the first one
|
|
137
|
-
var _this$head2 = _slicedToArray(this.head, 5),
|
|
138
|
-
headIndex = _this$head2[4];
|
|
139
|
-
if (index < headIndex) {
|
|
140
|
-
return this.addToTheBeginning(props);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// Add the node to the end if it is located below the last one
|
|
144
|
-
var _this$tail2 = _slicedToArray(this.tail, 5),
|
|
145
|
-
tailIndex = _this$tail2[4];
|
|
146
|
-
if (index === tailIndex) {
|
|
147
|
-
// The tail is the blank node
|
|
148
|
-
var _this$tail3 = _slicedToArray(this.tail, 1),
|
|
149
|
-
prev = _this$tail3[0];
|
|
150
|
-
if (prev) {
|
|
151
|
-
this.tail[4] += 1;
|
|
152
|
-
return NodeList.addAfter(prev, props);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
if (index > tailIndex) {
|
|
156
|
-
return this.addToTheEnd(props);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// Add the node after the one that is located above the current one
|
|
160
|
-
var node = this.head;
|
|
161
|
-
while (true) {
|
|
162
|
-
var _node = node,
|
|
163
|
-
_node2 = _slicedToArray(_node, 2),
|
|
164
|
-
next = _node2[1];
|
|
165
|
-
if (!next) break;
|
|
166
|
-
var _next = _slicedToArray(next, 5),
|
|
167
|
-
nextIndex = _next[4];
|
|
168
|
-
if (index < nextIndex) break;
|
|
169
|
-
node = next;
|
|
170
|
-
}
|
|
171
|
-
return NodeList.addAfter(node, props);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Removes the existing node.
|
|
176
|
-
* Called when the node is unmounted.
|
|
177
|
-
* TL: O(1).
|
|
178
|
-
*/
|
|
179
|
-
}, {
|
|
180
|
-
key: "remove",
|
|
181
|
-
value: function remove(node) {
|
|
182
|
-
var _node3 = _slicedToArray(node, 2),
|
|
183
|
-
prev = _node3[0],
|
|
184
|
-
next = _node3[1];
|
|
185
|
-
if (!prev && !next) {
|
|
186
|
-
this.head = null;
|
|
187
|
-
this.tail = null;
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
if (!prev && next) {
|
|
191
|
-
next[0] = null;
|
|
192
|
-
this.head = next;
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (prev && !next) {
|
|
196
|
-
prev[1] = null;
|
|
197
|
-
this.tail = prev;
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
if (prev && next) {
|
|
201
|
-
prev[1] = next;
|
|
202
|
-
next[0] = prev;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}, {
|
|
206
|
-
key: "addListener",
|
|
207
|
-
value: function addListener(callback) {
|
|
208
|
-
this.listeners.push(callback);
|
|
209
|
-
}
|
|
210
|
-
}, {
|
|
211
|
-
key: "removeListener",
|
|
212
|
-
value: function removeListener(callback) {
|
|
213
|
-
var index = this.listeners.findIndex(function (listener) {
|
|
214
|
-
return listener === callback;
|
|
215
|
-
});
|
|
216
|
-
this.listeners.splice(index, 1);
|
|
217
|
-
}
|
|
218
|
-
}], [{
|
|
219
|
-
key: "addAfter",
|
|
220
|
-
value: function addAfter(node, props) {
|
|
221
|
-
node[1] = [node, node[1], props.ref, props.setStyle, props.index, props.id];
|
|
222
|
-
if (node[1][1]) node[1][1][0] = node[1];
|
|
223
|
-
return node[1];
|
|
224
|
-
}
|
|
225
|
-
}]);
|
|
226
|
-
}();
|
|
227
|
-
var _default = exports["default"] = NodeList;
|
|
228
|
-
//# sourceMappingURL=NodeList.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NodeList.js","names":["NodeList","props","_classCallCheck","id","ref","innerRef","horizontal","renderDraggedNode","head","tail","listeners","_createClass","key","value","getHead","getTail","addToTheBeginning","setStyle","index","_this$head","_slicedToArray","next","addToTheEnd","_this$tail","prev","add","forEach","listener","_this$head2","headIndex","_this$tail2","tailIndex","_this$tail3","addAfter","node","_node","_node2","_next","nextIndex","remove","_node3","addListener","callback","push","removeListener","findIndex","splice","_default","exports"],"sources":["../../../src/utils/NodeList.ts"],"sourcesContent":["import React, { CSSProperties, RefObject } from 'react';\n\n/* eslint-disable @typescript-eslint/no-explicit-any,no-param-reassign,prefer-destructuring,no-constant-condition */\n\n// [prev, next, ref, setStyle, index, id]\nexport type Node =\n | [Node, Node, RefObject<any>, (style: CSSProperties) => void, number, string]\n | null;\n\nexport type ExistingNode = Exclude<Node, null>;\n\nexport interface NodeProps {\n ref: React.MutableRefObject<any>;\n setStyle: (style: CSSProperties) => void;\n index: number;\n id: string;\n}\n\ninterface RenderDraggedNodeProps {\n /**\n * The index of the dragged node.\n */\n index: number;\n /**\n * The ID of the dragged node.\n */\n id: string;\n /**\n * The style of the dragged node with position.\n */\n style: CSSProperties;\n}\n\nexport type RenderDraggedNode = (\n props: RenderDraggedNodeProps\n) => React.ReactNode;\n\ninterface InitProps {\n id: string;\n ref: RefObject<HTMLDivElement>;\n innerRef: RefObject<HTMLDivElement>;\n horizontal: boolean;\n renderDraggedNode: RenderDraggedNode;\n}\n\n/**\n * Stores all the draggable items in the list.\n * The structure of the doubly linked list is used.\n */\nclass NodeList {\n /**\n * The ID of the list.\n */\n public id: string;\n\n /**\n * The ref to the list.\n */\n public ref: RefObject<HTMLDivElement>;\n\n /**\n * The inner ref to the list.\n * Used by the virtual list.\n */\n public innerRef: RefObject<HTMLDivElement>;\n\n /**\n * Whether the list is horizontal.\n */\n public horizontal: boolean;\n\n /**\n * The callback that renders the dragged node.\n */\n public renderDraggedNode: RenderDraggedNode;\n\n /**\n * The head of draggable nodes.\n */\n private head: Node;\n\n /**\n * The tail of draggable nodes.\n */\n private tail: Node;\n\n /**\n * Listeners of node addition events.\n */\n private listeners: Array<(props: NodeProps) => void>;\n\n public constructor(props: InitProps) {\n this.id = props.id;\n this.ref = props.ref;\n this.innerRef = props.innerRef;\n this.horizontal = props.horizontal;\n this.renderDraggedNode = props.renderDraggedNode;\n this.head = null;\n this.tail = null;\n this.listeners = [];\n }\n\n public getHead() {\n return this.head;\n }\n\n public getTail() {\n return this.tail;\n }\n\n /**\n * Adds the node to the beginning.\n * TL: O(1).\n */\n private addToTheBeginning(props: NodeProps): ExistingNode {\n this.head = [\n null,\n this.head,\n props.ref,\n props.setStyle,\n props.index,\n props.id,\n ];\n const [, next] = this.head;\n if (next) next[0] = this.head; // Set the prev cursor of the next element\n if (!this.tail) this.tail = this.head;\n return this.head;\n }\n\n /**\n * Adds the node to the end.\n * TL: O(1).\n */\n private addToTheEnd(props: NodeProps): ExistingNode {\n this.tail = [\n this.tail,\n null,\n props.ref,\n props.setStyle,\n props.index,\n props.id,\n ];\n const [prev] = this.tail;\n if (prev) prev[1] = this.tail; // Set the next cursor of the prev element\n if (!this.head) this.head = this.tail;\n return this.tail;\n }\n\n /**\n * Adds the node after the specified one.\n * TL: O(1).\n */\n private static addAfter(node: ExistingNode, props: NodeProps): ExistingNode {\n node[1] = [node, node[1], props.ref, props.setStyle, props.index, props.id];\n if (node[1][1]) node[1][1][0] = node[1];\n return node[1];\n }\n\n /**\n * Adds a new node depends on its position.\n * Called when a new node is mounted.\n * TL: O(1) – add to the beginning or to the end, O(n) – add to the middle.\n */\n public add(props: NodeProps): ExistingNode {\n const { index } = props;\n\n // Run listeners\n this.listeners.forEach((listener) => listener(props));\n\n // Add the first node to the beginning\n if (!this.head || !this.tail) {\n return this.addToTheBeginning(props);\n }\n\n // Add the node to the beginning if it is located above the first one\n const [, , , , headIndex] = this.head;\n if (index < headIndex) {\n return this.addToTheBeginning(props);\n }\n\n // Add the node to the end if it is located below the last one\n const [, , , , tailIndex] = this.tail;\n if (index === tailIndex) {\n // The tail is the blank node\n const [prev] = this.tail;\n if (prev) {\n this.tail[4] += 1;\n return NodeList.addAfter(prev, props);\n }\n }\n if (index > tailIndex) {\n return this.addToTheEnd(props);\n }\n\n // Add the node after the one that is located above the current one\n let node = this.head;\n while (true) {\n const [, next] = node;\n if (!next) break;\n const [, , , , nextIndex] = next;\n if (index < nextIndex) break;\n node = next;\n }\n return NodeList.addAfter(node, props);\n }\n\n /**\n * Removes the existing node.\n * Called when the node is unmounted.\n * TL: O(1).\n */\n public remove(node: ExistingNode) {\n const [prev, next] = node;\n if (!prev && !next) {\n this.head = null;\n this.tail = null;\n return;\n }\n if (!prev && next) {\n next[0] = null;\n this.head = next;\n return;\n }\n if (prev && !next) {\n prev[1] = null;\n this.tail = prev;\n return;\n }\n if (prev && next) {\n prev[1] = next;\n next[0] = prev;\n }\n }\n\n public addListener(callback: (props: NodeProps) => void) {\n this.listeners.push(callback);\n }\n\n public removeListener(callback: (props: NodeProps) => void) {\n const index = this.listeners.findIndex((listener) => listener === callback);\n this.listeners.splice(index, 1);\n }\n}\n\nexport default NodeList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var getElementOffset = function getElementOffset(element) {
|
|
8
|
-
var offsetLeft = 0;
|
|
9
|
-
var offsetTop = 0;
|
|
10
|
-
var el = element;
|
|
11
|
-
while (el) {
|
|
12
|
-
offsetLeft += el.offsetLeft;
|
|
13
|
-
offsetTop += el.offsetTop;
|
|
14
|
-
el = el.offsetParent;
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
offsetLeft: offsetLeft,
|
|
18
|
-
offsetTop: offsetTop
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
var _default = exports["default"] = getElementOffset;
|
|
22
|
-
//# sourceMappingURL=getElementOffset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getElementOffset.js","names":["getElementOffset","element","offsetLeft","offsetTop","el","offsetParent","_default","exports"],"sources":["../../../src/utils/getElementOffset.ts"],"sourcesContent":["const getElementOffset = (element: HTMLElement) => {\n let offsetLeft = 0;\n let offsetTop = 0;\n let el: HTMLElement | null = element;\n while (el) {\n offsetLeft += el.offsetLeft;\n offsetTop += el.offsetTop;\n el = el.offsetParent as HTMLElement;\n }\n return { offsetLeft, offsetTop };\n};\n\nexport default getElementOffset;\n"],"mappings":";;;;;;AAAA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,OAAoB,EAAK;EACjD,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,EAAsB,GAAGH,OAAO;EACpC,OAAOG,EAAE,EAAE;IACTF,UAAU,IAAIE,EAAE,CAACF,UAAU;IAC3BC,SAAS,IAAIC,EAAE,CAACD,SAAS;IACzBC,EAAE,GAAGA,EAAE,CAACC,YAA2B;EACrC;EACA,OAAO;IAAEH,UAAU,EAAVA,UAAU;IAAEC,SAAS,EAATA;EAAU,CAAC;AAClC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEaP,gBAAgB","ignoreList":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var getElementScroll = function getElementScroll(element) {
|
|
8
|
-
var scrollLeft = 0;
|
|
9
|
-
var scrollTop = 0;
|
|
10
|
-
var el = element;
|
|
11
|
-
while (el) {
|
|
12
|
-
scrollLeft += el.scrollLeft;
|
|
13
|
-
scrollTop += el.scrollTop;
|
|
14
|
-
el = el.parentElement;
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
scrollLeft: scrollLeft,
|
|
18
|
-
scrollTop: scrollTop
|
|
19
|
-
};
|
|
20
|
-
};
|
|
21
|
-
var _default = exports["default"] = getElementScroll;
|
|
22
|
-
//# sourceMappingURL=getElementScroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getElementScroll.js","names":["getElementScroll","element","scrollLeft","scrollTop","el","parentElement","_default","exports"],"sources":["../../../src/utils/getElementScroll.ts"],"sourcesContent":["const getElementScroll = (element: HTMLElement) => {\n let scrollLeft = 0;\n let scrollTop = 0;\n let el: HTMLElement | null = element;\n while (el) {\n scrollLeft += el.scrollLeft;\n scrollTop += el.scrollTop;\n el = el.parentElement;\n }\n return { scrollLeft, scrollTop };\n};\n\nexport default getElementScroll;\n"],"mappings":";;;;;;AAAA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,OAAoB,EAAK;EACjD,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,EAAsB,GAAGH,OAAO;EACpC,OAAOG,EAAE,EAAE;IACTF,UAAU,IAAIE,EAAE,CAACF,UAAU;IAC3BC,SAAS,IAAIC,EAAE,CAACD,SAAS;IACzBC,EAAE,GAAGA,EAAE,CAACC,aAAa;EACvB;EACA,OAAO;IAAEH,UAAU,EAAVA,UAAU;IAAEC,SAAS,EAATA;EAAU,CAAC;AAClC,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEaP,gBAAgB","ignoreList":[]}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _getElementOffset2 = _interopRequireDefault(require("./getElementOffset"));
|
|
8
|
-
var _getElementScroll = _interopRequireDefault(require("./getElementScroll"));
|
|
9
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
-
/**
|
|
11
|
-
* Computes the bounds of the existing node without considering transforms.
|
|
12
|
-
*/
|
|
13
|
-
var getNodeRect = function getNodeRect(ref) {
|
|
14
|
-
if (!ref.current) return null;
|
|
15
|
-
var parent = ref.current.parentElement;
|
|
16
|
-
var _ref$current$getBound = ref.current.getBoundingClientRect(),
|
|
17
|
-
width = _ref$current$getBound.width,
|
|
18
|
-
height = _ref$current$getBound.height;
|
|
19
|
-
var _getElementOffset = (0, _getElementOffset2["default"])(ref.current),
|
|
20
|
-
offsetLeft = _getElementOffset.offsetLeft,
|
|
21
|
-
offsetTop = _getElementOffset.offsetTop;
|
|
22
|
-
var _ref = parent ? (0, _getElementScroll["default"])(parent) : {
|
|
23
|
-
scrollLeft: 0,
|
|
24
|
-
scrollTop: 0
|
|
25
|
-
},
|
|
26
|
-
scrollLeft = _ref.scrollLeft,
|
|
27
|
-
scrollTop = _ref.scrollTop;
|
|
28
|
-
var left = offsetLeft - scrollLeft;
|
|
29
|
-
var top = offsetTop - scrollTop;
|
|
30
|
-
return {
|
|
31
|
-
left: left,
|
|
32
|
-
top: top,
|
|
33
|
-
right: left + width,
|
|
34
|
-
bottom: top + height
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
var _default = exports["default"] = getNodeRect;
|
|
38
|
-
//# sourceMappingURL=getNodeRect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getNodeRect.js","names":["_getElementOffset2","_interopRequireDefault","require","_getElementScroll","obj","__esModule","getNodeRect","ref","current","parent","parentElement","_ref$current$getBound","getBoundingClientRect","width","height","_getElementOffset","getElementOffset","offsetLeft","offsetTop","_ref","getElementScroll","scrollLeft","scrollTop","left","top","right","bottom","_default","exports"],"sources":["../../../src/utils/getNodeRect.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport getElementOffset from './getElementOffset';\nimport getElementScroll from './getElementScroll';\n\n/**\n * Computes the bounds of the existing node without considering transforms.\n */\nconst getNodeRect = (ref: RefObject<HTMLElement>) => {\n if (!ref.current) return null;\n\n const parent = ref.current.parentElement;\n const { width, height } = ref.current.getBoundingClientRect();\n const { offsetLeft, offsetTop } = getElementOffset(ref.current);\n const { scrollLeft, scrollTop } = parent\n ? getElementScroll(parent)\n : { scrollLeft: 0, scrollTop: 0 };\n\n const left = offsetLeft - scrollLeft;\n const top = offsetTop - scrollTop;\n\n return {\n left,\n top,\n right: left + width,\n bottom: top + height,\n };\n};\n\nexport default getNodeRect;\n"],"mappings":";;;;;;AACA,IAAAA,kBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAElD;AACA;AACA;AACA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAA2B,EAAK;EACnD,IAAI,CAACA,GAAG,CAACC,OAAO,EAAE,OAAO,IAAI;EAE7B,IAAMC,MAAM,GAAGF,GAAG,CAACC,OAAO,CAACE,aAAa;EACxC,IAAAC,qBAAA,GAA0BJ,GAAG,CAACC,OAAO,CAACI,qBAAqB,CAAC,CAAC;IAArDC,KAAK,GAAAF,qBAAA,CAALE,KAAK;IAAEC,MAAM,GAAAH,qBAAA,CAANG,MAAM;EACrB,IAAAC,iBAAA,GAAkC,IAAAC,6BAAgB,EAACT,GAAG,CAACC,OAAO,CAAC;IAAvDS,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,iBAAA,CAATG,SAAS;EAC7B,IAAAC,IAAA,GAAkCV,MAAM,GACpC,IAAAW,4BAAgB,EAACX,MAAM,CAAC,GACxB;MAAEY,UAAU,EAAE,CAAC;MAAEC,SAAS,EAAE;IAAE,CAAC;IAF3BD,UAAU,GAAAF,IAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,IAAA,CAATG,SAAS;EAI7B,IAAMC,IAAI,GAAGN,UAAU,GAAGI,UAAU;EACpC,IAAMG,GAAG,GAAGN,SAAS,GAAGI,SAAS;EAEjC,OAAO;IACLC,IAAI,EAAJA,IAAI;IACJC,GAAG,EAAHA,GAAG;IACHC,KAAK,EAAEF,IAAI,GAAGV,KAAK;IACnBa,MAAM,EAAEF,GAAG,GAAGV;EAChB,CAAC;AACH,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,cAEatB,WAAW","ignoreList":[]}
|
|
@@ -1,23 +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
|
-
/**
|
|
9
|
-
* Adds a new class name to the element.
|
|
10
|
-
*/
|
|
11
|
-
var useAppendClassName = function useAppendClassName(ref, className) {
|
|
12
|
-
(0, _react.useEffect)(function () {
|
|
13
|
-
var element = ref.current;
|
|
14
|
-
if (!element) return function () {};
|
|
15
|
-
var initClassName = element.className;
|
|
16
|
-
element.className = "".concat(initClassName, " ").concat(className).trim();
|
|
17
|
-
return function () {
|
|
18
|
-
element.className = initClassName;
|
|
19
|
-
};
|
|
20
|
-
}, [className, ref]);
|
|
21
|
-
};
|
|
22
|
-
var _default = exports["default"] = useAppendClassName;
|
|
23
|
-
//# sourceMappingURL=useAppendClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAppendClassName.js","names":["_react","require","useAppendClassName","ref","className","useEffect","element","current","initClassName","concat","trim","_default","exports"],"sources":["../../../src/utils/useAppendClassName.ts"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\n/**\n * Adds a new class name to the element.\n */\nconst useAppendClassName = (ref: RefObject<HTMLElement>, className: string) => {\n useEffect(() => {\n const element = ref.current;\n if (!element) return () => {};\n\n const initClassName = element.className;\n element.className = `${initClassName} ${className}`.trim();\n\n return () => {\n element.className = initClassName;\n };\n }, [className, ref]);\n};\n\nexport default useAppendClassName;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,GAA2B,EAAEC,SAAiB,EAAK;EAC7E,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,OAAO,GAAGH,GAAG,CAACI,OAAO;IAC3B,IAAI,CAACD,OAAO,EAAE,OAAO,YAAM,CAAC,CAAC;IAE7B,IAAME,aAAa,GAAGF,OAAO,CAACF,SAAS;IACvCE,OAAO,CAACF,SAAS,GAAG,GAAAK,MAAA,CAAGD,aAAa,OAAAC,MAAA,CAAIL,SAAS,EAAGM,IAAI,CAAC,CAAC;IAE1D,OAAO,YAAM;MACXJ,OAAO,CAACF,SAAS,GAAGI,aAAa;IACnC,CAAC;EACH,CAAC,EAAE,CAACJ,SAAS,EAAED,GAAG,CAAC,CAAC;AACtB,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEaV,kBAAkB","ignoreList":[]}
|
|
@@ -1,94 +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
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
-
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."); }
|
|
10
|
-
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); }
|
|
11
|
-
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; }
|
|
12
|
-
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; } }
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
/**
|
|
15
|
-
* Appends the blank node to the list to increase the height of it.
|
|
16
|
-
* Used when the dragged node is located inside another list.
|
|
17
|
-
*/
|
|
18
|
-
var useBlankNode = function useBlankNode(props) {
|
|
19
|
-
var draggedNode = props.draggedNode,
|
|
20
|
-
targetList = props.targetList,
|
|
21
|
-
initDraggedNodeRect = props.initDraggedNodeRect;
|
|
22
|
-
var initDraggedNodeRectRef = (0, _react.useRef)(initDraggedNodeRect);
|
|
23
|
-
var blankNode = (0, _react.useRef)(null);
|
|
24
|
-
(0, _react.useEffect)(function () {
|
|
25
|
-
initDraggedNodeRectRef.current = initDraggedNodeRect;
|
|
26
|
-
}, [initDraggedNodeRect]);
|
|
27
|
-
(0, _react.useEffect)(function () {
|
|
28
|
-
if (!draggedNode || !targetList || !targetList.ref.current || draggedNode.list === targetList || !initDraggedNodeRectRef.current) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Create a new blank div
|
|
33
|
-
var _initDraggedNodeRectR = initDraggedNodeRectRef.current,
|
|
34
|
-
initWidth = _initDraggedNodeRectR.initWidth,
|
|
35
|
-
initHeight = _initDraggedNodeRectR.initHeight;
|
|
36
|
-
var div = document.createElement('div');
|
|
37
|
-
div.style.width = "".concat(initWidth, "px");
|
|
38
|
-
div.style.height = "".concat(initHeight, "px");
|
|
39
|
-
div.style.minWidth = "".concat(initWidth, "px");
|
|
40
|
-
div.style.minHeight = "".concat(initHeight, "px");
|
|
41
|
-
var parent = targetList.ref.current;
|
|
42
|
-
var innerList = targetList.innerRef.current;
|
|
43
|
-
|
|
44
|
-
// The inner ref used only in the virtual list
|
|
45
|
-
if (innerList) {
|
|
46
|
-
var _innerList$getBoundin = innerList.getBoundingClientRect(),
|
|
47
|
-
width = _innerList$getBoundin.width,
|
|
48
|
-
height = _innerList$getBoundin.height;
|
|
49
|
-
div.style.position = 'absolute';
|
|
50
|
-
div.style.left = targetList.horizontal ? "".concat(width, "px") : '0px';
|
|
51
|
-
div.style.top = targetList.horizontal ? '0px' : "".concat(height, "px");
|
|
52
|
-
parent = innerList;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Append the blank div to increase the height of the list
|
|
56
|
-
parent.appendChild(div);
|
|
57
|
-
|
|
58
|
-
// Add the blank node to the node list
|
|
59
|
-
var tail = targetList.getTail();
|
|
60
|
-
blankNode.current = {
|
|
61
|
-
list: targetList,
|
|
62
|
-
node: targetList.add({
|
|
63
|
-
ref: {
|
|
64
|
-
current: div
|
|
65
|
-
},
|
|
66
|
-
setStyle: function setStyle() {},
|
|
67
|
-
index: tail ? tail[4] + 1 : 0,
|
|
68
|
-
id: 'blank'
|
|
69
|
-
})
|
|
70
|
-
};
|
|
71
|
-
}, [draggedNode, targetList]);
|
|
72
|
-
var removeBlankNode = (0, _react.useCallback)(function () {
|
|
73
|
-
var blank = blankNode.current;
|
|
74
|
-
if (!blank) return;
|
|
75
|
-
blankNode.current = null;
|
|
76
|
-
blank.list.remove(blank.node);
|
|
77
|
-
var _blank$node = _slicedToArray(blank.node, 3),
|
|
78
|
-
blankNodeRef = _blank$node[2];
|
|
79
|
-
if (!blank.list.ref.current || !blankNodeRef.current) return;
|
|
80
|
-
var parent = blankNodeRef.current.parentElement;
|
|
81
|
-
if (parent) parent.removeChild(blankNodeRef.current);
|
|
82
|
-
}, []);
|
|
83
|
-
|
|
84
|
-
// Remove the blank node if the dragged node has been dropped
|
|
85
|
-
(0, _react.useEffect)(function () {
|
|
86
|
-
if (!draggedNode) return function () {};
|
|
87
|
-
return function () {
|
|
88
|
-
return removeBlankNode();
|
|
89
|
-
};
|
|
90
|
-
}, [draggedNode, removeBlankNode]);
|
|
91
|
-
return removeBlankNode;
|
|
92
|
-
};
|
|
93
|
-
var _default = exports["default"] = useBlankNode;
|
|
94
|
-
//# sourceMappingURL=useBlankNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBlankNode.js","names":["_react","require","_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","useBlankNode","props","draggedNode","targetList","initDraggedNodeRect","initDraggedNodeRectRef","useRef","blankNode","useEffect","current","ref","list","_initDraggedNodeRectR","initWidth","initHeight","div","document","createElement","style","width","concat","height","minWidth","minHeight","parent","innerList","innerRef","_innerList$getBoundin","getBoundingClientRect","position","left","horizontal","top","appendChild","tail","getTail","node","add","setStyle","index","id","removeBlankNode","useCallback","blank","remove","_blank$node","blankNodeRef","parentElement","removeChild","_default","exports"],"sources":["../../../src/utils/useBlankNode.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport NodeList, { ExistingNode } from './NodeList';\n\ninterface InitSize {\n initWidth: number;\n initHeight: number;\n}\n\ninterface DraggedNode {\n list: NodeList;\n}\n\ninterface UseBlankNodeProps {\n draggedNode: DraggedNode | null;\n targetList: NodeList | null;\n initDraggedNodeRect: InitSize | null;\n}\n\ninterface BlankNode {\n list: NodeList;\n node: ExistingNode;\n}\n\n/**\n * Appends the blank node to the list to increase the height of it.\n * Used when the dragged node is located inside another list.\n */\nconst useBlankNode = (props: UseBlankNodeProps) => {\n const { draggedNode, targetList, initDraggedNodeRect } = props;\n const initDraggedNodeRectRef = useRef(initDraggedNodeRect);\n const blankNode = useRef<BlankNode | null>(null);\n\n useEffect(() => {\n initDraggedNodeRectRef.current = initDraggedNodeRect;\n }, [initDraggedNodeRect]);\n\n useEffect(() => {\n if (\n !draggedNode ||\n !targetList ||\n !targetList.ref.current ||\n draggedNode.list === targetList ||\n !initDraggedNodeRectRef.current\n ) {\n return;\n }\n\n // Create a new blank div\n const { initWidth, initHeight } = initDraggedNodeRectRef.current;\n const div = document.createElement('div');\n div.style.width = `${initWidth}px`;\n div.style.height = `${initHeight}px`;\n div.style.minWidth = `${initWidth}px`;\n div.style.minHeight = `${initHeight}px`;\n\n let parent = targetList.ref.current;\n const innerList = targetList.innerRef.current;\n\n // The inner ref used only in the virtual list\n if (innerList) {\n const { width, height } = innerList.getBoundingClientRect();\n div.style.position = 'absolute';\n div.style.left = targetList.horizontal ? `${width}px` : '0px';\n div.style.top = targetList.horizontal ? '0px' : `${height}px`;\n parent = innerList;\n }\n\n // Append the blank div to increase the height of the list\n parent.appendChild(div);\n\n // Add the blank node to the node list\n const tail = targetList.getTail();\n blankNode.current = {\n list: targetList,\n node: targetList.add({\n ref: { current: div },\n setStyle: () => {},\n index: tail ? tail[4] + 1 : 0,\n id: 'blank',\n }),\n };\n }, [draggedNode, targetList]);\n\n const removeBlankNode = useCallback(() => {\n const blank = blankNode.current;\n if (!blank) return;\n blankNode.current = null;\n blank.list.remove(blank.node);\n const [, , blankNodeRef] = blank.node;\n if (!blank.list.ref.current || !blankNodeRef.current) return;\n const parent = blankNodeRef.current.parentElement;\n if (parent) parent.removeChild(blankNodeRef.current);\n }, []);\n\n // Remove the blank node if the dragged node has been dropped\n useEffect(() => {\n if (!draggedNode) return () => {};\n return () => removeBlankNode();\n }, [draggedNode, removeBlankNode]);\n\n return removeBlankNode;\n};\n\nexport default useBlankNode;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,22 +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.DragAndDropContext = 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 DragAndDropContext = exports.DragAndDropContext = /*#__PURE__*/_react["default"].createContext({
|
|
12
|
-
registerList: function registerList() {},
|
|
13
|
-
deregisterList: function deregisterList() {},
|
|
14
|
-
onMouseDown: function onMouseDown() {},
|
|
15
|
-
onTouchStart: function onTouchStart() {},
|
|
16
|
-
nodeClassName: ''
|
|
17
|
-
});
|
|
18
|
-
var useDragAndDrop = function useDragAndDrop() {
|
|
19
|
-
return (0, _react.useContext)(DragAndDropContext);
|
|
20
|
-
};
|
|
21
|
-
var _default = exports["default"] = useDragAndDrop;
|
|
22
|
-
//# sourceMappingURL=useDragAndDrop.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDragAndDrop.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","DragAndDropContext","exports","React","createContext","registerList","deregisterList","onMouseDown","onTouchStart","nodeClassName","useDragAndDrop","useContext","_default"],"sources":["../../../src/utils/useDragAndDrop.ts"],"sourcesContent":["import { Position } from '@os-design/use-drag';\nimport React, { MouseEvent, TouchEvent, useContext } from 'react';\nimport NodeList, { ExistingNode } from './NodeList';\n\nexport interface SetDraggedNodeProps {\n list: NodeList;\n node: ExistingNode;\n position: Position;\n}\n\ntype NodeEventHandler<T> = (e: T, list: NodeList, node: ExistingNode) => void;\n\ninterface DragAndDropContextProps {\n registerList: (list: NodeList) => void;\n deregisterList: (id: string) => void;\n onMouseDown: NodeEventHandler<MouseEvent>;\n onTouchStart: NodeEventHandler<TouchEvent>;\n nodeClassName: string;\n}\n\nexport const DragAndDropContext = React.createContext<DragAndDropContextProps>({\n registerList: () => {},\n deregisterList: () => {},\n onMouseDown: () => {},\n onTouchStart: () => {},\n nodeClassName: '',\n});\n\nconst useDragAndDrop = (): DragAndDropContextProps =>\n useContext(DragAndDropContext);\n\nexport default useDragAndDrop;\n"],"mappings":";;;;;;;AACA,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;AAmB3D,IAAMW,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAGE,iBAAK,CAACC,aAAa,CAA0B;EAC7EC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC,CAAC;EACtBC,cAAc,EAAE,SAAAA,eAAA,EAAM,CAAC,CAAC;EACxBC,WAAW,EAAE,SAAAA,YAAA,EAAM,CAAC,CAAC;EACrBC,YAAY,EAAE,SAAAA,aAAA,EAAM,CAAC,CAAC;EACtBC,aAAa,EAAE;AACjB,CAAC,CAAC;AAEF,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA;EAAA,OAClB,IAAAC,iBAAU,EAACV,kBAAkB,CAAC;AAAA;AAAC,IAAAW,QAAA,GAAAV,OAAA,cAElBQ,cAAc","ignoreList":[]}
|