react-native-tree-multi-select 1.4.0 → 1.5.0-beta.1

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 (82) hide show
  1. package/README.md +13 -2
  2. package/lib/commonjs/TreeView.js +9 -4
  3. package/lib/commonjs/TreeView.js.map +1 -1
  4. package/lib/commonjs/components/CheckboxView.js +20 -13
  5. package/lib/commonjs/components/CheckboxView.js.map +1 -1
  6. package/lib/commonjs/components/CustomExpandCollapseIcon.js +3 -2
  7. package/lib/commonjs/components/CustomExpandCollapseIcon.js.map +1 -1
  8. package/lib/commonjs/components/NodeList.js +26 -23
  9. package/lib/commonjs/components/NodeList.js.map +1 -1
  10. package/lib/commonjs/constants/treeView.constants.js.map +1 -1
  11. package/lib/commonjs/helpers/expandCollapse.helper.js +13 -2
  12. package/lib/commonjs/helpers/expandCollapse.helper.js.map +1 -1
  13. package/lib/commonjs/helpers/flattenTree.helper.js +2 -2
  14. package/lib/commonjs/helpers/flattenTree.helper.js.map +1 -1
  15. package/lib/commonjs/helpers/index.js.map +1 -1
  16. package/lib/commonjs/helpers/search.helper.js +1 -1
  17. package/lib/commonjs/helpers/search.helper.js.map +1 -1
  18. package/lib/commonjs/helpers/selectAll.helper.js.map +1 -1
  19. package/lib/commonjs/helpers/toggleCheckbox.helper.js +82 -74
  20. package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
  21. package/lib/commonjs/helpers/treeNode.helper.js.map +1 -1
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/jest.setup.js.map +1 -1
  24. package/lib/commonjs/package.json +1 -0
  25. package/lib/commonjs/store/treeView.store.js +16 -1
  26. package/lib/commonjs/store/treeView.store.js.map +1 -1
  27. package/lib/commonjs/types/treeView.types.js.map +1 -1
  28. package/lib/commonjs/utils/usePreviousState.js.map +1 -1
  29. package/lib/module/TreeView.js +10 -3
  30. package/lib/module/TreeView.js.map +1 -1
  31. package/lib/module/components/CheckboxView.js +21 -12
  32. package/lib/module/components/CheckboxView.js.map +1 -1
  33. package/lib/module/components/CustomExpandCollapseIcon.js +4 -1
  34. package/lib/module/components/CustomExpandCollapseIcon.js.map +1 -1
  35. package/lib/module/components/NodeList.js +27 -22
  36. package/lib/module/components/NodeList.js.map +1 -1
  37. package/lib/module/constants/treeView.constants.js +2 -0
  38. package/lib/module/constants/treeView.constants.js.map +1 -1
  39. package/lib/module/helpers/expandCollapse.helper.js +15 -2
  40. package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
  41. package/lib/module/helpers/flattenTree.helper.js +4 -2
  42. package/lib/module/helpers/flattenTree.helper.js.map +1 -1
  43. package/lib/module/helpers/index.js +2 -0
  44. package/lib/module/helpers/index.js.map +1 -1
  45. package/lib/module/helpers/search.helper.js +3 -1
  46. package/lib/module/helpers/search.helper.js.map +1 -1
  47. package/lib/module/helpers/selectAll.helper.js +2 -0
  48. package/lib/module/helpers/selectAll.helper.js.map +1 -1
  49. package/lib/module/helpers/toggleCheckbox.helper.js +84 -74
  50. package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
  51. package/lib/module/helpers/treeNode.helper.js +2 -0
  52. package/lib/module/helpers/treeNode.helper.js.map +1 -1
  53. package/lib/module/index.js +2 -0
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/jest.setup.js +2 -0
  56. package/lib/module/jest.setup.js.map +1 -1
  57. package/lib/module/package.json +1 -0
  58. package/lib/module/store/treeView.store.js +18 -1
  59. package/lib/module/store/treeView.store.js.map +1 -1
  60. package/lib/module/types/treeView.types.js +2 -0
  61. package/lib/module/types/treeView.types.js.map +1 -1
  62. package/lib/module/utils/usePreviousState.js +2 -0
  63. package/lib/module/utils/usePreviousState.js.map +1 -1
  64. package/lib/typescript/TreeView.d.ts.map +1 -1
  65. package/lib/typescript/helpers/expandCollapse.helper.d.ts.map +1 -1
  66. package/lib/typescript/helpers/flattenTree.helper.d.ts +1 -1
  67. package/lib/typescript/helpers/toggleCheckbox.helper.d.ts.map +1 -1
  68. package/lib/typescript/index.d.ts +2 -2
  69. package/lib/typescript/index.d.ts.map +1 -1
  70. package/lib/typescript/store/treeView.store.d.ts +3 -1
  71. package/lib/typescript/store/treeView.store.d.ts.map +1 -1
  72. package/lib/typescript/types/treeView.types.d.ts +5 -1
  73. package/lib/typescript/types/treeView.types.d.ts.map +1 -1
  74. package/package.json +21 -22
  75. package/src/TreeView.tsx +9 -0
  76. package/src/components/NodeList.tsx +1 -1
  77. package/src/helpers/expandCollapse.helper.ts +13 -0
  78. package/src/helpers/flattenTree.helper.ts +2 -2
  79. package/src/helpers/toggleCheckbox.helper.ts +82 -74
  80. package/src/index.tsx +4 -2
  81. package/src/store/treeView.store.ts +18 -1
  82. package/src/types/treeView.types.ts +7 -0
@@ -19,8 +19,13 @@ function toggleCheckboxes(ids, forceCheck) {
19
19
  indeterminate,
20
20
  updateIndeterminate,
21
21
  nodeMap,
22
- childToParentMap
22
+ childToParentMap,
23
+ selectionPropagationBehavior
23
24
  } = _treeView.useTreeViewStore.getState();
