react-native-tree-multi-select 3.0.0-beta.2 → 3.0.0-beta.4

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 (96) hide show
  1. package/README.md +85 -25
  2. package/lib/module/TreeView.js +36 -31
  3. package/lib/module/TreeView.js.map +1 -1
  4. package/lib/module/components/CheckboxView.js +8 -4
  5. package/lib/module/components/CheckboxView.js.map +1 -1
  6. package/lib/module/components/CustomExpandCollapseIcon.js +2 -2
  7. package/lib/module/components/CustomExpandCollapseIcon.js.map +1 -1
  8. package/lib/module/components/DragOverlay.js +17 -5
  9. package/lib/module/components/DragOverlay.js.map +1 -1
  10. package/lib/module/components/DropIndicator.js +2 -2
  11. package/lib/module/components/DropIndicator.js.map +1 -1
  12. package/lib/module/components/NodeList.js +80 -56
  13. package/lib/module/components/NodeList.js.map +1 -1
  14. package/lib/module/constants/treeView.constants.js +3 -0
  15. package/lib/module/constants/treeView.constants.js.map +1 -1
  16. package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
  17. package/lib/module/helpers/moveTreeNode.helper.js +30 -0
  18. package/lib/module/helpers/moveTreeNode.helper.js.map +1 -1
  19. package/lib/module/helpers/selectAll.helper.js.map +1 -1
  20. package/lib/module/helpers/toggleCheckbox.helper.js +44 -61
  21. package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
  22. package/lib/module/hooks/useDragDrop.js +141 -34
  23. package/lib/module/hooks/useDragDrop.js.map +1 -1
  24. package/lib/module/{handlers/ScrollToNodeHandler.js → hooks/useScrollToNode.js} +27 -26
  25. package/lib/module/hooks/useScrollToNode.js.map +1 -0
  26. package/lib/module/index.js +1 -0
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/module/jest.setup.js +14 -1
  29. package/lib/module/jest.setup.js.map +1 -1
  30. package/lib/module/store/treeView.store.js +3 -0
  31. package/lib/module/store/treeView.store.js.map +1 -1
  32. package/lib/module/utils/typedMemo.js +3 -3
  33. package/lib/module/utils/typedMemo.js.map +1 -1
  34. package/lib/module/utils/useDeepCompareEffect.js +5 -5
  35. package/lib/module/utils/useDeepCompareEffect.js.map +1 -1
  36. package/lib/typescript/src/TreeView.d.ts +3 -3
  37. package/lib/typescript/src/TreeView.d.ts.map +1 -1
  38. package/lib/typescript/src/components/CheckboxView.d.ts +1 -2
  39. package/lib/typescript/src/components/CheckboxView.d.ts.map +1 -1
  40. package/lib/typescript/src/components/CustomExpandCollapseIcon.d.ts +1 -2
  41. package/lib/typescript/src/components/CustomExpandCollapseIcon.d.ts.map +1 -1
  42. package/lib/typescript/src/components/DragOverlay.d.ts +1 -0
  43. package/lib/typescript/src/components/DragOverlay.d.ts.map +1 -1
  44. package/lib/typescript/src/components/DropIndicator.d.ts +1 -2
  45. package/lib/typescript/src/components/DropIndicator.d.ts.map +1 -1
  46. package/lib/typescript/src/components/NodeList.d.ts.map +1 -1
  47. package/lib/typescript/src/constants/treeView.constants.d.ts +2 -0
  48. package/lib/typescript/src/constants/treeView.constants.d.ts.map +1 -1
  49. package/lib/typescript/src/helpers/expandCollapse.helper.d.ts +2 -2
  50. package/lib/typescript/src/helpers/expandCollapse.helper.d.ts.map +1 -1
  51. package/lib/typescript/src/helpers/moveTreeNode.helper.d.ts.map +1 -1
  52. package/lib/typescript/src/helpers/selectAll.helper.d.ts +4 -4
  53. package/lib/typescript/src/helpers/selectAll.helper.d.ts.map +1 -1
  54. package/lib/typescript/src/helpers/toggleCheckbox.helper.d.ts +3 -0
  55. package/lib/typescript/src/helpers/toggleCheckbox.helper.d.ts.map +1 -1
  56. package/lib/typescript/src/hooks/useDragDrop.d.ts +18 -7
  57. package/lib/typescript/src/hooks/useDragDrop.d.ts.map +1 -1
  58. package/lib/typescript/src/{handlers/ScrollToNodeHandler.d.ts → hooks/useScrollToNode.d.ts} +13 -15
  59. package/lib/typescript/src/hooks/useScrollToNode.d.ts.map +1 -0
  60. package/lib/typescript/src/index.d.ts +4 -3
  61. package/lib/typescript/src/index.d.ts.map +1 -1
  62. package/lib/typescript/src/jest.setup.d.ts +1 -1
  63. package/lib/typescript/src/jest.setup.d.ts.map +1 -1
  64. package/lib/typescript/src/store/treeView.store.d.ts +2 -1
  65. package/lib/typescript/src/store/treeView.store.d.ts.map +1 -1
  66. package/lib/typescript/src/types/dragDrop.types.d.ts +19 -0
  67. package/lib/typescript/src/types/dragDrop.types.d.ts.map +1 -1
  68. package/lib/typescript/src/types/treeView.types.d.ts +149 -35
  69. package/lib/typescript/src/types/treeView.types.d.ts.map +1 -1
  70. package/lib/typescript/src/utils/typedMemo.d.ts +1 -1
  71. package/lib/typescript/src/utils/typedMemo.d.ts.map +1 -1
  72. package/lib/typescript/src/utils/useDeepCompareEffect.d.ts +2 -2
  73. package/lib/typescript/src/utils/useDeepCompareEffect.d.ts.map +1 -1
  74. package/package.json +32 -15
  75. package/src/TreeView.tsx +57 -35
  76. package/src/components/CheckboxView.tsx +7 -4
  77. package/src/components/CustomExpandCollapseIcon.tsx +2 -2
  78. package/src/components/DragOverlay.tsx +19 -6
  79. package/src/components/DropIndicator.tsx +2 -2
  80. package/src/components/NodeList.tsx +90 -58
  81. package/src/constants/treeView.constants.ts +4 -1
  82. package/src/helpers/expandCollapse.helper.ts +5 -5
  83. package/src/helpers/moveTreeNode.helper.ts +33 -0
  84. package/src/helpers/selectAll.helper.ts +10 -10
  85. package/src/helpers/toggleCheckbox.helper.ts +57 -69
  86. package/src/hooks/useDragDrop.ts +182 -46
  87. package/src/{handlers/ScrollToNodeHandler.tsx → hooks/useScrollToNode.ts} +48 -45
  88. package/src/index.tsx +9 -0
  89. package/src/jest.setup.ts +14 -1
  90. package/src/store/treeView.store.ts +6 -1
  91. package/src/types/dragDrop.types.ts +21 -0
  92. package/src/types/treeView.types.ts +157 -41
  93. package/src/utils/typedMemo.ts +3 -3
  94. package/src/utils/useDeepCompareEffect.ts +13 -7
  95. package/lib/module/handlers/ScrollToNodeHandler.js.map +0 -1
  96. package/lib/typescript/src/handlers/ScrollToNodeHandler.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../src/jest.setup.ts"],"names":[],"mappings":"AAAA,OAAO,4CAA4C,CAAC"}
