react-native-tree-multi-select 3.0.0-beta.1 → 3.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +1 -1
  2. package/lib/module/components/DragOverlay.js +3 -0
  3. package/lib/module/components/DragOverlay.js.map +1 -1
  4. package/lib/module/components/NodeList.js +61 -25
  5. package/lib/module/components/NodeList.js.map +1 -1
  6. package/lib/module/helpers/toggleCheckbox.helper.js +1 -1
  7. package/lib/module/hooks/useDragDrop.js +214 -30
  8. package/lib/module/hooks/useDragDrop.js.map +1 -1
  9. package/lib/module/store/treeView.store.js +6 -3
  10. package/lib/module/store/treeView.store.js.map +1 -1
  11. package/lib/typescript/src/components/DragOverlay.d.ts +1 -0
  12. package/lib/typescript/src/components/DragOverlay.d.ts.map +1 -1
  13. package/lib/typescript/src/components/NodeList.d.ts.map +1 -1
  14. package/lib/typescript/src/hooks/useDragDrop.d.ts +5 -0
  15. package/lib/typescript/src/hooks/useDragDrop.d.ts.map +1 -1
  16. package/lib/typescript/src/store/treeView.store.d.ts +2 -1
  17. package/lib/typescript/src/store/treeView.store.d.ts.map +1 -1
  18. package/lib/typescript/src/types/dragDrop.types.d.ts +9 -0
  19. package/lib/typescript/src/types/dragDrop.types.d.ts.map +1 -1
  20. package/lib/typescript/src/types/treeView.types.d.ts +94 -4
  21. package/lib/typescript/src/types/treeView.types.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/components/DragOverlay.tsx +3 -1
  24. package/src/components/NodeList.tsx +62 -29
  25. package/src/helpers/toggleCheckbox.helper.ts +1 -1
  26. package/src/hooks/useDragDrop.ts +237 -31
  27. package/src/store/treeView.store.ts +6 -2
  28. package/src/types/dragDrop.types.ts +9 -0
  29. package/src/types/treeView.types.ts +94 -7
@@ -19,7 +19,8 @@ export function useDragDrop(params) {
19
19
  internalDataRef,
20
20
  measuredItemHeightRef,
21
21
  dragOverlayOffset,
22
- autoExpandDelay
22
+ autoExpandDelay,
23
+ indentationMultiplier
23
24
  } = params;
24
25
 
25
26
  // --- Refs for mutable state (no stale closures in PanResponder) ---
