@headless-tree/core 0.0.0-20250731075124 → 0.0.0-20250807163338
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/CHANGELOG.md +2 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +11 -6
- package/dist/index.mjs +11 -6
- package/package.json +1 -1
- package/src/features/drag-and-drop/feature.ts +11 -7
- package/src/features/drag-and-drop/types.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @headless-tree/core
|
|
2
2
|
|
|
3
|
-
## 0.0.0-
|
|
3
|
+
## 0.0.0-20250807163338
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
- b41e1d2: fixed a bug where ending drag without successful drop doesn't properly reset drag line (#132)
|
|
15
15
|
- b413f74: Fix `aria-posinset` and `aria-level` to be 1-based indexing
|
|
16
16
|
- a250b3b: Fix a bug where expand from the initial keyboard focus fails when rootItemId is an empty string
|
|
17
|
+
- 62867e8: Introduced a short delay before hiding the drag line when leaving a drag target, which helps to reduce flickering of the dragline when moving between items
|
|
17
18
|
- 662e2a8: Improved customizability of checkboxes feature (still alpha state), allowing you to customize `propagateCheckedState` and `canCheckFolders` independently
|
|
18
19
|
- 662e2a8: Changed to new buildtool in core packages (now using tsup) to hopefully fix some ESM/CJS integrations
|
|
19
20
|
|
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1516,6 +1516,7 @@ var dragAndDropFeature = {
|
|
|
1516
1516
|
return;
|
|
1517
1517
|
}
|
|
1518
1518
|
dataRef.current.lastDragCode = nextDragCode;
|
|
1519
|
+
dataRef.current.lastDragEnter = Date.now();
|
|
1519
1520
|
const target = getDragTarget(e, item, tree);
|
|
1520
1521
|
if (!((_a = tree.getState().dnd) == null ? void 0 : _a.draggedItems) && (!e.dataTransfer || !((_c = (_b = tree.getConfig()).canDragForeignDragObjectOver) == null ? void 0 : _c.call(_b, e.dataTransfer, target)))) {
|
|
1521
1522
|
dataRef.current.lastAllowDrop = false;
|
|
@@ -1533,12 +1534,16 @@ var dragAndDropFeature = {
|
|
|
1533
1534
|
e.preventDefault();
|
|
1534
1535
|
},
|
|
1535
1536
|
onDragLeave: () => {
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1537
|
+
setTimeout(() => {
|
|
1538
|
+
var _a;
|
|
1539
|
+
const dataRef = tree.getDataRef();
|
|
1540
|
+
if (((_a = dataRef.current.lastDragEnter) != null ? _a : 0) + 100 >= Date.now()) return;
|
|
1541
|
+
dataRef.current.lastDragCode = "no-drag";
|
|
1542
|
+
tree.applySubStateUpdate("dnd", (state) => __spreadProps(__spreadValues({}, state), {
|
|
1543
|
+
draggingOverItem: void 0,
|
|
1544
|
+
dragTarget: void 0
|
|
1545
|
+
}));
|
|
1546
|
+
}, 100);
|
|
1542
1547
|
},
|
|
1543
1548
|
onDragEnd: (e) => {
|
|
1544
1549
|
var _a, _b;
|
package/dist/index.mjs
CHANGED
|
@@ -1472,6 +1472,7 @@ var dragAndDropFeature = {
|
|
|
1472
1472
|
return;
|
|
1473
1473
|
}
|
|
1474
1474
|
dataRef.current.lastDragCode = nextDragCode;
|
|
1475
|
+
dataRef.current.lastDragEnter = Date.now();
|
|
1475
1476
|
const target = getDragTarget(e, item, tree);
|
|
1476
1477
|
if (!((_a = tree.getState().dnd) == null ? void 0 : _a.draggedItems) && (!e.dataTransfer || !((_c = (_b = tree.getConfig()).canDragForeignDragObjectOver) == null ? void 0 : _c.call(_b, e.dataTransfer, target)))) {
|
|
1477
1478
|
dataRef.current.lastAllowDrop = false;
|
|
@@ -1489,12 +1490,16 @@ var dragAndDropFeature = {
|
|
|
1489
1490
|
e.preventDefault();
|
|
1490
1491
|
},
|
|
1491
1492
|
onDragLeave: () => {
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1493
|
+
setTimeout(() => {
|
|
1494
|
+
var _a;
|
|
1495
|
+
const dataRef = tree.getDataRef();
|
|
1496
|
+
if (((_a = dataRef.current.lastDragEnter) != null ? _a : 0) + 100 >= Date.now()) return;
|
|
1497
|
+
dataRef.current.lastDragCode = "no-drag";
|
|
1498
|
+
tree.applySubStateUpdate("dnd", (state) => __spreadProps(__spreadValues({}, state), {
|
|
1499
|
+
draggingOverItem: void 0,
|
|
1500
|
+
dragTarget: void 0
|
|
1501
|
+
}));
|
|
1502
|
+
}, 100);
|
|
1498
1503
|
},
|
|
1499
1504
|
onDragEnd: (e) => {
|
|
1500
1505
|
var _a, _b;
|
package/package.json
CHANGED
|
@@ -193,6 +193,7 @@ export const dragAndDropFeature: FeatureImplementation = {
|
|
|
193
193
|
return;
|
|
194
194
|
}
|
|
195
195
|
dataRef.current.lastDragCode = nextDragCode;
|
|
196
|
+
dataRef.current.lastDragEnter = Date.now();
|
|
196
197
|
|
|
197
198
|
const target = getDragTarget(e, item, tree);
|
|
198
199
|
|
|
@@ -222,13 +223,16 @@ export const dragAndDropFeature: FeatureImplementation = {
|
|
|
222
223
|
},
|
|
223
224
|
|
|
224
225
|
onDragLeave: () => {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
226
|
+
setTimeout(() => {
|
|
227
|
+
const dataRef = tree.getDataRef<DndDataRef>();
|
|
228
|
+
if ((dataRef.current.lastDragEnter ?? 0) + 100 >= Date.now()) return;
|
|
229
|
+
dataRef.current.lastDragCode = "no-drag";
|
|
230
|
+
tree.applySubStateUpdate("dnd", (state) => ({
|
|
231
|
+
...state,
|
|
232
|
+
draggingOverItem: undefined,
|
|
233
|
+
dragTarget: undefined,
|
|
234
|
+
}));
|
|
235
|
+
}, 100);
|
|
232
236
|
},
|
|
233
237
|
|
|
234
238
|
onDragEnd: (e: DragEvent) => {
|