1
+ {"version":3,"file":"jest.setup.d.ts","sourceRoot":"","sources":["../../../src/jest.setup.ts"],"names":[],"mappings":"AAAA,OAAO,6CAA6C,CAAC"}
@@ -1,6 +1,6 @@
1
+ import { type StoreApi, type UseBoundStore } from "zustand";
1
2
  import type { SelectionPropagation, TreeNode } from "../types/treeView.types";
2
3
  import type { DropPosition } from "../types/dragDrop.types";
3
- import { type StoreApi, type UseBoundStore } from "zustand";
4
4
  export type TreeViewState<ID> = {
5
5
  checked: Set<ID>;
6
6
  updateChecked: (checked: Set<ID>) => void;
@@ -33,5 +33,6 @@ export type TreeViewState<ID> = {
33
33
  cleanUpTreeViewStore: () => void;
34
34
  };
35
35
  export declare function getTreeViewStore<ID>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
36
+ export declare function deleteTreeViewStore(id: string): void;
36
37
  export declare function useTreeViewStore<ID = string>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
37
38
  //# sourceMappingURL=treeView.store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../../src/store/treeView.store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpE,MAAM,MAAM,aAAa,CAAC,EAAE,IAAI;IAE5B,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAG1C,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAGtD,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAG5C,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACpC,yBAAyB,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAGzE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;IAGxD,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9B,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC;IAGhE,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAGjD,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAC3B,0BAA0B,EAAE,CAAC,oBAAoB,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC;IAEjE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,uBAAuB,EAAE,CACrB,oBAAoB,EAAE,oBAAoB,KACzC,IAAI,CAAC;IAGV,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC;IACzB,mBAAmB,EAAE,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAExD,oBAAoB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,0BAA0B,EAAE,CAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IAGpE,gBAAgB,EAAE,EAAE,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAGpG,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAOF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAqF3F;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,8CAEvD"}
1
+ {"version":3,"file":"treeView.store.d.ts","sourceRoot":"","sources":["../../../../src/store/treeView.store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import type { TreeNode } from "./treeView.types";
2
+ /** Where a node is dropped relative to the target: as a sibling above/below, or as a child inside */
2
3
  export type DropPosition = "above" | "below" | "inside";
4
+ /** Event payload passed to the onDragStart callback when a drag begins */
5
+ export interface DragStartEvent<ID = string> {
6
+ /** The id of the node being dragged */
7
+ draggedNodeId: ID;
8
+ }
9
+ /** Event payload passed to the onDragCancel callback when a drag is cancelled without a drop */
10
+ export interface DragCancelEvent<ID = string> {
11
+ /** The id of the node that was being dragged */
12
+ draggedNodeId: ID;
13
+ }
14
+ /** Event payload passed to the onDragEnd callback after a successful drop */
3
15
  export interface DragEndEvent<ID = string> {
4
16
  /** The id of the node that was dragged */
5
17
  draggedNodeId: ID;
@@ -10,12 +22,19 @@ export interface DragEndEvent<ID = string> {
10
22
  /** The reordered tree data after the move */
11
23
  newTreeData: TreeNode<ID>[];
12
24
  }
25
+ /** Internal representation of the current drop target during a drag operation */
13
26
  export interface DropTarget<ID = string> {
27
+ /** The id of the node being hovered over */
14
28
  targetNodeId: ID;
29
+ /** Index of the target node in the flattened list */
15
30
  targetIndex: number;
31
+ /** Where the drop would occur relative to the target */
16
32
  position: DropPosition;
33
+ /** Whether this is a valid drop location (e.g. not dropping a node onto itself or its descendants) */
17
34
  isValid: boolean;
35
+ /** Nesting level of the target node */
18
36
  targetLevel: number;
37
+ /** Y-coordinate for positioning the drop indicator */
19
38
  indicatorTop: number;
20
39
  }
21
40
  //# sourceMappingURL=dragDrop.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dragDrop.types.d.ts","sourceRoot":"","sources":["../../../../src/types/dragDrop.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,YAAY,CAAC,EAAE,GAAG,MAAM;IACrC,0CAA0C;IAC1C,aAAa,EAAE,EAAE,CAAC;IAClB,mEAAmE;IACnE,YAAY,EAAE,EAAE,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,EAAE,GAAG,MAAM;IACnC,YAAY,EAAE,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"dragDrop.types.d.ts","sourceRoot":"","sources":["../../../../src/types/dragDrop.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,0EAA0E;AAC1E,MAAM,WAAW,cAAc,CAAC,EAAE,GAAG,MAAM;IACvC,uCAAuC;IACvC,aAAa,EAAE,EAAE,CAAC;CACrB;AAED,gGAAgG;AAChG,MAAM,WAAW,eAAe,CAAC,EAAE,GAAG,MAAM;IACxC,gDAAgD;IAChD,aAAa,EAAE,EAAE,CAAC;CACrB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY,CAAC,EAAE,GAAG,MAAM;IACrC,0CAA0C;IAC1C,aAAa,EAAE,EAAE,CAAC;IAClB,mEAAmE;IACnE,YAAY,EAAE,EAAE,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU,CAAC,EAAE,GAAG,MAAM;IACnC,4CAA4C;IAC5C,YAAY,EAAE,EAAE,CAAC;IACjB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,EAAE,YAAY,CAAC;IACvB,sGAAsG;IACtG,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;CACxB"}
@@ -1,125 +1,235 @@
1
+ import { ComponentType, RefObject } from "react";
1
2
  import type { StyleProp, TextProps, TouchableOpacityProps, ViewStyle } from "react-native";
2
3
  import type { FlashListProps } from "@shopify/flash-list";
3
- import type { ScrollToNodeHandlerRef, ScrollToNodeParams } from "../handlers/ScrollToNodeHandler";
4
+ import type { ScrollToNodeHandlerRef, ScrollToNodeParams } from "../hooks/useScrollToNode";
4
5
  import type { CheckboxProps as _CheckboxProps } from "@futurejj/react-native-checkbox";
5
- import type { DragEndEvent, DropPosition } from "./dragDrop.types";
6
+ import type { DragCancelEvent, DragEndEvent, DragStartEvent, DropPosition } from "./dragDrop.types";
7
+ /** The tri-state value of a checkbox: checked, unchecked, or indeterminate */
6
8
  export type CheckboxValueType = boolean | "indeterminate";
9
+ /** Props passed to a custom expand/collapse icon component */
7
10
  export interface ExpandIconProps {
11
+ /** Whether the node is currently expanded */
8
12
  isExpanded: boolean;
9
13
  }
14
+ /** A single node in the tree data structure */
10
15
  export interface TreeNode<ID = string> {
16
+ /** Unique identifier for this node */
11
17
  id: ID;
18
+ /** Display name for this node */
12
19
  name: string;
20
+ /** Child nodes (omit or empty array for leaf nodes) */
13
21
  children?: TreeNode<ID>[];
22
+ /** Additional custom data fields */
14
23
  [key: string]: any;
15
24
  }
25
+ /** Internal flattened representation of a tree node with its nesting level */
16
26
  export interface __FlattenedTreeNode__<ID = string> extends TreeNode<ID> {
27
+ /** Nesting depth of this node (0 = root level) */
17
28
  level?: number;
18
29
  }
30
+ /** FlashList props available for customization (excludes `data` and `renderItem`) */
19
31
  export type TreeFlatListProps<ItemT = any> = Omit<FlashListProps<ItemT>, "data" | "renderItem">;
32
+ /** Props passed to a custom node row component */
20
33
  export interface NodeRowProps<ID = string> {
34
+ /** The tree node to render */
21
35
  node: TreeNode<ID>;
36
+ /** Nesting depth of this node (0 = root level) */
22
37
  level: number;
38
+ /** Current checkbox state of this node */
23
39
  checkedValue: CheckboxValueType;
40
+ /** Whether this node's children are currently visible */
24
41
  isExpanded: boolean;
42
+ /** Callback to toggle this node's checked state */
25
43
  onCheck: () => void;
44
+ /** Callback to toggle this node's expanded/collapsed state */
26
45
  onExpand: () => void;
27
- isDragTarget?: boolean;
46
+ /** Whether this node is an invalid drop target during a drag operation */
47
+ isInvalidDropTarget?: boolean;
48
+ /** Whether this node is the current valid drop target */
49
+ isDropTarget?: boolean;
50
+ /** The drop position if this node is the current drop target */
51
+ dropPosition?: DropPosition;
52
+ /** Whether a drag operation is currently in progress */
28
53
  isDragging?: boolean;
54
+ /** Whether this node is the one being dragged */
29
55
  isDraggedNode?: boolean;
56
+ /** Props to spread on a drag handle element. Attach to a specific View to
57
+ * make only that area initiate drag, or spread on the root for whole-row drag.
58
+ * Only present when drag-and-drop is enabled. */
59
+ dragHandleProps?: DragHandleProps;
30
60
  }
61
+ /** Touch handlers to spread on a drag handle element within a custom node row */
62
+ export interface DragHandleProps {
63
+ onTouchStart: (e: any) => void;
64
+ onTouchEnd: () => void;
65
+ onTouchCancel: () => void;
66
+ }
67
+ /** Customization options for tree item appearance and behavior */
31
68
  export interface TreeItemCustomizations<ID> {
69
+ /** Style props for the built-in checkbox view */
32
70
  checkBoxViewStyleProps?: BuiltInCheckBoxViewStyleProps;
71
+ /** Pixels of indentation per nesting level. Default: 15 */
33
72
  indentationMultiplier?: number;
34
- CheckboxComponent?: React.ComponentType<CheckBoxViewProps>;
35
- ExpandCollapseIconComponent?: React.ComponentType<ExpandIconProps>;
36
- ExpandCollapseTouchableComponent?: React.ComponentType<TouchableOpacityProps>;
37
- CustomNodeRowComponent?: React.ComponentType<NodeRowProps<ID>>;
73
+ /** Custom checkbox component replacing the built-in checkbox */
74
+ CheckboxComponent?: ComponentType<CheckBoxViewProps>;
75
+ /** Custom expand/collapse icon component */
76
+ ExpandCollapseIconComponent?: ComponentType<ExpandIconProps>;
77
+ /** Custom touchable component wrapping the expand/collapse icon */
78
+ ExpandCollapseTouchableComponent?: ComponentType<TouchableOpacityProps>;
79
+ /** Fully custom node row component replacing the entire built-in row */
80
+ CustomNodeRowComponent?: ComponentType<NodeRowProps<ID>>;
38
81
  }
82
+ /** Internal props for a single node in the list (extends TreeItemCustomizations) */
39
83
  export interface NodeProps<ID> extends TreeItemCustomizations<ID> {
84
+ /** The flattened tree node data */
40
85
  node: __FlattenedTreeNode__<ID>;
86
+ /** Nesting depth of this node */
41
87
  level: number;
88
+ /** Internal store identifier */
42
89
  storeId: string;
90
+ /** Index of this node in the flattened list */
43
91
  nodeIndex?: number;
92
+ /** Whether drag-and-drop is enabled */
44
93
  dragEnabled?: boolean;
94
+ /** Whether a drag operation is currently in progress */
45
95
  isDragging?: boolean;
96
+ /** Callback when a touch starts on this node (used for drag initiation) */
46
97
  onNodeTouchStart?: (nodeId: ID, pageY: number, locationY: number, nodeIndex: number) => void;
98
+ /** Callback when a touch ends on this node */
47
99
  onNodeTouchEnd?: () => void;
48
- longPressDuration?: number;
100
+ /** Callback reporting this node's measured height */
49
101
  onItemLayout?: (height: number) => void;
102
+ /** Customizations for drag-and-drop visuals */
50
103
  dragDropCustomizations?: DragDropCustomizations<ID>;
51
104
  }
52
- export interface NodeListProps<ID> extends TreeItemCustomizations<ID> {
53
- treeFlashListProps?: TreeFlatListProps;
54
- scrollToNodeHandlerRef: React.RefObject<ScrollToNodeHandlerRef<ID>>;
55
- initialScrollNodeID?: ID;
56
- storeId: string;
57
- dragEnabled?: boolean;
105
+ /** Configuration options for drag-and-drop reordering */
106
+ export interface DragAndDropOptions<ID = string> {
107
+ /** Enable drag-and-drop reordering. Default: true (when dragAndDrop is provided) */
108
+ enabled?: boolean;
109
+ /** Callback fired when a drag operation begins */
110
+ onDragStart?: (event: DragStartEvent<ID>) => void;
111
+ /** Callback fired after a node is successfully dropped at a new position */
58
112
  onDragEnd?: (event: DragEndEvent<ID>) => void;
113
+ /** Callback fired when a drag is cancelled without a successful drop */
114
+ onDragCancel?: (event: DragCancelEvent<ID>) => void;
115
+ /** Long press duration in ms to start drag. Default: 400 */
59
116
  longPressDuration?: number;
117
+ /** Distance from edge (px) to trigger auto-scroll during drag. Default: 60 */
60
118
  autoScrollThreshold?: number;
119
+ /** Speed multiplier for auto-scroll during drag. Default: 1.0 */
61
120
  autoScrollSpeed?: number;
62
- /** Offset of the dragged overlay from the finger, in item-height units. Default: -1 (one item above finger) */
121
+ /** Offset of the dragged overlay from the finger, in item-height units. Default: -4 (four items above finger) */
63
122
  dragOverlayOffset?: number;
64
123
  /** Delay in ms before auto-expanding a collapsed node during drag hover. Default: 800 */
65
124
  autoExpandDelay?: number;
66
125
  /** Customizations for drag-and-drop visuals (overlay, indicator, opacity) */
67
- dragDropCustomizations?: DragDropCustomizations<ID>;
126
+ customizations?: DragDropCustomizations<ID>;
127
+ /** Callback to determine if a node can be dropped on a specific target.
128
+ * Return false to grey out the target and suppress the drop indicator. */
129
+ canDrop?: (draggedNode: TreeNode<ID>, targetNode: TreeNode<ID>, position: DropPosition) => boolean;
130
+ /** Maximum nesting depth allowed. Drops that would exceed this depth are suppressed. */
131
+ maxDepth?: number;
132
+ /** Callback to determine if a node can accept children.
133
+ * Return false to suppress the "inside" drop zone for that node. */
134
+ canNodeHaveChildren?: (node: TreeNode<ID>) => boolean;
135
+ /** Callback to determine if a node can be dragged.
136
+ * Return false to prevent dragging this node. Default: all nodes are draggable. */
137
+ canDrag?: (node: TreeNode<ID>) => boolean;
138
+ }
139
+ /** Props for the NodeList component that renders the flattened tree */
140
+ export interface NodeListProps<ID> extends TreeItemCustomizations<ID> {
141
+ /** Additional props passed to the underlying FlashList */
142
+ treeFlashListProps?: TreeFlatListProps;
143
+ /** Ref for programmatic scroll-to-node functionality */
144
+ scrollToNodeHandlerRef: RefObject<ScrollToNodeHandlerRef<ID>>;
145
+ /** Node ID to scroll to on initial render */
146
+ initialScrollNodeID?: ID;
147
+ /** Internal store identifier */
148
+ storeId: string;
149
+ /** Drag-and-drop configuration */
150
+ dragAndDrop?: DragAndDropOptions<ID>;
68
151
  }
152
+ /** Props for the TreeView component */
69
153
  export interface TreeViewProps<ID = string> extends Omit<NodeListProps<ID>, "storeId" | "scrollToNodeHandlerRef"> {
154
+ /** The tree data to render */
70
155
  data: TreeNode<ID>[];
156
+ /** Callback fired when checked nodes change. Receives checked and indeterminate node IDs. */
71
157
  onCheck?: (checkedIds: ID[], indeterminateIds: ID[]) => void;
158
+ /** Callback fired when expanded nodes change. Receives all currently expanded node IDs. */
72
159
  onExpand?: (expandedIds: ID[]) => void;
160
+ /** Node IDs that should be checked on initial render */
73
161
  preselectedIds?: ID[];
162
+ /** Node IDs that should be expanded on initial render */
74
163
  preExpandedIds?: ID[];
164
+ /** Controls whether checking a node propagates to its children and/or parents */
75
165
  selectionPropagation?: SelectionPropagation;
76
- /** Enable drag-and-drop reordering */
77
- dragEnabled?: boolean;
78
- /** Callback fired after a node is dropped at a new position */
79
- onDragEnd?: (event: DragEndEvent<ID>) => void;
80
- /** Long press duration in ms to start drag. Default: 400 */
81
- longPressDuration?: number;
82
- /** Distance from edge (px) to trigger auto-scroll. Default: 60 */
83
- autoScrollThreshold?: number;
84
- /** Speed multiplier for auto-scroll. Default: 1.0 */
85
- autoScrollSpeed?: number;
86
- /** Offset of the dragged overlay from the finger, in item-height units. Default: -1 (one item above finger) */
87
- dragOverlayOffset?: number;
88
- /** Delay in ms before auto-expanding a collapsed node during drag hover. Default: 800 */
89
- autoExpandDelay?: number;
166
+ /** Drag-and-drop configuration */
167
+ dragAndDrop?: DragAndDropOptions<ID>;
90
168
  }
91
169
  type CheckboxProps = Omit<_CheckboxProps, "onPress" | "status">;
170
+ /** Props for the checkbox view component */
92
171
  export interface CheckBoxViewProps {
172
+ /** Current checkbox state */
93
173
  value: CheckboxValueType;
174
+ /** Callback when the checkbox value changes */
94
175
  onValueChange: (value: boolean) => void;
176
+ /** Label text displayed next to the checkbox */
95
177
  text: string;
178
+ /** Test ID for testing frameworks */
96
179
  testID?: string;
97
180
  }
181
+ /** Style props for customizing the built-in checkbox view */
98
182
  export interface BuiltInCheckBoxViewStyleProps {
183
+ /** Style for the outermost container wrapping the checkbox and text */
99
184
  outermostParentViewStyle?: StyleProp<ViewStyle>;
185
+ /** Style for the view wrapping the checkbox itself */
100
186
  checkboxParentViewStyle?: StyleProp<ViewStyle>;
187
+ /** Style for the touchable area wrapping the label text */
101
188
  textTouchableStyle?: StyleProp<ViewStyle>;
189
+ /** Additional props passed to the underlying Checkbox component */
102
190
  checkboxProps?: CheckboxProps;
191
+ /** Props passed to the label Text component */
103
192
  textProps?: TextProps;
104
193
  }
194
+ /** Combined props for the built-in checkbox view (CheckBoxViewProps + style props) */
105
195
  export type BuiltInCheckBoxViewProps = CheckBoxViewProps & BuiltInCheckBoxViewStyleProps;
196
+ /** Ref handle exposed by the TreeView component for imperative operations */
106
197
  export interface TreeViewRef<ID = string> {
198
+ /** Select (check) all nodes in the tree */
107
199
  selectAll: () => void;
200
+ /** Unselect (uncheck) all nodes in the tree */
108
201
  unselectAll: () => void;
202
+ /** Select all nodes that match the current search filter */
109
203
  selectAllFiltered: () => void;
204
+ /** Unselect all nodes that match the current search filter */
110
205
  unselectAllFiltered: () => void;
206
+ /** Expand all nodes in the tree */
111
207
  expandAll: () => void;
208
+ /** Collapse all nodes in the tree */
112
209
  collapseAll: () => void;
210
+ /** Expand specific nodes by their IDs */
113
211
  expandNodes: (ids: ID[]) => void;
212
+ /** Collapse specific nodes by their IDs */
114
213
  collapseNodes: (ids: ID[]) => void;
214
+ /** Select (check) specific nodes by their IDs */
115
215
  selectNodes: (ids: ID[]) => void;
216
+ /** Unselect (uncheck) specific nodes by their IDs */
116
217
  unselectNodes: (ids: ID[]) => void;
218
+ /** Set the search text and optionally specify which node fields to search */
117
219
  setSearchText: (searchText: string, searchKeys?: string[]) => void;
220
+ /** Programmatically scroll to a specific node by its ID */
118
221
  scrollToNodeID: (scrollToNodeParams: ScrollToNodeParams<ID>) => void;
222
+ /** Get a map of child node IDs to their parent node IDs */
119
223
  getChildToParentMap: () => Map<ID, ID>;
224
+ /** Programmatically move a node to a new position in the tree.
225
+ * Works like a drag-and-drop but without user interaction. */
226
+ moveNode: (nodeId: ID, targetNodeId: ID, position: DropPosition) => void;
120
227
  }
228
+ /** Controls how checkbox selection propagates through the tree hierarchy */
121
229
  export interface SelectionPropagation {
230
+ /** Whether checking a parent node automatically checks all its children. Default: true */
122
231
  toChildren?: boolean;
232
+ /** Whether checking all children automatically checks their parent. Default: true */
123
233
  toParents?: boolean;
124
234
  }
125
235
  /** Props for the drop indicator rendered on the target node during drag */
@@ -161,16 +271,18 @@ export interface DragOverlayStyleProps {
161
271
  }
162
272
  /** Combined drag-and-drop customization props */
163
273
  export interface DragDropCustomizations<ID = string> {
164
- /** Opacity applied to the dragged node and its invalid drop targets. Default: 0.3 */
274
+ /** Opacity applied to the node being dragged. Default: 0.3 */
165
275
  draggedNodeOpacity?: number;
276
+ /** Opacity applied to invalid drop targets during drag. Default: 0.3 */
277
+ invalidTargetOpacity?: number;
166
278
  /** Style props for the built-in drop indicator */
167
279
  dropIndicatorStyleProps?: DropIndicatorStyleProps;
168
280
  /** Style props for the drag overlay (lifted node ghost) */
169
281
  dragOverlayStyleProps?: DragOverlayStyleProps;
170
- /** Fully custom drop indicator component replaces the built-in line/highlight */
171
- CustomDropIndicatorComponent?: React.ComponentType<DropIndicatorComponentProps>;
172
- /** Fully custom drag overlay component replaces the built-in ghost node */
173
- CustomDragOverlayComponent?: React.ComponentType<DragOverlayComponentProps<ID>>;
282
+ /** Fully custom drop indicator component - replaces the built-in line/highlight */
283
+ CustomDropIndicatorComponent?: ComponentType<DropIndicatorComponentProps>;
284
+ /** Fully custom drag overlay component - replaces the built-in ghost node */
285
+ CustomDragOverlayComponent?: ComponentType<DragOverlayComponentProps<ID>>;
174
286
  }
175
287
  /** Props passed to a custom drag overlay component */
176
288
  export interface DragOverlayComponentProps<ID = string> {
@@ -178,6 +290,8 @@ export interface DragOverlayComponentProps<ID = string> {
178
290
  node: __FlattenedTreeNode__<ID>;
179
291
  /** The nesting level of the dragged node */
180
292
  level: number;
293
+ /** The current checkbox value of the dragged node */
294
+ checkedValue: CheckboxValueType;
181
295
  }
182
296
  export {};
183
297
  //# sourceMappingURL=treeView.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../../src/types/treeView.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"treeView.types.d.ts","sourceRoot":"","sources":["../../../../src/types/treeView.types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /** wrapper for React.memo that works with generic components. */
1
+ /** wrapper for memo that works with generic components. */
2
2
  export declare const typedMemo: <T>(c: T) => T;
3
3
  //# sourceMappingURL=typedMemo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typedMemo.d.ts","sourceRoot":"","sources":["../../../../src/utils/typedMemo.ts"],"names":[],"mappings":"AAEA,iEAAiE;AACjE,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAc,CAAC"}
1
+ {"version":3,"file":"typedMemo.d.ts","sourceRoot":"","sources":["../../../../src/utils/typedMemo.ts"],"names":[],"mappings":"AAEA,2DAA2D;AAC3D,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAQ,CAAC"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import { type DependencyList, type EffectCallback } from "react";
2
2
  /**
3
3
  * Deep compare effect hook.
4
4
  * Ensures the effect runs on the first render and whenever dependencies deeply change.
@@ -6,5 +6,5 @@ import React from "react";
6
6
  * @param effect The effect callback function.
7
7
  * @param deps The dependencies array to compare deeply.
8
8
  */
9
- export default function useDeepCompareEffect(effect: React.EffectCallback, deps: React.DependencyList): void;
9
+ export default function useDeepCompareEffect(effect: EffectCallback, deps: DependencyList): void;
10
10
  //# sourceMappingURL=useDeepCompareEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeepCompareEffect.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDeepCompareEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,MAAM,EAAE,KAAK,CAAC,cAAc,EAC5B,IAAI,EAAE,KAAK,CAAC,cAAc,QA4B3B"}
1
+ {"version":3,"file":"useDeepCompareEffect.d.ts","sourceRoot":"","sources":["../../../../src/utils/useDeepCompareEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAGf;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,QA4BrB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-native-tree-multi-select",
3
- "version": "3.0.0-beta.2",
4
- "description": "A super-fast, customizable tree view component for React Native with multi-selection, checkboxes, and search filtering capabilities.",
3
+ "version": "3.0.0-beta.4",
4
+ "description": "Super-fast, customizable tree view component for React Native with drag-and-drop reordering, multi-selection, and search filtering.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
7
7
  "react-native": "src/index",
@@ -37,13 +37,29 @@
37
37
  },
38
38
  "keywords": [
39
39
  "react-native",
40
+ "react-native-web",
40
41
  "ios",
41
42
  "android",
43
+ "web",
44
+ "expo",
42
45
  "react-component",
43
46
  "treeview",
44
47
  "tree-view",
45
48
  "tree-select",
49
+ "tree-structure",
46
50
  "checkbox",
51
+ "tri-state-checkbox",
52
+ "indeterminate-checkbox",
53
+ "drag-and-drop",
54
+ "drag-drop",
55
+ "reorder",
56
+ "sortable-tree",
57
+ "nested-list",
58
+ "hierarchical-list",
59
+ "collapsible-list",
60
+ "expandable-list",
61
+ "multi-select",
62
+ "multi-selection",
47
63
  "react-tree-view",
48
64
  "react-tree-select",
49
65
  "react-checkbox-tree",
@@ -51,16 +67,14 @@
51
67
  "react-native-tree-select",
52
68
  "react-native-checkbox-list",
53
69
  "react-native-tree-checkbox",
54
- "tree-structure",
55
- "hierarchical-list",
56
- "collapsible-list",
57
- "nested-list",
58
- "multi-select",
59
- "dropdown-menu",
60
- "expandable-list",
61
- "customizable",
62
- "expo",
63
- "web"
70
+ "react-native-drag-drop",
71
+ "flashlist",
72
+ "search-filter",
73
+ "category-tree",
74
+ "file-tree",
75
+ "folder-tree",
76
+ "typescript",
77
+ "customizable"
64
78
  ],
65
79
  "repository": {
66
80
  "type": "git",
@@ -90,7 +104,6 @@
90
104
  "@semantic-release/github": "^12.0.5",
91
105
  "@semantic-release/npm": "^13.1.4",
92
106
  "@shopify/flash-list": "1.x.x",
93
- "@testing-library/jest-native": "^5.4.3",
94
107
  "@testing-library/react-native": "^12.9.0",
95
108
  "@types/color": "^3.0.6",
96
109
  "@types/jest": "^29.5.14",
@@ -222,7 +235,11 @@
222
235
  ],
223
236
  "funding": [
224
237
  {
225
- "type": "individual",
238
+ "type": "github",
239
+ "url": "https://github.com/sponsors/JairajJangle"
240
+ },
241
+ {
242
+ "type": "paypal",
226
243
  "url": "https://www.paypal.com/paypalme/jairajjangle001/usd"
227
244
  },
228
245
  {
@@ -230,7 +247,7 @@
230
247
  "url": "https://liberapay.com/FutureJJ/donate"
231
248
  },
232
249
  {
233
- "type": "individual",
250
+ "type": "ko-fi",
234
251
  "url": "https://ko-fi.com/futurejj"
235
252
  }
236
253
  ]