@@ -28,6 +29,7 @@ export function useDragDrop(params) {
28
29
  const draggedNodeIdRef = useRef(null);
29
30
  const draggedNodeIndexRef = useRef(-1);
30
31
  const longPressTimerRef = useRef(null);
32
+ const containerPageXRef = useRef(0);
31
33
  const containerPageYRef = useRef(0);
32
34
  const containerHeightRef = useRef(0);
33
35
  const grabOffsetYRef = useRef(0);
@@ -35,6 +37,8 @@ export function useDragDrop(params) {
35
37
  const headerOffsetRef = useRef(0);
36
38
  const itemHeightRef = useRef(36);
37
39
  const overlayY = useRef(new Animated.Value(0)).current;
40
+ const overlayX = useRef(new Animated.Value(0)).current;
41
+ const prevEffectiveLevelRef = useRef(null);
38
42
  const autoScrollRAFRef = useRef(null);
39
43
  const autoScrollSpeedRef = useRef(0);
40
44
 
@@ -48,6 +52,9 @@ export function useDragDrop(params) {
48
52
  // Track which nodes were auto-expanded during this drag (to collapse on drag end)
49
53
  const autoExpandedDuringDragRef = useRef(new Set());
50
54
 
55
+ // Tracks whether the PanResponder has captured the current gesture
56
+ const panResponderActiveRef = useRef(false);
57
+
51
58
  // Previous drop target for hysteresis (prevents flicker between "below N" / "above N+1")
52
59
  const prevDropTargetRef = useRef(null);
53
60
 
@@ -63,8 +70,9 @@ export function useDragDrop(params) {
63
70
  const [isDragging, setIsDragging] = useState(false);
64
71
  const [draggedNode, setDraggedNode] = useState(null);
65
72
  const [dropTarget, setDropTarget] = useState(null);
73
+ const [effectiveDropLevel, setEffectiveDropLevel] = useState(0);
66
74
 
67
- // Ref mirror of dropTarget avoids nesting Zustand updates inside React state updaters
75
+ // Ref mirror of dropTarget - avoids nesting Zustand updates inside React state updaters
68
76
  const dropTargetRef = useRef(null);
69
77
 
70
78
  // --- Long press timer ---
@@ -101,7 +109,8 @@ export function useDragDrop(params) {
101
109
  if (!dragEnabled) return;
102
110
  const container = containerRef.current;
103
111
  if (!container) return;
104
- container.measureInWindow((_x, y, _w, h) => {
112
+ container.measureInWindow((x, y, _w, h) => {
113
+ containerPageXRef.current = x;
105
114
  containerPageYRef.current = y;
106
115
  containerHeightRef.current = h;
107
116
 
@@ -157,11 +166,16 @@ export function useDragDrop(params) {
157
166
  const overlayLocalY = fingerLocalY - locationY + dragOverlayOffset * itemHeightRef.current;
158
167
  overlayY.setValue(overlayLocalY);
159
168
 
169
+ // Reset magnetic overlay
170
+ overlayX.setValue(0);
171
+ prevEffectiveLevelRef.current = node.level ?? 0;
172
+
160
173
  // Set React state
161
174
  isDraggingRef.current = true;
162
175
  autoExpandedDuringDragRef.current.clear();
163
176
  setIsDragging(true);
164
177
  setDraggedNode(node);
178
+ setEffectiveDropLevel(node.level ?? 0);
165
179
  setDropTarget(null);
166
180
 
167
181
  // Start auto-scroll loop
@@ -235,7 +249,7 @@ export function useDragDrop(params) {
235
249
  }, []);
236
250
 
237
251
  // --- Calculate drop target ---
238
- const calculateDropTarget = useCallback(fingerPageY => {
252
+ const calculateDropTarget = useCallback((fingerPageY, fingerPageX) => {
239
253
  const nodes = flattenedNodesRef.current;
240
254
  if (nodes.length === 0) return;
241
255
  const fingerLocalY = fingerPageY - containerPageYRef.current;
@@ -250,23 +264,127 @@ export function useDragDrop(params) {
250
264
  // Determine zone within item
251
265
  const positionInItem = (adjustedContentY - clampedIndex * iH) / iH;
252
266
  let position;
253
- if (positionInItem < 0.3) {
267
+ if (positionInItem < 0.15) {
254
268
  position = "above";
255
- } else if (positionInItem > 0.7) {
269
+ } else if (positionInItem > 0.85) {
256
270
  position = "below";
257
271
  } else {
258
272
  position = "inside";
259
273
  }
260
274
 
275
+ // --- Horizontal control at level cliffs ---
276
+ // At the boundary between nodes at different depths, the user's
277
+ // horizontal finger position decides the drop level:
278
+ // finger RIGHT of threshold → stay at deep level (inside parent)
279
+ // finger LEFT of threshold → switch to shallow level (outside parent)
280
+ // The threshold uses a generous buffer so dragging slightly left is enough.
281
+ const fingerLocalX = fingerPageX - containerPageXRef.current;
282
+ // logicalTargetId/logicalPosition: when the visual indicator node differs
283
+ // from the actual moveTreeNode target (e.g., ancestor at a shallower level).
284
+ let logicalTargetId = null;
285
+ let logicalPosition = null;
286
+ let visualDropLevel = null;
287
+ if (position === "below" || position === "inside") {
288
+ const currentLevel = targetNode.level ?? 0;
289
+ let isCliff = false;
290
+ let shallowLevel = 0;
291
+ if (clampedIndex < nodes.length - 1) {
292
+ const nextNode = nodes[clampedIndex + 1];
293
+ const nextLevel = nextNode?.level ?? 0;
294
+ if (nextNode && nextLevel < currentLevel) {
295
+ isCliff = true;
296
+ shallowLevel = nextLevel;
297
+ }
298
+ } else if (currentLevel > 0) {
299
+ // Last item in the list - treat as cliff to root level
300
+ isCliff = true;
301
+ shallowLevel = 0;
302
+ }
303
+ if (isCliff) {
304
+ // Generous threshold: midpoint of the two levels + 2× indent buffer
305
+ const threshold = (currentLevel + shallowLevel) / 2 * indentationMultiplier + indentationMultiplier * 2;
306
+ if (fingerLocalX < threshold) {
307
+ // User wants the shallow level
308
+ if (clampedIndex < nodes.length - 1) {
309
+ // Non-last item: switch to "above" on the next (shallower) node
310
+ const nextNode = nodes[clampedIndex + 1];
311
+ clampedIndex = clampedIndex + 1;
312
+ targetNode = nextNode;
313
+ position = "above";
314
+ } else {
315
+ // Last item: find ancestor at shallow level, target it with "below"
316
+ const {
317
+ childToParentMap
318
+ } = getTreeViewStore(storeId).getState();
319
+ let ancestorId = targetNode.id;
320
+ let walkLevel = currentLevel;
321
+ while (walkLevel > shallowLevel) {
322
+ const parentId = childToParentMap.get(ancestorId);
323
+ if (parentId === undefined) break;
324
+ ancestorId = parentId;
325
+ walkLevel--;
326
+ }
327
+ // Visual stays on the last item; logical goes to ancestor
328
+ logicalTargetId = ancestorId;
329
+ logicalPosition = "below";
330
+ visualDropLevel = shallowLevel;
331
+ }
332
+ }
333
+ }
334
+ }
335
+ if (position === "above" && clampedIndex > 0) {
336
+ const prevNode = nodes[clampedIndex - 1];
337
+ const prevLevel = prevNode?.level ?? 0;
338
+ const currentLevel = targetNode.level ?? 0;
339
+ if (prevNode && prevLevel > currentLevel) {
340
+ // Level cliff above - same generous threshold
341
+ const threshold = (prevLevel + currentLevel) / 2 * indentationMultiplier + indentationMultiplier * 2;
342
+ if (fingerLocalX >= threshold) {
343
+ clampedIndex = clampedIndex - 1;
344
+ targetNode = prevNode;
345
+ position = "below";
346
+ }
347
+ }
348
+ }
349
+
350
+ // --- Suppress "below" when it's redundant or confusing ---
351
+ // After horizontal control, any remaining "below" that isn't at a
352
+ // cliff is redundant with "above" on the next node → show "inside".
353
+ if (position === "below") {
354
+ const expandedSet = getTreeViewStore(storeId).getState().expanded;
355
+
356
+ // (a) Expanded parent: "below" visually sits at the parent/child junction
357
+ // but semantically inserts as a sibling after the entire subtree.
358
+ if (targetNode.children?.length && expandedSet.has(targetNode.id)) {
359
+ position = "inside";
360
+ }
361
+ // (b) No level cliff below: convert to "inside" so the highlight
362
+ // covers the full bottom of the node.
363
+ else if (clampedIndex < nodes.length - 1) {
364
+ const nextNode = nodes[clampedIndex + 1];
365
+ if (nextNode && (nextNode.level ?? 0) >= (targetNode.level ?? 0)) {
366
+ position = "inside";
367
+ }
368
+ }
369
+ }
370
+
261
371
  // --- Hysteresis: prevent flicker between "below N" and "above N+1" ---
262
- // These two positions represent the same visual gap between nodes.
263
- // Keep the previous one to avoid the indicator jumping between nodes.
372
+ // Only applies to same-level boundaries. Level cliffs are handled
373
+ // by horizontal control above, so they pass through without forced resolution.
264
374
  const prev = prevDropTargetRef.current;
265
375
  if (prev) {
266
376
  const sameGap = prev.position === "below" && position === "above" && prev.targetIndex === clampedIndex - 1 || prev.position === "above" && position === "below" && clampedIndex === prev.targetIndex - 1;
267
377
  if (sameGap) {
268
- // Keep previous target — they're at the same visual gap
269
- return;
378
+ const upperIdx = Math.min(prev.targetIndex, clampedIndex);
379
+ const lowerIdx = Math.max(prev.targetIndex, clampedIndex);
380
+ const upperLevel = nodes[upperIdx]?.level ?? 0;
381
+ const lowerLevel = nodes[lowerIdx]?.level ?? 0;
382
+ if (upperLevel === lowerLevel) {
383
+ // Same level - pure visual hysteresis, keep previous
384
+ return;
385
+ }
386
+ // Level cliff - horizontal control already resolved this,
387
+ // let the result pass through.
270
388
  }
271
389
  }
272
390
  prevDropTargetRef.current = {
@@ -287,7 +405,7 @@ export function useDragDrop(params) {
287
405
  // --- Auto-expand: if hovering "inside" a collapsed expandable node ---
288
406
  if (isValid && position === "inside" && targetNode.children?.length && !expanded.has(targetNode.id)) {
289
407
  if (autoExpandTargetRef.current !== targetNode.id) {
290
- // New hover target start timer
408
+ // New hover target - start timer
291
409
  cancelAutoExpandTimer();
292
410
  autoExpandTargetRef.current = targetNode.id;
293
411
  autoExpandTimerRef.current = setTimeout(() => {
@@ -298,11 +416,38 @@ export function useDragDrop(params) {
298
416
  }, autoExpandDelay);
299
417
  }
300
418
  } else {
301
- // Not hovering inside a collapsed expandable node cancel timer
419
+ // Not hovering inside a collapsed expandable node - cancel timer
302
420
  if (autoExpandTargetRef.current !== null) {
303
421
  cancelAutoExpandTimer();
304
422
  }
305
423
  }
424
+
425
+ // --- Magnetic overlay: update the effective level so the overlay
426
+ // renders its content at the correct indentation natively.
427
+ // A brief translateX spring provides a smooth transition. ---
428
+ const draggedLevel = draggedNodeRef.current?.level ?? 0;
429
+ // When a logical target overrides the visual (e.g. ancestor at last-item cliff),
430
+ // the effective level comes from the visual drop level, not the target node.
431
+ const effectiveLevel = isValid ? visualDropLevel !== null ? visualDropLevel // "below" ancestor → sibling at that level
432
+ : position === "inside" ? (targetNode.level ?? 0) + 1 : targetNode.level ?? 0 : draggedLevel;
433
+ if (effectiveLevel !== prevEffectiveLevelRef.current) {
434
+ const prevLevel = prevEffectiveLevelRef.current ?? effectiveLevel;
435
+ prevEffectiveLevelRef.current = effectiveLevel;
436
+ setEffectiveDropLevel(effectiveLevel);
437
+
438
+ // The level prop change snaps the content to the correct indent.
439
+ // Counteract that visual jump with an initial translateX offset,
440
+ // then spring to 0 for a smooth "magnetic snap" transition.
441
+ if (prevLevel !== effectiveLevel) {
442
+ overlayX.setValue((prevLevel - effectiveLevel) * indentationMultiplier);
443
+ Animated.spring(overlayX, {
444
+ toValue: 0,
445
+ useNativeDriver: true,
446
+ speed: 40,
447
+ bounciness: 4
448
+ }).start();
449
+ }
450
+ }
306
451
  const newTarget = {
307
452
  targetNodeId: targetNode.id,
308
453
  targetIndex: clampedIndex,
@@ -314,23 +459,33 @@ export function useDragDrop(params) {
314
459
 
315
460
  // Update the store so each Node can render its own indicator
316
461
  if (isValid) {
317
- store.getState().updateDropTarget(targetNode.id, position);
462
+ store.getState().updateDropTarget(targetNode.id, position, visualDropLevel);
318
463
  } else {
319
464
  store.getState().updateDropTarget(null, null);
320
465
  }
321
466
 
322
467
  // Keep ref in sync (used by handleDragEnd to avoid setState-during-render)
323
- dropTargetRef.current = newTarget;
468
+ // When a logical target exists (e.g. ancestor at a cliff), use it
469
+ // for the actual move while the visual indicator stays on the current node.
470
+ if (logicalTargetId !== null && logicalPosition !== null) {
471
+ dropTargetRef.current = {
472
+ ...newTarget,
473
+ targetNodeId: logicalTargetId,
474
+ position: logicalPosition
475
+ };
476
+ } else {
477
+ dropTargetRef.current = newTarget;
478
+ }
324
479
  setDropTarget(prevTarget => {
325
480
  if (prevTarget?.targetNodeId === newTarget.targetNodeId && prevTarget?.position === newTarget.position && prevTarget?.isValid === newTarget.isValid && prevTarget?.indicatorTop === newTarget.indicatorTop) {
326
481
  return prevTarget;
327
482
  }
328
483
  return newTarget;
329
484
  });
330
- }, [storeId, autoExpandDelay, cancelAutoExpandTimer]);
485
+ }, [storeId, autoExpandDelay, cancelAutoExpandTimer, indentationMultiplier, overlayX]);
331
486
 
332
487
  // --- Handle drag end ---
333
- const handleDragEnd = useCallback(fingerPageY => {
488
+ const handleDragEnd = useCallback((fingerPageY, fingerPageX) => {
334
489
  stopAutoScroll();
335
490
  cancelLongPressTimer();
336
491
  cancelAutoExpandTimer();
@@ -338,9 +493,9 @@ export function useDragDrop(params) {
338
493
  if (!isDraggingRef.current) return;
339
494
  isDraggingRef.current = false;
340
495
 
341
- // Recalculate drop target at final position if we have a pageY
496
+ // Recalculate drop target at final position if we have coords
342
497
  if (fingerPageY !== undefined) {
343
- calculateDropTarget(fingerPageY);
498
+ calculateDropTarget(fingerPageY, fingerPageX ?? 0);
344
499
  }
345
500
 
346
501
  // Cancel any auto-expand timer that calculateDropTarget may have just started.
@@ -386,17 +541,29 @@ export function useDragDrop(params) {
386
541
  newTreeData: newData
387
542
  });
388
543
 
389
- // Scroll to the dropped node after React processes the expansion
544
+ // Scroll to the dropped node after React processes the expansion,
545
+ // but only if it's outside the visible viewport. An animated
546
+ // scroll would consume the user's next touch (RN stops the
547
+ // animation on tap), so we skip when the node is already visible.
390
548
  setTimeout(() => {
391
549
  const nodes = flattenedNodesRef.current;
392
550
  const idx = nodes.findIndex(n => n.id === droppedNodeId);
393
- if (idx >= 0) {
394
- flashListRef.current?.scrollToIndex?.({
395
- index: idx,
396
- animated: true,
397
- viewPosition: 0.5
398
- });
551
+ if (idx < 0) return;
552
+ const itemH = itemHeightRef.current;
553
+ const scrollTop = scrollOffsetRef.current;
554
+ const containerH = containerHeightRef.current;
555
+ const estimatedTop = idx * itemH;
556
+ const estimatedBottom = estimatedTop + itemH;
557
+
558
+ // Already in view → no scroll needed
559
+ if (estimatedTop >= scrollTop && estimatedBottom <= scrollTop + containerH) {
560
+ return;
399
561
  }
562
+ flashListRef.current?.scrollToIndex?.({
563
+ index: idx,
564
+ animated: true,
565
+ viewPosition: 0.5
566
+ });
400
567
  }, 100);
401
568
  }
402
569
 
@@ -437,6 +604,8 @@ export function useDragDrop(params) {
437
604
  store2.getState().updateDropTarget(null, null);
438
605
 
439
606
  // Reset all refs
607
+ overlayX.setValue(0);
608
+ prevEffectiveLevelRef.current = null;
440
609
  dropTargetRef.current = null;
441
610
  draggedNodeRef.current = null;
442
611
  draggedNodeIdRef.current = null;
@@ -448,6 +617,16 @@ export function useDragDrop(params) {
448
617
  // eslint-disable-next-line react-hooks/exhaustive-deps
449
618
  [storeId, stopAutoScroll, cancelLongPressTimer, cancelAutoExpandTimer, calculateDropTarget, internalDataRef]);
450
619
 
620
+ // --- Handle node touch end ---
621
+ // If the PanResponder never captured the gesture (no movement after long
622
+ // press fired), end the drag here so the node doesn't stay "lifted".
623
+ const handleNodeTouchEnd = useCallback(() => {
624
+ cancelLongPressTimer();
625
+ if (isDraggingRef.current && !panResponderActiveRef.current) {
626
+ handleDragEnd();
627
+ }
628
+ }, [cancelLongPressTimer, handleDragEnd]);
629
+
451
630
  // --- PanResponder ---
452
631
  const panResponder = useRef(PanResponder.create({
453
632
  onStartShouldSetPanResponder: () => false,
@@ -455,7 +634,7 @@ export function useDragDrop(params) {
455
634
  onMoveShouldSetPanResponder: () => isDraggingRef.current,
456
635
  onMoveShouldSetPanResponderCapture: () => isDraggingRef.current,
457
636
  onPanResponderGrant: () => {
458
- // Touch captured successfully
637
+ panResponderActiveRef.current = true;
459
638
  },
460
639
  onPanResponderMove: evt => {
461
640
  if (!isDraggingRef.current) return;
@@ -466,17 +645,19 @@ export function useDragDrop(params) {
466
645
  const overlayLocalY = fingerLocalY - grabOffsetYRef.current + dragOverlayOffset * itemHeightRef.current;
467
646
  overlayY.setValue(overlayLocalY);
468
647
 
469
- // Calculate drop target
470
- calculateDropTarget(fingerPageY);
648
+ // Calculate drop target (horizontal position used at level cliffs)
649
+ calculateDropTarget(fingerPageY, evt.nativeEvent.pageX);
471
650
 
472
- // Auto-scroll at edges use delta-based position relative to container
651
+ // Auto-scroll at edges - use delta-based position relative to container
473
652
  const fingerInContainer = initialFingerContainerYRef.current + (fingerPageY - initialFingerPageYRef.current);
474
653
  updateAutoScroll(fingerInContainer);
475
654
  },
476
655
  onPanResponderRelease: evt => {
477
- handleDragEnd(evt.nativeEvent.pageY);
656
+ panResponderActiveRef.current = false;
657
+ handleDragEnd(evt.nativeEvent.pageY, evt.nativeEvent.pageX);
478
658
  },
479
659
  onPanResponderTerminate: () => {
660
+ panResponderActiveRef.current = false;
480
661
  handleDragEnd();
481
662
  }
482
663
  })).current;
@@ -499,10 +680,13 @@ export function useDragDrop(params) {
499
680
  return {
500
681
  panResponder,
501
682
  overlayY,
683
+ overlayX,
502
684
  isDragging,
503
685
  draggedNode,
504
686
  dropTarget,
687
+ effectiveDropLevel,
505
688
  handleNodeTouchStart,
689
+ handleNodeTouchEnd,
506
690
  cancelLongPressTimer,
507
691
  scrollOffsetRef,
508
692
  headerOffsetRef
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","PanResponder","getTreeViewStore","collapseNodes","expandNodes","handleToggleExpand","initializeNodeMaps","recalculateCheckedStates","moveTreeNode","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragEnd","longPressDuration","autoScrollThreshold","autoScrollSpeed","internalDataRef","measuredItemHeightRef","dragOverlayOffset","autoExpandDelay","isDraggingRef","draggedNodeRef","draggedNodeIdRef","draggedNodeIndexRef","longPressTimerRef","containerPageYRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","autoScrollRAFRef","autoScrollSpeedRef","initialFingerPageYRef","initialFingerContainerYRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","prevDropTargetRef","flattenedNodesRef","onDragEndRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTarget","setDropTarget","dropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","_x","y","_w","h","nodes","expanded","has","measured","estimatedSize","props","estimatedItemSize","fingerLocalY","iH","listHeaderHeight","updateDraggedNodeId","updateInvalidDragTargetIds","overlayLocalY","setValue","clear","startAutoScrollLoop","handleNodeTouchStart","setTimeout","loop","newOffset","Math","max","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","cancelAnimationFrame","updateAutoScroll","fingerInContainer","threshold","maxSpeed","containerH","ratio","cancelAutoExpandTimer","calculateDropTarget","fingerPageY","fingerContentY","adjustedContentY","rawIndex","floor","clampedIndex","min","targetNode","positionInItem","position","prev","sameGap","targetIndex","indicatorTop","invalidDragTargetIds","draggedNodeId","isValid","newTarget","targetNodeId","targetLevel","level","updateDropTarget","prevTarget","handleDragEnd","undefined","currentTarget","droppedNodeId","currentData","initialTreeViewData","newData","updateInitialTreeViewData","newTreeData","idx","findIndex","n","scrollToIndex","index","viewPosition","size","store3","childToParentMap","ancestorIds","walkId","toCollapse","store2","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","evt","nativeEvent","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","PanResponder","getTreeViewStore","collapseNodes","expandNodes","handleToggleExpand","initializeNodeMaps","recalculateCheckedStates","moveTreeNode","useDragDrop","params","storeId","flattenedNodes","flashListRef","containerRef","dragEnabled","onDragEnd","longPressDuration","autoScrollThreshold","autoScrollSpeed","internalDataRef","measuredItemHeightRef","dragOverlayOffset","autoExpandDelay","indentationMultiplier","isDraggingRef","draggedNodeRef","draggedNodeIdRef","draggedNodeIndexRef","longPressTimerRef","containerPageXRef","containerPageYRef","containerHeightRef","grabOffsetYRef","scrollOffsetRef","headerOffsetRef","itemHeightRef","overlayY","Value","current","overlayX","prevEffectiveLevelRef","autoScrollRAFRef","autoScrollSpeedRef","initialFingerPageYRef","initialFingerContainerYRef","autoExpandTimerRef","autoExpandTargetRef","autoExpandedDuringDragRef","Set","panResponderActiveRef","prevDropTargetRef","flattenedNodesRef","onDragEndRef","isDragging","setIsDragging","draggedNode","setDraggedNode","dropTarget","setDropTarget","effectiveDropLevel","setEffectiveDropLevel","dropTargetRef","cancelLongPressTimer","clearTimeout","getDescendantIds","nodeId","store","nodeMap","getState","descendants","stack","length","currentId","pop","node","get","children","child","add","id","push","initiateDrag","pageY","locationY","nodeIndex","container","measureInWindow","x","y","_w","h","nodes","expanded","has","measured","estimatedSize","props","estimatedItemSize","fingerLocalY","iH","listHeaderHeight","updateDraggedNodeId","updateInvalidDragTargetIds","overlayLocalY","setValue","level","clear","startAutoScrollLoop","handleNodeTouchStart","setTimeout","loop","newOffset","Math","max","scrollToOffset","offset","animated","requestAnimationFrame","stopAutoScroll","cancelAnimationFrame","updateAutoScroll","fingerInContainer","threshold","maxSpeed","containerH","ratio","cancelAutoExpandTimer","calculateDropTarget","fingerPageY","fingerPageX","fingerContentY","adjustedContentY","rawIndex","floor","clampedIndex","min","targetNode","positionInItem","position","fingerLocalX","logicalTargetId","logicalPosition","visualDropLevel","currentLevel","isCliff","shallowLevel","nextNode","nextLevel","childToParentMap","ancestorId","walkLevel","parentId","undefined","prevNode","prevLevel","expandedSet","prev","sameGap","targetIndex","upperIdx","lowerIdx","upperLevel","lowerLevel","indicatorTop","invalidDragTargetIds","draggedNodeId","isValid","draggedLevel","effectiveLevel","spring","toValue","useNativeDriver","speed","bounciness","start","newTarget","targetNodeId","targetLevel","updateDropTarget","prevTarget","handleDragEnd","currentTarget","droppedNodeId","currentData","initialTreeViewData","newData","updateInitialTreeViewData","newTreeData","idx","findIndex","n","itemH","scrollTop","estimatedTop","estimatedBottom","scrollToIndex","index","viewPosition","size","store3","ancestorIds","walkId","toCollapse","store2","handleNodeTouchEnd","panResponder","create","onStartShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderGrant","onPanResponderMove","evt","nativeEvent","pageX","onPanResponderRelease","onPanResponderTerminate"],"sourceRoot":"../../../src","sources":["hooks/useDragDrop.ts"],"mappings":"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","ignoreList":[]}
@@ -65,9 +65,11 @@ export function getTreeViewStore(id) {
65
65
  }),
66
66
  dropTargetNodeId: null,
67
67
  dropPosition: null,
68
- updateDropTarget: (nodeId, position) => set({
68
+ dropLevel: null,
69
+ updateDropTarget: (nodeId, position, level) => set({
69
70
  dropTargetNodeId: nodeId,
70
- dropPosition: position
71
+ dropPosition: position,
72
+ dropLevel: level ?? null
71
73
  }),
72
74
  cleanUpTreeViewStore: () => set({
73
75
  checked: new Set(),
@@ -86,7 +88,8 @@ export function getTreeViewStore(id) {
86
88
  draggedNodeId: null,
87
89
  invalidDragTargetIds: new Set(),
88
90
  dropTargetNodeId: null,
89
- dropPosition: null
91
+ dropPosition: null,
92
+ dropLevel: null
90
93
  })
91
94
  }));
92
95
  typedStore().set(id, store);
@@ -1 +1 @@
1
- {"version":3,"names":["create","treeViewStores","Map","typedStore","getTreeViewStore","id","has","store","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagation","toChildren","toParents","setSelectionPropagation","draggedNodeId","updateDraggedNodeId","invalidDragTargetIds","updateInvalidDragTargetIds","dropTargetNodeId","dropPosition","updateDropTarget","nodeId","position","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["create","treeViewStores","Map","typedStore","getTreeViewStore","id","has","store","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagation","toChildren","toParents","setSelectionPropagation","draggedNodeId","updateDraggedNodeId","invalidDragTargetIds","updateInvalidDragTargetIds","dropTargetNodeId","dropPosition","dropLevel","updateDropTarget","nodeId","position","level","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@ import { Animated } from "react-native";
2
2
  import type { __FlattenedTreeNode__, DragDropCustomizations, TreeItemCustomizations } from "../types/treeView.types";
3
3
  interface DragOverlayProps<ID> extends TreeItemCustomizations<ID> {
4
4
  overlayY: Animated.Value;
5
+ overlayX: Animated.Value;
5
6
  node: __FlattenedTreeNode__<ID>;
6
7
  level: number;
7
8
  dragDropCustomizations?: DragDropCustomizations<ID>;
@@ -1 +1 @@
1
- {"version":3,"file":"DragOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/DragOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EACR,qBAAqB,EAErB,sBAAsB,EACtB,sBAAsB,EACzB,MAAM,yBAAyB,CAAC;AAKjC,UAAU,gBAAgB,CAAC,EAAE,CAAE,SAAQ,sBAAsB,CAAC,EAAE,CAAC;IAC7D,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;CACvD;AAED,iBAAS,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,2CAiEpD;AAED,eAAO,MAAM,WAAW,EAA+B,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"DragOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/DragOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EACR,qBAAqB,EAErB,sBAAsB,EACtB,sBAAsB,EACzB,MAAM,yBAAyB,CAAC;AAKjC,UAAU,gBAAgB,CAAC,EAAE,CAAE,SAAQ,sBAAsB,CAAC,EAAE,CAAC;IAC7D,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;CACvD;AAED,iBAAS,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,2CAkEpD;AAED,eAAO,MAAM,WAAW,EAA+B,OAAO,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIR,aAAa,EAGhB,MAAM,yBAAyB,CAAC;AAoBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,2CAuN9C"}
1
+ {"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIR,aAAa,EAGhB,MAAM,yBAAyB,CAAC;AAoBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,2CA4N9C"}
@@ -18,14 +18,19 @@ interface UseDragDropParams<ID> {
18
18
  measuredItemHeightRef: React.MutableRefObject<number>;
19
19
  dragOverlayOffset: number;
20
20
  autoExpandDelay: number;
21
+ /** Pixels per nesting level, used for magnetic overlay shift. */
22
+ indentationMultiplier: number;
21
23
  }
22
24
  interface UseDragDropReturn<ID> {
23
25
  panResponder: PanResponderInstance;
24
26
  overlayY: Animated.Value;
27
+ overlayX: Animated.Value;
25
28
  isDragging: boolean;
26
29
  draggedNode: __FlattenedTreeNode__<ID> | null;
27
30
  dropTarget: DropTarget<ID> | null;
31
+ effectiveDropLevel: number;
28
32
  handleNodeTouchStart: (nodeId: ID, pageY: number, locationY: number, nodeIndex: number) => void;
33
+ handleNodeTouchEnd: () => void;
29
34
  cancelLongPressTimer: () => void;
30
35
  scrollOffsetRef: React.MutableRefObject<number>;
31
36
  headerOffsetRef: React.MutableRefObject<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EAER,KAAK,oBAAoB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKxE,UAAU,iBAAiB,CAAC,EAAE;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3E,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC9H,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/D,qBAAqB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,iBAAiB,CAAC,EAAE;IAC1B,YAAY,EAAE,oBAAoB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,oBAAoB,EAAE,CAClB,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAC1B,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,GAC9B,iBAAiB,CAAC,EAAE,CAAC,CAilBvB"}
1
+ {"version":3,"file":"useDragDrop.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDragDrop.ts"],"names":[],"mappings":"AACA,OAAO,EACH,QAAQ,EAER,KAAK,oBAAoB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKxE,UAAU,iBAAiB,CAAC,EAAE;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3E,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;QAAE,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;KAAE,GAAG,IAAI,CAAC,CAAC;IAC/H,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/D,qBAAqB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,iBAAiB,CAAC,EAAE;IAC1B,YAAY,EAAE,oBAAoB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,CAClB,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChD,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAC1B,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC,GAC9B,iBAAiB,CAAC,EAAE,CAAC,CA0xBvB"}
@@ -28,7 +28,8 @@ export type TreeViewState<ID> = {
28
28
  updateInvalidDragTargetIds: (invalidDragTargetIds: Set<ID>) => void;
29
29
  dropTargetNodeId: ID | null;
30
30
  dropPosition: DropPosition | null;
31
- updateDropTarget: (nodeId: ID | null, position: DropPosition | null) => void;
31
+ dropLevel: number | null;
32
+ updateDropTarget: (nodeId: ID | null, position: DropPosition | null, level?: number | null) => void;
32
33
  cleanUpTreeViewStore: () => void;
33
34
  };
34
35
  export declare function getTreeViewStore<ID>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;