25
+ const {
26
+ toChildren,
27
+ toParents
28
+ } = selectionPropagationBehavior;
24
29
 
25
30
  // Create new sets for checked and indeterminate state so as not to mutate the original state.
26
31
  const tempChecked = new Set(checked);
@@ -30,29 +35,6 @@ function toggleCheckboxes(ids, forceCheck) {
30
35
  const memoAllDescendantsChecked = new Map();
31
36
  const memoAnyDescendantsChecked = new Map();
32
37
 
33
- /**
34
- * Recursive function to check/uncheck a node and all its children.
35
- * @param {string} nodeId - The id of the node to be checked or unchecked.
36
- * @param {boolean} isChecked - Whether the node should be checked or unchecked.
37
- */
38
- const toggleNodeAndChildren = (nodeId, isChecked) => {
39
- var _node$children;
40
- // Set or unset this node in the checked set, and remove it from the indeterminate set.
41
- if (isChecked) {
42
- tempChecked.add(nodeId);
43
- tempIndeterminate.delete(nodeId);
44
- } else {
45
- tempChecked.delete(nodeId);
46
- }
47
-
48
- // Get the node from the node map and recursively apply the same state to all its children.
49
- const node = nodeMap.get(nodeId);
50
- node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 || _node$children.forEach(childNode => {
51
- if (isChecked) tempIndeterminate.delete(childNode.id);
52
- toggleNodeAndChildren(childNode.id, isChecked);
53
- });
54
- };
55
-
56
38
  /**
57
39
  * Recursive function to check if all descendants of a node are checked.
58
40
  * It uses memoization to avoid redundant calculations.
@@ -66,7 +48,7 @@ function toggleCheckboxes(ids, forceCheck) {
66
48
  }
67
49
  const node = nodeMap.get(nodeId);
68
50
  let allChecked = true;
69
- if (node !== null && node !== void 0 && node.children) {
51
+ if (node?.children) {
70
52
  // If the node has children, recursively check all children.
71
53
  for (const childNode of node.children) {
72
54
  allChecked = allChecked && areAllDescendantsChecked(childNode.id);
@@ -82,8 +64,8 @@ function toggleCheckboxes(ids, forceCheck) {
82
64
  };
83
65
 
84
66
  /**
85
- * Recursive function to check if any descendants of a node are checked.
86
- * It uses memoization to avoid redundant calculations.
67
+ * Updated function to check if any descendants of a node are checked.
68
+ * It uses memoization to avoid redundant calculations and avoids unnecessarily deep recursion.
87
69
  * @param {string} nodeId - The id of the node to be checked.
88
70
  * @returns {boolean} - Whether any descendants of the node are checked.
89
71
  */
@@ -94,10 +76,13 @@ function toggleCheckboxes(ids, forceCheck) {
94
76
  }
95
77
  const node = nodeMap.get(nodeId);
96
78
  let anyChecked = false;
97
- if (node !== null && node !== void 0 && node.children) {
98
- // If the node has children, recursively check all children.
79
+ if (node?.children) {
80
+ // Check if any direct child is checked, without requiring all descendants.
99
81
  for (const childNode of node.children) {
100
- anyChecked = anyChecked || areAnyDescendantsChecked(childNode.id);
82
+ if (tempChecked.has(childNode.id) || areAnyDescendantsChecked(childNode.id)) {
83
+ anyChecked = true;
84
+ break;
85
+ }
101
86
  }
102
87
  } else {
103
88
  // If the node has no children, its state is equal to whether it is in the checked set.
@@ -109,58 +94,81 @@ function toggleCheckboxes(ids, forceCheck) {
109
94
  return anyChecked;
110
95
  };
111
96
 
112
- /**
113
- * Function to update the indeterminate and checked state of a node and its ancestors.
114
- * @param {string} nodeId - The id of the node to be updated.
115
- */
116
- const updateNodeAndAncestorsState = nodeId => {
117
- const node = nodeMap.get(nodeId);
118
-
119
- // Update the node's state based on the state of its descendants.
120
- if (areAllDescendantsChecked(nodeId)) {
121
- tempChecked.add(nodeId);
122
- tempIndeterminate.delete(nodeId);
123
- } else if (areAnyDescendantsChecked(nodeId)) {
124
- // Condition to check if all direct children and all descendants are checked.
125
-
126
- /*
127
- istanbul ignore next
128
-
129
- NOTE: Below 2 lines in the condition are not covered in unit test
130
- This condition will only be true if for some reason areAllDescendantsChecked(nodeId)
131
- is false, while node?.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))
132
- is true. Given the current logic of areAllDescendantsChecked,
133
- this scenario is very unlikely to occur.
134
- */
135
- if (node !== null && node !== void 0 && node.children && node.children.every(childNode => areAllDescendantsChecked(childNode.id))) {
136
- // If a node's all direct children and all descendants are checked,
137
- // remove this node from both checked and indeterminate sets.
138
- tempChecked.delete(nodeId);
139
- tempIndeterminate.delete(nodeId);
140
- } else {
141
- tempChecked.delete(nodeId);
142
- tempIndeterminate.add(nodeId);
97
+ // Toggle the clicked nodes and their children.
98
+ ids.forEach(id => {
99
+ const isChecked = tempChecked.has(id);
100
+ const newCheckedState = forceCheck === undefined ? !isChecked : forceCheck;
101
+ if (newCheckedState) {
102
+ tempChecked.add(id);
103
+ tempIndeterminate.delete(id);
104
+ if (toChildren) {
105
+ recursivelyUpdateChildren(id, true);
143
106
  }
144
107
  } else {
145
- tempChecked.delete(nodeId);
146
- tempIndeterminate.delete(nodeId);
108
+ tempChecked.delete(id);
109
+ tempIndeterminate.delete(id);
110
+ if (toChildren) {
111
+ recursivelyUpdateChildren(id, false);
112
+ }
147
113
  }
148
- };
149
114
 
150
- // Toggle the clicked nodes and their children.
151
- ids.forEach(id => {
152
- const isChecked = tempChecked.has(id);
153
- toggleNodeAndChildren(id, forceCheck === undefined ? !isChecked : forceCheck);
115
+ // Skip updating parent nodes if toParents is false
116
+ if (toParents) {
117
+ updateParentNodes(id);
118
+ }
154
119
  });
155
120
 
156
- // Update the state of all affected nodes.
157
- ids.forEach(id => {
158
- let currentNodeId = id;
121
+ // Function to recursively update children nodes as per childrenChecked value
122
+ function recursivelyUpdateChildren(nodeId, childrenChecked) {
123
+ const node = nodeMap.get(nodeId);
124
+ if (node && node.children) {
125
+ node.children.forEach(childNode => {
126
+ if (childrenChecked) {
127
+ tempChecked.add(childNode.id);
128
+ tempIndeterminate.delete(childNode.id);
129
+ } else {
130
+ tempChecked.delete(childNode.id);
131
+ tempIndeterminate.delete(childNode.id);
132
+ }
133
+ recursivelyUpdateChildren(childNode.id, childrenChecked);
134
+ });
135
+ }
136
+ }
137
+
138
+ // Function to update parent nodes
139
+ function updateParentNodes(nodeId) {
140
+ let currentNodeId = nodeId;
159
141
  while (currentNodeId) {
160
- updateNodeAndAncestorsState(currentNodeId);
161
- currentNodeId = childToParentMap.get(currentNodeId);
142
+ const parentNodeId = childToParentMap.get(currentNodeId);
143
+ if (parentNodeId) {
144
+ if (tempChecked.has(parentNodeId)) {
145
+ // If the parent node is currently checked, but not all child nodes are checked,
146
+ // move the parent node to an indeterminate state
147
+ if (!areAllDescendantsChecked(parentNodeId)) {
148
+ tempChecked.delete(parentNodeId);
149
+ tempIndeterminate.add(parentNodeId);
150
+ }
151
+ } else if (tempIndeterminate.has(parentNodeId)) {
152
+ // If the parent node is currently in an indeterminate state,
153
+ // then check if all descendants are checked
154
+ if (areAllDescendantsChecked(parentNodeId)) {
155
+ tempIndeterminate.delete(parentNodeId);
156
+ tempChecked.add(parentNodeId);
157
+ } else if (!areAnyDescendantsChecked(parentNodeId)) {
158
+ // If no descendants are checked, remove from indeterminate set
159
+ tempIndeterminate.delete(parentNodeId);
160
+ }
161
+ } else {
162
+ // If the parent node is not checked or indeterminate,
163
+ // check if any descendants are checked and update appropriately
164
+ if (areAnyDescendantsChecked(parentNodeId)) {
165
+ tempIndeterminate.add(parentNodeId);
166
+ }
167
+ }
168
+ }
169
+ currentNodeId = parentNodeId;
162
170
  }
163
- });
171
+ }
164
172
 
165
173
  // Update the state object with the new checked and indeterminate sets.
166
174
  updateChecked(tempChecked);
@@ -1 +1 @@
1
- {"version":3,"names":["_treeView","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","useTreeViewStore","getState","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","toggleNodeAndChildren","nodeId","isChecked","_node$children","add","delete","node","get","children","forEach","childNode","id","areAllDescendantsChecked","has","allChecked","set","areAnyDescendantsChecked","anyChecked","updateNodeAndAncestorsState","every","undefined","currentNodeId"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_treeView","require","toggleCheckboxes","ids","forceCheck","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","selectionPropagationBehavior","useTreeViewStore","getState","toChildren","toParents","tempChecked","Set","tempIndeterminate","memoAllDescendantsChecked","Map","memoAnyDescendantsChecked","areAllDescendantsChecked","nodeId","has","get","node","allChecked","children","childNode","id","set","areAnyDescendantsChecked","anyChecked","forEach","isChecked","newCheckedState","undefined","add","delete","recursivelyUpdateChildren","updateParentNodes","childrenChecked","currentNodeId","parentNodeId"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_treeView","require","initializeNodeMaps","initialData","updateNodeMap","updateChildToParentMap","useTreeViewStore","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGC,0BAAgB,CAACC,QAAQ,CAAC,CAAC;EAE/B,MAAMC,WAAkC,GAAG,IAAIC,GAAG,CAAC,CAAC;EAAC;EACrD,MAAMC,oBAAyC,GAAG,IAAID,GAAG,CAAC,CAAC;EAAC;;EAE5D;AACJ;AACA;AACA;AACA;AACA;EACI,MAAME,YAAY,GAAGA,CACjBC,KAAiB,EACjBC,QAAuB,GAAG,IAAI,KAC7B;IACDD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;MACpB;MACAP,WAAW,CAACQ,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEF,IAAI,CAAC;MAC9B;MACA,IAAIF,QAAQ,EAAEH,oBAAoB,CAACM,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEJ,QAAQ,CAAC;MACzD;MACA,IAAIE,IAAI,CAACG,QAAQ,EAAEP,YAAY,CAACI,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACE,EAAE,CAAC;IAC3D,CAAC,CAAC;EACN,CAAC;;EAED;EACAN,YAAY,CAACR,WAAW,CAAC;EAEzBC,aAAa,CAACI,WAAW,CAAC;EAC1BH,sBAAsB,CAACK,oBAAoB,CAAC;AAChD","ignoreList":[]}
1
+ {"version":3,"names":["_treeView","require","initializeNodeMaps","initialData","updateNodeMap","updateChildToParentMap","useTreeViewStore","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGC,0BAAgB,CAACC,QAAQ,CAAC,CAAC;EAE/B,MAAMC,WAAkC,GAAG,IAAIC,GAAG,CAAC,CAAC;EAAC;EACrD,MAAMC,oBAAyC,GAAG,IAAID,GAAG,CAAC,CAAC;EAAC;;EAE5D;AACJ;AACA;AACA;AACA;AACA;EACI,MAAME,YAAY,GAAGA,CACjBC,KAAiB,EACjBC,QAAuB,GAAG,IAAI,KAC7B;IACDD,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;MACpB;MACAP,WAAW,CAACQ,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEF,IAAI,CAAC;MAC9B;MACA,IAAIF,QAAQ,EAAEH,oBAAoB,CAACM,GAAG,CAACD,IAAI,CAACE,EAAE,EAAEJ,QAAQ,CAAC;MACzD;MACA,IAAIE,IAAI,CAACG,QAAQ,EAAEP,YAAY,CAACI,IAAI,CAACG,QAAQ,EAAEH,IAAI,CAACE,EAAE,CAAC;IAC3D,CAAC,CAAC;EACN,CAAC;;EAED;EACAN,YAAY,CAACR,WAAW,CAAC;EAEzBC,aAAa,CAACI,WAAW,CAAC;EAC1BH,sBAAsB,CAACK,oBAAoB,CAAC;AAChD","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_TreeView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CheckboxView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAYA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_TreeView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_CheckboxView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAaA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["require"],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["require"],"sourceRoot":"../../src","sources":["jest.setup.ts"],"mappings":";;AAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -42,6 +42,17 @@ const useTreeViewStore = exports.useTreeViewStore = (0, _zustand.create)(set =>
42
42
  updateInnerMostChildrenIds: innerMostChildrenIds => set({
43
43
  innerMostChildrenIds
44
44
  }),
45
+ selectionPropagationBehavior: {
46
+ toChildren: true,
47
+ toParents: true
48
+ },
49
+ setSelectionPropagationBehavior: selectionPropagationBehavior => set({
50
+ selectionPropagationBehavior: {
51
+ // Default selection propagation for parent and children to true if not mentioned
52
+ toChildren: selectionPropagationBehavior.toChildren ?? true,
53
+ toParents: selectionPropagationBehavior.toParents ?? true
54
+ }
55
+ }),
45
56
  cleanUpTreeViewStore: () => set({
46
57
  checked: new Set(),
47
58
  indeterminate: new Set(),
@@ -51,7 +62,11 @@ const useTreeViewStore = exports.useTreeViewStore = (0, _zustand.create)(set =>
51
62
  childToParentMap: new Map(),
52
63
  searchText: "",
53
64
  searchKeys: [""],
54
- innerMostChildrenIds: []
65
+ innerMostChildrenIds: [],
66
+ selectionPropagationBehavior: {
67
+ toChildren: true,
68
+ toParents: true
69
+ }
55
70
  })
56
71
  }));
57
72
  //# sourceMappingURL=treeView.store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_zustand","require","useTreeViewStore","exports","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","cleanUpTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AA2CO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,eAAM,EAAiBC,GAAG,KAAM;EAC5DC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;EAClBC,aAAa,EAAGF,OAAoB,IAAKD,GAAG,CAAC;IAAEC;EAAQ,CAAC,CAAC;EAEzDG,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;EACxBG,mBAAmB,EAAGD,aAA0B,IAAKJ,GAAG,CAAC;IAAEI;EAAc,CAAC,CAAC;EAE3EE,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;EAC3BK,cAAc,EAAGD,QAAqB,IAAKN,GAAG,CAAC;IAAEM;EAAS,CAAC,CAAC;EAE5DE,mBAAmB,EAAE,EAAE;EACvBC,yBAAyB,EAAGD,mBAA+B,IAAKR,GAAG,CAAC;IAChEQ;EACJ,CAAC,CAAC;EAEFE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;EACpCC,aAAa,EAAGF,OAA8B,IAAKV,GAAG,CAAC;IAAEU;EAAQ,CAAC,CAAC;EAEnEG,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;EAC3CG,sBAAsB,EAAGD,gBAAqC,IAAKb,GAAG,CAAC;IAAEa;EAAiB,CAAC,CAAC;EAE5FE,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAGD,UAAkB,IAAKf,GAAG,CAAC;IAAEe;EAAW,CAAC,CAAC;EAE7DE,UAAU,EAAE,CAAC,EAAE,CAAC;EAChBC,gBAAgB,EAAGD,UAAoB,IAAKjB,GAAG,CAAC;IAAEiB;EAAW,CAAC,CAAC;EAE/DE,oBAAoB,EAAE,EAAE;EACxBC,0BAA0B,EAAGD,oBAA8B,IAAKnB,GAAG,CAAC;IAAEmB;EAAqB,CAAC,CAAC;EAE7FE,oBAAoB,EAAEA,CAAA,KAClBrB,GAAG,CAAC;IACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;IACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;IAC3BM,mBAAmB,EAAE,EAAE;IACvBE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;IACpCE,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;IAC3CI,UAAU,EAAE,EAAE;IACdE,UAAU,EAAE,CAAC,EAAE,CAAC;IAChBE,oBAAoB,EAAE;EAC1B,CAAC;AACT,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_zustand","require","useTreeViewStore","exports","create","set","checked","Set","updateChecked","indeterminate","updateIndeterminate","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","nodeMap","Map","updateNodeMap","childToParentMap","updateChildToParentMap","searchText","updateSearchText","searchKeys","updateSearchKeys","innerMostChildrenIds","updateInnerMostChildrenIds","selectionPropagationBehavior","toChildren","toParents","setSelectionPropagationBehavior","cleanUpTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAgDO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,eAAM,EAAiBC,GAAG,KAAM;EAC5DC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;EAClBC,aAAa,EAAGF,OAAoB,IAAKD,GAAG,CAAC;IAAEC;EAAQ,CAAC,CAAC;EAEzDG,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;EACxBG,mBAAmB,EAAGD,aAA0B,IAAKJ,GAAG,CAAC;IAAEI;EAAc,CAAC,CAAC;EAE3EE,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;EAC3BK,cAAc,EAAGD,QAAqB,IAAKN,GAAG,CAAC;IAAEM;EAAS,CAAC,CAAC;EAE5DE,mBAAmB,EAAE,EAAE;EACvBC,yBAAyB,EAAGD,mBAA+B,IAAKR,GAAG,CAAC;IAChEQ;EACJ,CAAC,CAAC;EAEFE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;EACpCC,aAAa,EAAGF,OAA8B,IAAKV,GAAG,CAAC;IAAEU;EAAQ,CAAC,CAAC;EAEnEG,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;EAC3CG,sBAAsB,EAAGD,gBAAqC,IAAKb,GAAG,CAAC;IAAEa;EAAiB,CAAC,CAAC;EAE5FE,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAGD,UAAkB,IAAKf,GAAG,CAAC;IAAEe;EAAW,CAAC,CAAC;EAE7DE,UAAU,EAAE,CAAC,EAAE,CAAC;EAChBC,gBAAgB,EAAGD,UAAoB,IAAKjB,GAAG,CAAC;IAAEiB;EAAW,CAAC,CAAC;EAE/DE,oBAAoB,EAAE,EAAE;EACxBC,0BAA0B,EAAGD,oBAA8B,IAAKnB,GAAG,CAAC;IAAEmB;EAAqB,CAAC,CAAC;EAE7FE,4BAA4B,EAAE;IAAEC,UAAU,EAAE,IAAI;IAAEC,SAAS,EAAE;EAAK,CAAC;EACnEC,+BAA+B,EAAGH,4BAA4B,IAAKrB,GAAG,CAClE;IACIqB,4BAA4B,EAAE;MAC1B;MACAC,UAAU,EAAED,4BAA4B,CAACC,UAAU,IAAI,IAAI;MAC3DC,SAAS,EAAEF,4BAA4B,CAACE,SAAS,IAAI;IACzD;EACJ,CACJ,CAAC;EAEDE,oBAAoB,EAAEA,CAAA,KAClBzB,GAAG,CAAC;IACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;IAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;IACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;IAC3BM,mBAAmB,EAAE,EAAE;IACvBE,OAAO,EAAE,IAAIC,GAAG,CAAmB,CAAC;IACpCE,gBAAgB,EAAE,IAAIF,GAAG,CAAiB,CAAC;IAC3CI,UAAU,EAAE,EAAE;IACdE,UAAU,EAAE,CAAC,EAAE,CAAC;IAChBE,oBAAoB,EAAE,EAAE;IACxBE,4BAA4B,EAAE;MAAEC,UAAU,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAK;EACtE,CAAC;AACT,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/treeView.types.ts"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/treeView.types.ts"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","usePreviousState","value","ref","useRef","useEffect","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAI,CAAC;EAEvB,IAAAC,gBAAS,EAAC,MAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACG,OAAO;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","usePreviousState","value","ref","useRef","useEffect","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAI,CAAC;EAEvB,IAAAC,gBAAS,EAAC,MAAM;IACdF,GAAG,CAACG,OAAO,GAAGJ,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACG,OAAO;AACpB","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import React from 'react';
2
4
  import { InteractionManager } from 'react-native';
3
5
  import NodeList from './components/NodeList';
@@ -5,11 +7,13 @@ import { selectAll, selectAllFiltered, unselectAll, unselectAllFiltered, initial
5
7
  import { useTreeViewStore } from './store/treeView.store';
6
8
  import usePreviousState from './utils/usePreviousState';
7
9
  import { useShallow } from "zustand/react/shallow";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
8
11
  const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
9
12
  const {
10
13
  data,
11
14
  onCheck,
12
15
  onExpand,
16
+ selectionPropagationBehavior,
13
17
  preselectedIds = [],
14
18
  preExpandedIds = [],
15
19
  treeFlashListProps,
@@ -30,6 +34,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
30
34
  updateSearchKeys,
31
35
  checked,
32
36
  indeterminate,
37
+ setSelectionPropagationBehavior,
33
38
  cleanUpTreeViewStore
34
39
  } = useTreeViewStore(useShallow(state => ({
35
40
  expanded: state.expanded,
@@ -41,6 +46,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
41
46
  updateSearchKeys: state.updateSearchKeys,
42
47
  checked: state.checked,
43
48
  indeterminate: state.indeterminate,
49
+ setSelectionPropagationBehavior: state.setSelectionPropagationBehavior,
44
50
  cleanUpTreeViewStore: state.cleanUpTreeViewStore
45
51
  })));
46
52
  React.useImperativeHandle(ref, () => ({
@@ -59,6 +65,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
59
65
  const prevSearchText = usePreviousState(searchText);
60
66
  React.useEffect(() => {
61
67
  updateInitialTreeViewData(data);
68
+ if (selectionPropagationBehavior) setSelectionPropagationBehavior(selectionPropagationBehavior);
62
69
  initializeNodeMaps(data);
63
70
 
64
71
  // Check any pre-selected nodes
@@ -86,10 +93,10 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
86
93
  }
87
94
  }, []);
88
95
  React.useEffect(() => {
89
- onCheck === null || onCheck === void 0 || onCheck(Array.from(checked), Array.from(indeterminate));
96
+ onCheck?.(Array.from(checked), Array.from(indeterminate));
90
97
  }, [onCheck, checked, indeterminate]);
91
98
  React.useEffect(() => {
92
- onExpand === null || onExpand === void 0 || onExpand(Array.from(expanded));
99
+ onExpand?.(Array.from(expanded));
93
100
  }, [onExpand, expanded]);
94
101
  React.useEffect(() => {
95
102
  if (searchText) {
@@ -109,7 +116,7 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
109
116
  cleanUpTreeViewStore();
110
117
  };
111
118
  }, [cleanUpTreeViewStore]);
112
- return /*#__PURE__*/React.createElement(NodeList, {
119
+ return /*#__PURE__*/_jsx(NodeList, {
113
120
  treeFlashListProps: treeFlashListProps,
114
121
  checkBoxViewStyleProps: checkBoxViewStyleProps,
115
122
  indentationMultiplier: indentationMultiplier,
@@ -1 +1 @@
1
- {"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","indeterminate","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","jsx","_jsx","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","selectionPropagationBehavior","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","indeterminate","setSelectionPropagationBehavior","cleanUpTreeViewStore","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,9 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ "use strict";
2
+
2
3
  import React from "react";
3
4
  import { Platform, StyleSheet, Text, TouchableOpacity, View } from "react-native";
4
5
  import { Checkbox } from 'react-native-paper';
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
7
  function arePropsEqual(prevProps, nextProps) {
6
8
  return prevProps.value === nextProps.value && prevProps.text === nextProps.text;
7
9
  }
@@ -35,17 +37,24 @@ function _CheckboxView(props) {
35
37
  // If the previous state was 'indeterminate', set checked to true
36
38
  if (value === 'indeterminate') onValueChange(true);else onValueChange(!value);
37
39
  }, [onValueChange, value]);
38
- return /*#__PURE__*/React.createElement(View, {
39
- style: outermostParentViewStyle
40
- }, /*#__PURE__*/React.createElement(View, {
41
- style: checkboxParentViewStyle
42
- }, /*#__PURE__*/React.createElement(Checkbox.Android, _extends({}, checkboxProps, {
43
- status: customCheckboxValueTypeToRNPaperType(value),
44
- onPress: onValueChangeModifier
45
- }))), text ? /*#__PURE__*/React.createElement(TouchableOpacity, {
46
- style: textTouchableStyle,
47
- onPress: onValueChangeModifier
48
- }, /*#__PURE__*/React.createElement(Text, textProps, text)) : null);
40
+ return /*#__PURE__*/_jsxs(View, {
41
+ style: outermostParentViewStyle,
42
+ children: [/*#__PURE__*/_jsx(View, {
43
+ style: checkboxParentViewStyle,
44
+ children: /*#__PURE__*/_jsx(Checkbox.Android, {
45
+ ...checkboxProps,
46
+ status: customCheckboxValueTypeToRNPaperType(value),
47
+ onPress: onValueChangeModifier
48
+ })
49
+ }), text ? /*#__PURE__*/_jsx(TouchableOpacity, {
50
+ style: textTouchableStyle,
51
+ onPress: onValueChangeModifier,
52
+ children: /*#__PURE__*/_jsx(Text, {
53
+ ...textProps,
54
+ children: text
55
+ })
56
+ }) : null]
57
+ });
49
58
  }
50
59
  export const defaultCheckboxViewStyles = StyleSheet.create({
51
60
  mainView: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","createElement","Android","_extends","status","onPress","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACD,cAAc;AAErB,SAASC,QAAQ,QAAQ,oBAAoB;AAM7C,SAASC,aAAaA,CAClBC,SAAmC,EACnCC,SAAmC,EACrC;EACE,OACID,SAAS,CAACE,KAAK,KAAKD,SAAS,CAACC,KAAK,IACnCF,SAAS,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI;AAEzC;AAEA,OAAO,MAAMC,YAAY,gBAAGZ,KAAK,CAACa,IAAI,CAACC,aAAa,EAAEP,aAAa,CAAC;AAEpE,SAASO,aAAaA,CAACC,KAA+B,EAAE;EACpD,MAAM;IACFL,KAAK;IACLM,aAAa;IACbL,IAAI;IAEJM,wBAAwB,GAAGC,yBAAyB,CAACC,QAAQ;IAC7DC,uBAAuB,GAAGF,yBAAyB,CAACG,YAAY;IAChEC,kBAAkB;IAElBC,aAAa;IACbC,SAAS,GAAG;MACRC,KAAK,EAAEP,yBAAyB,CAACQ,iBAAiB;MAClDC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;IACnB;EACJ,CAAC,GAAGb,KAAK;EAET,MAAMc,oCAAoC,GAAG7B,KAAK,CAAC8B,WAAW,CAC1DC,uBAA0C,IACzC;IACD,OAAOA,uBAAuB,KAAK,eAAe,GAC5C,eAAe,GACfA,uBAAuB,GACnB,SAAS,GACT,WAAW;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMC,qBAAqB,GAAGhC,KAAK,CAAC8B,WAAW,CAAC,MAAM;IAClD;IACA,IAAIpB,KAAK,KAAK,eAAe,EAAEM,aAAa,CAAC,IAAI,CAAC,CAAC,KAC9CA,aAAa,CAAC,CAACN,KAAK,CAAC;EAC9B,CAAC,EAAE,CAACM,aAAa,EAAEN,KAAK,CAAC,CAAC;EAE1B,oBACIV,KAAA,CAAAiC,aAAA,CAAC5B,IAAI;IACDoB,KAAK,EAAER;EAAyB,gBAChCjB,KAAA,CAAAiC,aAAA,CAAC5B,IAAI;IACDoB,KAAK,EAAEL;EAAwB,gBAC/BpB,KAAA,CAAAiC,aAAA,CAAC3B,QAAQ,CAAC4B,OAAO,EAAAC,QAAA,KACTZ,aAAa;IACjBa,MAAM,EAAEP,oCAAoC,CAACnB,KAAK,CAAE;IACpD2B,OAAO,EAAEL;EAAsB,EAAE,CACnC,CAAC,EAENrB,IAAI,gBACDX,KAAA,CAAAiC,aAAA,CAAC7B,gBAAgB;IACbqB,KAAK,EAAEH,kBAAmB;IAC1Be,OAAO,EAAEL;EAAsB,gBAC/BhC,KAAA,CAAAiC,aAAA,CAAC9B,IAAI,EACGqB,SAAS,EACZb,IACC,CACQ,CAAC,GACnB,IACF,CAAC;AAEf;AAEA,OAAO,MAAMO,yBAAyB,GAAGhB,UAAU,CAACoC,MAAM,CAAC;EACvDnB,QAAQ,EAAE;IACNoB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IAEpBC,SAAS,EAAE;EACf,CAAC;EACDrB,YAAY,EAAE;IACVsB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAC9B,CAAC;EACDnB,iBAAiB,EAAE;IACfoB,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE9C,QAAQ,CAAC+C,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","jsx","_jsx","jsxs","_jsxs","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","children","Android","status","onPress","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACD,cAAc;AAErB,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM9C,SAASC,aAAaA,CAClBC,SAAmC,EACnCC,SAAmC,EACrC;EACE,OACID,SAAS,CAACE,KAAK,KAAKD,SAAS,CAACC,KAAK,IACnCF,SAAS,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI;AAEzC;AAEA,OAAO,MAAMC,YAAY,gBAAGhB,KAAK,CAACiB,IAAI,CAACC,aAAa,EAAEP,aAAa,CAAC;AAEpE,SAASO,aAAaA,CAACC,KAA+B,EAAE;EACpD,MAAM;IACFL,KAAK;IACLM,aAAa;IACbL,IAAI;IAEJM,wBAAwB,GAAGC,yBAAyB,CAACC,QAAQ;IAC7DC,uBAAuB,GAAGF,yBAAyB,CAACG,YAAY;IAChEC,kBAAkB;IAElBC,aAAa;IACbC,SAAS,GAAG;MACRC,KAAK,EAAEP,yBAAyB,CAACQ,iBAAiB;MAClDC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;IACnB;EACJ,CAAC,GAAGb,KAAK;EAET,MAAMc,oCAAoC,GAAGjC,KAAK,CAACkC,WAAW,CAC1DC,uBAA0C,IACzC;IACD,OAAOA,uBAAuB,KAAK,eAAe,GAC5C,eAAe,GACfA,uBAAuB,GACnB,SAAS,GACT,WAAW;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMC,qBAAqB,GAAGpC,KAAK,CAACkC,WAAW,CAAC,MAAM;IAClD;IACA,IAAIpB,KAAK,KAAK,eAAe,EAAEM,aAAa,CAAC,IAAI,CAAC,CAAC,KAC9CA,aAAa,CAAC,CAACN,KAAK,CAAC;EAC9B,CAAC,EAAE,CAACM,aAAa,EAAEN,KAAK,CAAC,CAAC;EAE1B,oBACIJ,KAAA,CAACL,IAAI;IACDwB,KAAK,EAAER,wBAAyB;IAAAgB,QAAA,gBAChC7B,IAAA,CAACH,IAAI;MACDwB,KAAK,EAAEL,uBAAwB;MAAAa,QAAA,eAC/B7B,IAAA,CAACF,QAAQ,CAACgC,OAAO;QAAA,GACTX,aAAa;QACjBY,MAAM,EAAEN,oCAAoC,CAACnB,KAAK,CAAE;QACpD0B,OAAO,EAAEJ;MAAsB,CAAE;IAAC,CACpC,CAAC,EAENrB,IAAI,gBACDP,IAAA,CAACJ,gBAAgB;MACbyB,KAAK,EAAEH,kBAAmB;MAC1Bc,OAAO,EAAEJ,qBAAsB;MAAAC,QAAA,eAC/B7B,IAAA,CAACL,IAAI;QAAA,GACGyB,SAAS;QAAAS,QAAA,EACZtB;MAAI,CACH;IAAC,CACO,CAAC,GACnB,IAAI;EAAA,CACN,CAAC;AAEf;AAEA,OAAO,MAAMO,yBAAyB,GAAGpB,UAAU,CAACuC,MAAM,CAAC;EACvDlB,QAAQ,EAAE;IACNmB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IAEpBC,SAAS,EAAE;EACf,CAAC;EACDpB,YAAY,EAAE;IACVqB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAC9B,CAAC;EACDlB,iBAAiB,EAAE;IACfmB,KAAK,EAAE,OAAO;IACdC,SAAS,EAAEjD,QAAQ,CAACkD,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,11 +1,14 @@
1
+ "use strict";
2
+
1
3
  import React from "react";
2
4
  import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
3
6
  export const CustomExpandCollapseIcon = /*#__PURE__*/React.memo(_CustomExpandCollapseIcon);
4
7
  function _CustomExpandCollapseIcon(props) {
5
8
  const {
6
9
  isExpanded
7
10
  } = props;
8
- return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
11
+ return /*#__PURE__*/_jsx(FontAwesomeIcon, {
9
12
  name: isExpanded ? 'caret-down' : 'caret-right',
10
13
  size: 20,
11
14
  color: "black"
@@ -1 +1 @@
1
- {"version":3,"names":["React","FontAwesomeIcon","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","createElement","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,uCAAuC;AAInE,OAAO,MAAMC,wBAAwB,gBAAGF,KAAK,CAACG,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIL,KAAA,CAAAO,aAAA,CAACN,eAAe;IACZO,IAAI,EACAF,UAAU,GACJ,YAAY,GACZ,aACT;IACDG,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["React","FontAwesomeIcon","jsx","_jsx","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,uCAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIpE,OAAO,MAAMC,wBAAwB,gBAAGJ,KAAK,CAACK,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIJ,IAAA,CAACF,eAAe;IACZQ,IAAI,EACAD,UAAU,GACJ,YAAY,GACZ,aACT;IACDE,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ "use strict";
2
+
2
3
  import React from "react";
3
4
  import { View, StyleSheet, TouchableOpacity } from "react-native";
4
5
  import { FlashList } from "@shopify/flash-list";
@@ -8,6 +9,7 @@ import { CheckboxView } from "./CheckboxView";
8
9
  import { CustomExpandCollapseIcon } from "./CustomExpandCollapseIcon";
9
10
  import { defaultIndentationMultiplier } from "../constants/treeView.constants";
10
11
  import { useShallow } from 'zustand/react/shallow';
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
13
  const NodeList = /*#__PURE__*/React.memo(_NodeList);
12
14
  export default NodeList;
13
15
  function _NodeList(props) {
@@ -37,7 +39,7 @@ function _NodeList(props) {
37
39
  // First we filter the tree as per the search term and keys
38
40
  const filteredTree = React.useMemo(() => getFilteredTreeData(initialTreeViewData, searchText.trim().toLowerCase(), searchKeys), [initialTreeViewData, searchText, searchKeys]);
39
41
 
40
- // Then we flatten the treen to make it "render-compatible" in a "flat" list
42
+ // Then we flatten the tree to make it "render-compatible" in a "flat" list
41
43
  const flattenedFilteredNodes = React.useMemo(() => getFlattenedTreeData(filteredTree, expanded), [filteredTree, expanded]);
42
44
 
43
45
  // And update the innermost children id -> required to un/select filtered tree
@@ -48,7 +50,7 @@ function _NodeList(props) {
48
50
  const nodeRenderer = React.useCallback(({
49
51
  item
50
52
  }) => {
51
- return /*#__PURE__*/React.createElement(Node, {
53
+ return /*#__PURE__*/_jsx(Node, {
52
54
  node: item,
53
55
  level: item.level || 0,
54
56
  checkBoxViewStyleProps: checkBoxViewStyleProps,
@@ -59,20 +61,21 @@ function _NodeList(props) {
59
61
  CustomNodeRowComponent: CustomNodeRowComponent
60
62
  });
61
63
  }, [CheckboxComponent, ExpandCollapseIconComponent, ExpandCollapseTouchableComponent, CustomNodeRowComponent, checkBoxViewStyleProps, indentationMultiplier]);
62
- return /*#__PURE__*/React.createElement(FlashList, _extends({
64
+ return /*#__PURE__*/_jsx(FlashList, {
63
65
  estimatedItemSize: 36,
64
66
  removeClippedSubviews: true,
65
67
  keyboardShouldPersistTaps: "handled",
66
68
  drawDistance: 50,
67
69
  data: flattenedFilteredNodes,
68
70
  renderItem: nodeRenderer,
69
- ListHeaderComponent: /*#__PURE__*/React.createElement(HeaderFooterView, null),
70
- ListFooterComponent: /*#__PURE__*/React.createElement(HeaderFooterView, null)
71
- }, treeFlashListProps));
71
+ ListHeaderComponent: /*#__PURE__*/_jsx(HeaderFooterView, {}),
72
+ ListFooterComponent: /*#__PURE__*/_jsx(HeaderFooterView, {}),
73
+ ...treeFlashListProps
74
+ });
72
75
  }
73
76
  ;
74
77
  function HeaderFooterView() {
75
- return /*#__PURE__*/React.createElement(View, {
78
+ return /*#__PURE__*/_jsx(View, {
76
79
  style: styles.defaultHeaderFooter
77
80
  });
78
81
  }
@@ -114,23 +117,25 @@ function _Node(props) {
114
117
  toggleCheckboxes([node.id]);
115
118
  }, [node.id]);
116
119
  if (!CustomNodeRowComponent) {
117
- var _node$children;
118
- return /*#__PURE__*/React.createElement(View, {
120
+ return /*#__PURE__*/_jsxs(View, {
119
121
  style: [styles.nodeCheckboxAndArrowRow, {
120
122
  paddingStart: level * indentationMultiplier
121
- }]
122
- }, /*#__PURE__*/React.createElement(CheckboxComponent, _extends({
123
- text: node.name,
124
- onValueChange: _onCheck,
125
- value: value
126
- }, checkBoxViewStyleProps)), (_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length ? /*#__PURE__*/React.createElement(ExpandCollapseTouchableComponent, {
127
- style: styles.nodeExpandableArrowTouchable,
128
- onPress: _onToggleExpand
129
- }, /*#__PURE__*/React.createElement(ExpandCollapseIconComponent, {
130
- isExpanded: isExpanded
131
- })) : null);
123
+ }],
124
+ children: [/*#__PURE__*/_jsx(CheckboxComponent, {
125
+ text: node.name,
126
+ onValueChange: _onCheck,
127
+ value: value,
128
+ ...checkBoxViewStyleProps
129
+ }), node.children?.length ? /*#__PURE__*/_jsx(ExpandCollapseTouchableComponent, {
130
+ style: styles.nodeExpandableArrowTouchable,
131
+ onPress: _onToggleExpand,
132
+ children: /*#__PURE__*/_jsx(ExpandCollapseIconComponent, {
133
+ isExpanded: isExpanded
134
+ })
135
+ }) : null]
136
+ });
132
137
  } else {
133
- return /*#__PURE__*/React.createElement(CustomNodeRowComponent, {
138
+ return /*#__PURE__*/_jsx(CustomNodeRowComponent, {
134
139
  node: node,
135
140
  level: level,
136
141
  checkedValue: value,