react-native-tree-multi-select 1.7.0 → 1.8.0

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 (71) hide show
  1. package/README.md +6 -6
  2. package/lib/commonjs/TreeView.js +6 -4
  3. package/lib/commonjs/TreeView.js.map +1 -1
  4. package/lib/commonjs/components/NodeList.js +3 -2
  5. package/lib/commonjs/components/NodeList.js.map +1 -1
  6. package/lib/commonjs/helpers/expandCollapse.helper.js.map +1 -1
  7. package/lib/commonjs/helpers/flattenTree.helper.js +1 -1
  8. package/lib/commonjs/helpers/flattenTree.helper.js.map +1 -1
  9. package/lib/commonjs/helpers/search.helper.js +5 -5
  10. package/lib/commonjs/helpers/search.helper.js.map +1 -1
  11. package/lib/commonjs/helpers/selectAll.helper.js +5 -5
  12. package/lib/commonjs/helpers/selectAll.helper.js.map +1 -1
  13. package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
  14. package/lib/commonjs/helpers/treeNode.helper.js +1 -1
  15. package/lib/commonjs/helpers/treeNode.helper.js.map +1 -1
  16. package/lib/commonjs/store/treeView.store.js +5 -3
  17. package/lib/commonjs/store/treeView.store.js.map +1 -1
  18. package/lib/commonjs/utils/typedMemo.js +11 -0
  19. package/lib/commonjs/utils/typedMemo.js.map +1 -0
  20. package/lib/module/TreeView.js +6 -4
  21. package/lib/module/TreeView.js.map +1 -1
  22. package/lib/module/components/NodeList.js +3 -2
  23. package/lib/module/components/NodeList.js.map +1 -1
  24. package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
  25. package/lib/module/helpers/flattenTree.helper.js +1 -1
  26. package/lib/module/helpers/flattenTree.helper.js.map +1 -1
  27. package/lib/module/helpers/search.helper.js +5 -5
  28. package/lib/module/helpers/search.helper.js.map +1 -1
  29. package/lib/module/helpers/selectAll.helper.js +5 -5
  30. package/lib/module/helpers/selectAll.helper.js.map +1 -1
  31. package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
  32. package/lib/module/helpers/treeNode.helper.js +1 -1
  33. package/lib/module/helpers/treeNode.helper.js.map +1 -1
  34. package/lib/module/store/treeView.store.js +5 -3
  35. package/lib/module/store/treeView.store.js.map +1 -1
  36. package/lib/module/utils/typedMemo.js +7 -0
  37. package/lib/module/utils/typedMemo.js.map +1 -0
  38. package/lib/typescript/TreeView.d.ts +5 -1
  39. package/lib/typescript/TreeView.d.ts.map +1 -1
  40. package/lib/typescript/components/NodeList.d.ts +2 -2
  41. package/lib/typescript/components/NodeList.d.ts.map +1 -1
  42. package/lib/typescript/helpers/expandCollapse.helper.d.ts +3 -3
  43. package/lib/typescript/helpers/expandCollapse.helper.d.ts.map +1 -1
  44. package/lib/typescript/helpers/flattenTree.helper.d.ts +1 -1
  45. package/lib/typescript/helpers/flattenTree.helper.d.ts.map +1 -1
  46. package/lib/typescript/helpers/search.helper.d.ts +1 -1
  47. package/lib/typescript/helpers/search.helper.d.ts.map +1 -1
  48. package/lib/typescript/helpers/selectAll.helper.d.ts +1 -1
  49. package/lib/typescript/helpers/selectAll.helper.d.ts.map +1 -1
  50. package/lib/typescript/helpers/toggleCheckbox.helper.d.ts +1 -1
  51. package/lib/typescript/helpers/toggleCheckbox.helper.d.ts.map +1 -1
  52. package/lib/typescript/helpers/treeNode.helper.d.ts +1 -1
  53. package/lib/typescript/helpers/treeNode.helper.d.ts.map +1 -1
  54. package/lib/typescript/store/treeView.store.d.ts +17 -17
  55. package/lib/typescript/store/treeView.store.d.ts.map +1 -1
  56. package/lib/typescript/types/treeView.types.d.ts +22 -22
  57. package/lib/typescript/types/treeView.types.d.ts.map +1 -1
  58. package/lib/typescript/utils/typedMemo.d.ts +3 -0
  59. package/lib/typescript/utils/typedMemo.d.ts.map +1 -0
  60. package/package.json +1 -1
  61. package/src/TreeView.tsx +16 -14
  62. package/src/components/NodeList.tsx +12 -11
  63. package/src/helpers/expandCollapse.helper.ts +9 -9
  64. package/src/helpers/flattenTree.helper.ts +7 -7
  65. package/src/helpers/search.helper.ts +12 -12
  66. package/src/helpers/selectAll.helper.ts +11 -11
  67. package/src/helpers/toggleCheckbox.helper.ts +11 -11
  68. package/src/helpers/treeNode.helper.ts +8 -8
  69. package/src/store/treeView.store.ts +39 -37
  70. package/src/types/treeView.types.ts +23 -23
  71. package/src/utils/typedMemo.ts +4 -0
@@ -3,11 +3,11 @@
3
3
  /**
4
4
  * Get filtered tree data based on the search term and the search keys
5
5
  * If any of the parent contains the search term, the tree will also contain
6
- * it's children.
7
- *
6
+ * it's children.
7
+ *
8
8
  * If only one of the innermost children contains the search term then it's siblings
9
9
  * won't be included in the search. But all it's ancestor nodes will be included
10
- *
10
+ *
11
11
  * @param nodes Input tree data
12
12
  * @param trimmedSearchTerm search term
13
13
  * @param searchKeys search key
@@ -39,7 +39,7 @@ export function getFilteredTreeData(nodes, trimmedSearchTerm, searchKeys) {
39
39
  /**
40
40
  * Checks if a given tree node contains a specific search term in any of its specified keys.
41
41
  *
42
- * This function will check each of the specified keys in the tree node, convert the key's value to a string,
42
+ * This function will check each of the specified keys in the tree node, convert the key's value to a string,
43
43
  * and check if it includes the search term.
44
44
  *
45
45
  * @param node - The tree node to search through.
@@ -53,7 +53,7 @@ function doesNodeContainSearchTerm(node, searchTerm, searchKeys) {
53
53
  // Get the value of the key in the tree node
54
54
  const nodeValue = node[key];
55
55
  // Check if the string representation of the key's value includes the search term
56
- // If the value is undefined or null, `nodeValue?.toString()` will return undefined,
56
+ // If the value is undefined or null, `nodeValue?.toString()` will return undefined,
57
57
  // and the call to `toLowerCase().includes(searchTerm)` will return false.
58
58
  return nodeValue?.toString().toLowerCase().includes(searchTerm);
59
59
  });
@@ -1 +1 @@
1
- {"version":3,"names":["getFilteredTreeData","nodes","trimmedSearchTerm","searchKeys","filtered","node","isSearchTermInNode","doesNodeContainSearchTerm","push","children","childMatches","length","searchTerm","some","key","nodeValue","toString","toLowerCase","includes"],"sourceRoot":"../../../src","sources":["helpers/search.helper.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAC/BC,KAAiB,EACjBC,iBAAyB,EACzBC,UAAoB,EACV;EACV,IAAIC,QAAoB,GAAG,EAAE;EAE7B,KAAK,IAAIC,IAAI,IAAIJ,KAAK,EAAE;IACpB,MAAMK,kBAAkB,GAAGC,yBAAyB,CAChDF,IAAI,EACJH,iBAAiB,EACjBC,UACJ,CAAC;IAED,IAAI,CAACD,iBAAiB,IAAII,kBAAkB,EAAE;MAC1C;MACAF,QAAQ,CAACI,IAAI,CAACH,IAAI,CAAC;IACvB,CAAC,MAAM,IAAIA,IAAI,CAACI,QAAQ,EAAE;MACtB;MACA,MAAMC,YAAY,GAAGV,mBAAmB,CACpCK,IAAI,CAACI,QAAQ,EACbP,iBAAiB,EACjBC,UACJ,CAAC;MAED,IAAIO,YAAY,CAACC,MAAM,GAAG,CAAC,EAAE;QACzB;QACAP,QAAQ,CAACI,IAAI,CAAC;UAAE,GAAGH,IAAI;UAAEI,QAAQ,EAAEC;QAAa,CAAC,CAAC;MACtD;IACJ;EACJ;EAEA,OAAON,QAAQ;AACnB;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,yBAAyBA,CAC9BF,IAAc,EACdO,UAAkB,EAClBT,UAAoB,EACb;EACP;EACA,OAAOA,UAAU,CAACU,IAAI,CAACC,GAAG,IAAI;IAC1B;IACA,MAAMC,SAAS,GAAGV,IAAI,CAACS,GAAG,CAAC;IAC3B;IACA;IACA;IACA,OAAQC,SAAS,EAAEC,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACN,UAAU,CAAC;EACpE,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["getFilteredTreeData","nodes","trimmedSearchTerm","searchKeys","filtered","node","isSearchTermInNode","doesNodeContainSearchTerm","push","children","childMatches","length","searchTerm","some","key","nodeValue","toString","toLowerCase","includes"],"sourceRoot":"../../../src","sources":["helpers/search.helper.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAC/BC,KAAqB,EACrBC,iBAAyB,EACzBC,UAAoB,EACN;EACd,IAAIC,QAAwB,GAAG,EAAE;EAEjC,KAAK,IAAIC,IAAI,IAAIJ,KAAK,EAAE;IACpB,MAAMK,kBAAkB,GAAGC,yBAAyB,CAChDF,IAAI,EACJH,iBAAiB,EACjBC,UACJ,CAAC;IAED,IAAI,CAACD,iBAAiB,IAAII,kBAAkB,EAAE;MAC1C;MACAF,QAAQ,CAACI,IAAI,CAACH,IAAI,CAAC;IACvB,CAAC,MAAM,IAAIA,IAAI,CAACI,QAAQ,EAAE;MACtB;MACA,MAAMC,YAAY,GAAGV,mBAAmB,CACpCK,IAAI,CAACI,QAAQ,EACbP,iBAAiB,EACjBC,UACJ,CAAC;MAED,IAAIO,YAAY,CAACC,MAAM,GAAG,CAAC,EAAE;QACzB;QACAP,QAAQ,CAACI,IAAI,CAAC;UAAE,GAAGH,IAAI;UAAEI,QAAQ,EAAEC;QAAa,CAAC,CAAC;MACtD;IACJ;EACJ;EAEA,OAAON,QAAQ;AACnB;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,yBAAyBA,CAC9BF,IAAkB,EAClBO,UAAkB,EAClBT,UAAoB,EACb;EACP;EACA,OAAOA,UAAU,CAACU,IAAI,CAACC,GAAG,IAAI;IAC1B;IACA,MAAMC,SAAS,GAAGV,IAAI,CAACS,GAAG,CAAC;IAC3B;IACA;IACA;IACA,OAAQC,SAAS,EAAEC,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACN,UAAU,CAAC;EACpE,CAAC,CAAC;AACN","ignoreList":[]}
@@ -5,7 +5,7 @@ import { toggleCheckboxes } from "./toggleCheckbox.helper";
5
5
 
6
6
  /**
7
7
  * Selects all nodes that are currently visible due to the applied filter.
8
- *
8
+ *
9
9
  * If there is no search text, then it selects all nodes; otherwise, it selects all visible nodes.
10
10
  */
11
11
  export function selectAllFiltered(storeId) {
@@ -27,7 +27,7 @@ export function selectAllFiltered(storeId) {
27
27
 
28
28
  /**
29
29
  * Unselects all nodes that are currently visible due to the applied filter.
30
- *
30
+ *
31
31
  * If there is no search text, then it unselects all nodes; otherwise, it unselects all visible nodes.
32
32
  */
33
33
  export function unselectAllFiltered(storeId) {
@@ -49,7 +49,7 @@ export function unselectAllFiltered(storeId) {
49
49
 
50
50
  /**
51
51
  * Selects all nodes in the tree.
52
- *
52
+ *
53
53
  * This function selects all nodes by adding all node ids to the checked set and clearing the indeterminate set.
54
54
  */
55
55
  export function selectAll(storeId) {
@@ -71,7 +71,7 @@ export function selectAll(storeId) {
71
71
 
72
72
  /**
73
73
  * Unselects all nodes in the tree.
74
- *
74
+ *
75
75
  * This function unselects all nodes by clearing both the checked and indeterminate sets.
76
76
  */
77
77
  export function unselectAll(storeId) {
@@ -89,7 +89,7 @@ export function unselectAll(storeId) {
89
89
 
90
90
  /**
91
91
  * Get the ids of the innermost children in the tree
92
- *
92
+ *
93
93
  * @param filteredTreeNodes - The filtered tree data
94
94
  * @returns - array of ids of the inner most children only
95
95
  */
@@ -1 +1 @@
1
- {"version":3,"names":["getTreeViewStore","toggleCheckboxes","selectAllFiltered","storeId","treeViewStore","searchText","innerMostChildrenIds","getState","selectAll","unselectAllFiltered","unselectAll","nodeMap","updateChecked","updateIndeterminate","newChecked","Set","keys","getInnerMostChildrenIdsInTree","filteredTreeNodes","allLeafIds","getLeafNodes","_nodes","node","children","push","id"],"sourceRoot":"../../../src","sources":["helpers/selectAll.helper.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,gBAAgB,QAAQ,yBAAyB;;AAE1D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAe,EAAE;EAC/C,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAEE,UAAU;IAAEC;EAAqB,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAErE;EACA,IAAI,CAACF,UAAU,EAAE;IACbG,SAAS,CAACL,OAAO,CAAC;EACtB,CAAC,MAAM;IACH;IACAF,gBAAgB,CAACE,OAAO,EAAEG,oBAAoB,EAAE,IAAI,CAAC;EACzD;AACJ;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,mBAAmBA,CAACN,OAAe,EAAE;EACjD,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAEE,UAAU;IAAEC;EAAqB,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAErE;EACA,IAAI,CAACF,UAAU,EAAE;IACbK,WAAW,CAACP,OAAO,CAAC;EACxB,CAAC,MAAM;IACH;IACAF,gBAAgB,CAACE,OAAO,EAAEG,oBAAoB,EAAE,KAAK,CAAC;EAC1D;AACJ;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,SAASA,CAACL,OAAe,EAAE;EACvC,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IACFQ,OAAO;IACPC,aAAa;IACbC;EACJ,CAAC,GAAGT,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAE5B;EACA,MAAMO,UAAU,GAAG,IAAIC,GAAG,CAACJ,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC;EAC1C;;EAEAJ,aAAa,CAACE,UAAU,CAAC;EACzBD,mBAAmB,CAAC,IAAIE,GAAG,CAAC,CAAC,CAAC;AAClC;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASL,WAAWA,CAACP,OAAe,EAAE;EACzC,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAES,aAAa;IAAEC;EAAoB,CAAC,GAAGT,aAAa,CAACG,QAAQ,CAAC,CAAC;EACvE;;EAEAK,aAAa,CAAC,IAAIG,GAAG,CAAC,CAAC,CAAC;EACxBF,mBAAmB,CAAC,IAAIE,GAAG,CAAC,CAAC,CAAC;AAClC;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,6BAA6BA,CACzCC,iBAA6B,EACrB;EACR,MAAMC,UAAoB,GAAG,EAAE;EAE/B,MAAMC,YAAY,GAAIC,MAAkB,IAAK;IACzC,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACrB,IAAIC,IAAI,CAACC,QAAQ,EAAE;QACfH,YAAY,CAACE,IAAI,CAACC,QAAQ,CAAC;MAC/B,CAAC,MAAM;QACHJ,UAAU,CAACK,IAAI,CAACF,IAAI,CAACG,EAAE,CAAC;MAC5B;IACJ;EACJ,CAAC;EAEDL,YAAY,CAACF,iBAAiB,CAAC;EAE/B,OAAOC,UAAU;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["getTreeViewStore","toggleCheckboxes","selectAllFiltered","storeId","treeViewStore","searchText","innerMostChildrenIds","getState","selectAll","unselectAllFiltered","unselectAll","nodeMap","updateChecked","updateIndeterminate","newChecked","Set","keys","getInnerMostChildrenIdsInTree","filteredTreeNodes","allLeafIds","getLeafNodes","_nodes","node","children","push","id"],"sourceRoot":"../../../src","sources":["helpers/selectAll.helper.ts"],"mappings":";;AACA,SAASA,gBAAgB,QAAQ,yBAAyB;AAC1D,SAASC,gBAAgB,QAAQ,yBAAyB;;AAE1D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAe,EAAE;EAC/C,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAEE,UAAU;IAAEC;EAAqB,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAErE;EACA,IAAI,CAACF,UAAU,EAAE;IACbG,SAAS,CAACL,OAAO,CAAC;EACtB,CAAC,MAAM;IACH;IACAF,gBAAgB,CAACE,OAAO,EAAEG,oBAAoB,EAAE,IAAI,CAAC;EACzD;AACJ;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,mBAAmBA,CAACN,OAAe,EAAE;EACjD,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAEE,UAAU;IAAEC;EAAqB,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAErE;EACA,IAAI,CAACF,UAAU,EAAE;IACbK,WAAW,CAACP,OAAO,CAAC;EACxB,CAAC,MAAM;IACH;IACAF,gBAAgB,CAACE,OAAO,EAAEG,oBAAoB,EAAE,KAAK,CAAC;EAC1D;AACJ;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,SAASA,CAACL,OAAe,EAAE;EACvC,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IACFQ,OAAO;IACPC,aAAa;IACbC;EACJ,CAAC,GAAGT,aAAa,CAACG,QAAQ,CAAC,CAAC;;EAE5B;EACA,MAAMO,UAAU,GAAG,IAAIC,GAAG,CAACJ,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC;EAC1C;;EAEAJ,aAAa,CAACE,UAAU,CAAC;EACzBD,mBAAmB,CAAC,IAAIE,GAAG,CAAC,CAAC,CAAC;AAClC;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,SAASL,WAAWA,CAACP,OAAe,EAAE;EACzC,MAAMC,aAAa,GAAGJ,gBAAgB,CAACG,OAAO,CAAC;EAC/C,MAAM;IAAES,aAAa;IAAEC;EAAoB,CAAC,GAAGT,aAAa,CAACG,QAAQ,CAAC,CAAC;EACvE;;EAEAK,aAAa,CAAC,IAAIG,GAAG,CAAC,CAAC,CAAC;EACxBF,mBAAmB,CAAC,IAAIE,GAAG,CAAC,CAAC,CAAC;AAClC;AAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,6BAA6BA,CACzCC,iBAAiC,EAC7B;EACJ,MAAMC,UAAgB,GAAG,EAAE;EAE3B,MAAMC,YAAY,GAAIC,MAAsB,IAAK;IAC7C,KAAK,IAAIC,IAAI,IAAID,MAAM,EAAE;MACrB,IAAIC,IAAI,CAACC,QAAQ,EAAE;QACfH,YAAY,CAACE,IAAI,CAACC,QAAQ,CAAC;MAC/B,CAAC,MAAM;QACHJ,UAAU,CAACK,IAAI,CAACF,IAAI,CAACG,EAAE,CAAC;MAC5B;IACJ;EACJ,CAAC;EAEDL,YAAY,CAACF,iBAAiB,CAAC;EAE/B,OAAOC,UAAU;AACrB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["getTreeViewStore","toggleCheckboxes","storeId","ids","forceCheck","treeViewStore","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","selectionPropagation","getState","toChildren","toParents","tempChecked","Set","tempIndeterminate","affectedNodes","nodeDepths","Map","forEach","id","node","get","isChecked","has","newCheckedState","undefined","add","delete","updateChildrenIteratively","nodesToUpdate","currentNodeId","parentNodeId","size","sortedNodes","Array","from","sort","a","b","getNodeDepth","nodeId","updateNodeState","rootId","childrenChecked","stack","length","pop","children","childNode","push","depth","set","allChildrenChecked","anyChildCheckedOrIndeterminate","child","isIndeterminate"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getTreeViewStore","toggleCheckboxes","storeId","ids","forceCheck","treeViewStore","checked","updateChecked","indeterminate","updateIndeterminate","nodeMap","childToParentMap","selectionPropagation","getState","toChildren","toParents","tempChecked","Set","tempIndeterminate","affectedNodes","nodeDepths","Map","forEach","id","node","get","isChecked","has","newCheckedState","undefined","add","delete","updateChildrenIteratively","nodesToUpdate","currentNodeId","parentNodeId","size","sortedNodes","Array","from","sort","a","b","getNodeDepth","nodeId","updateNodeState","rootId","childrenChecked","stack","length","pop","children","childNode","push","depth","set","allChildrenChecked","anyChildCheckedOrIndeterminate","child","isIndeterminate"],"sourceRoot":"../../../src","sources":["helpers/toggleCheckbox.helper.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { getTreeViewStore } from "../store/treeView.store";
5
5
  /**
6
6
  * Initialize the maps for tracking tree nodes and their parent-child relationships.
7
7
  *
8
- * This function is intended to be called once, during component initialization,
8
+ * This function is intended to be called once, during component initialization,
9
9
  * with the initial tree data and any preselected node IDs.
10
10
  *
11
11
  * @param initialData - An array of TreeNode objects that represent the initial tree structure.
@@ -1 +1 @@
1
- {"version":3,"names":["getTreeViewStore","initializeNodeMaps","storeId","initialData","treeViewStore","updateNodeMap","updateChildToParentMap","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;AACA,SACIA,gBAAgB,QACb,yBAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,OAAe,EAAEC,WAAuB,EAAE;EACzE,MAAMC,aAAa,GAAGJ,gBAAgB,CAACE,OAAO,CAAC;EAC/C,MAAM;IACFG,aAAa;IACbC;EACJ,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;EAE5B,MAAMC,WAAkC,GAAG,IAAIC,GAAG,CAAC,CAAC;EACpD,MAAMC,oBAAyC,GAAG,IAAID,GAAG,CAAC,CAAC;;EAE3D;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;EAEzBE,aAAa,CAACG,WAAW,CAAC;EAC1BF,sBAAsB,CAACI,oBAAoB,CAAC;AAChD","ignoreList":[]}
1
+ {"version":3,"names":["getTreeViewStore","initializeNodeMaps","storeId","initialData","treeViewStore","updateNodeMap","updateChildToParentMap","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/treeNode.helper.ts"],"mappings":";;AACA,SACIA,gBAAgB,QACb,yBAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAKC,OAAe,EAAEC,WAA2B,EAAE;EACjF,MAAMC,aAAa,GAAGJ,gBAAgB,CAAKE,OAAO,CAAC;EACnD,MAAM;IACFG,aAAa;IACbC;EACJ,CAAC,GAAGF,aAAa,CAACG,QAAQ,CAAC,CAAC;EAE5B,MAAMC,WAAkC,GAAG,IAAIC,GAAG,CAAC,CAAC;EACpD,MAAMC,oBAAiC,GAAG,IAAID,GAAG,CAAC,CAAC;;EAEnD;AACJ;AACA;AACA;AACA;AACA;EACI,MAAME,YAAY,GAAGA,CACjBC,KAAqB,EACrBC,QAAmB,GAAG,IAAI,KACzB;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;EAEzBE,aAAa,CAACG,WAAW,CAAC;EAC1BF,sBAAsB,CAACI,oBAAoB,CAAC;AAChD","ignoreList":[]}
@@ -3,8 +3,10 @@
3
3
  import { create } from 'zustand';
4
4
  // Map to store individual tree view stores by id
5
5
  const treeViewStores = new Map();
6
+ // a function that returns a strongly typed version of `treeViewStores`
7
+ const typedStore = () => treeViewStores;
6
8
  export function getTreeViewStore(id) {
7
- if (!treeViewStores.has(id)) {
9
+ if (!typedStore().has(id)) {
8
10
  const store = create(set => ({
9
11
  checked: new Set(),
10
12
  updateChecked: checked => set({
@@ -69,9 +71,9 @@ export function getTreeViewStore(id) {
69
71
  }
70
72
  })
71
73
  }));
72
- treeViewStores.set(id, store);
74
+ typedStore().set(id, store);
73
75
  }
74
- return treeViewStores.get(id);
76
+ return typedStore().get(id);
75
77
  }
76
78
  export function useTreeViewStore(id) {
77
79
  return getTreeViewStore(id);
@@ -1 +1 @@
1
- {"version":3,"names":["create","treeViewStores","Map","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","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":";;AACA,SAASA,MAAM,QAAiC,SAAS;AAgDzD;AACA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAiD,CAAC;AAEhF,OAAO,SAASC,gBAAgBA,CAACC,EAAU,EAA0C;EACjF,IAAI,CAACH,cAAc,CAACI,GAAG,CAACD,EAAE,CAAC,EAAE;IACzB,MAAME,KAAK,GAAGN,MAAM,CAAiBO,GAAG,KAAM;MAC1CC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;MAClBC,aAAa,EAAGF,OAAoB,IAAKD,GAAG,CAAC;QAAEC;MAAQ,CAAC,CAAC;MAEzDG,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;MACxBG,mBAAmB,EAAGD,aAA0B,IAAKJ,GAAG,CAAC;QAAEI;MAAc,CAAC,CAAC;MAE3EE,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;MAC3BK,cAAc,EAAGD,QAAqB,IAAKN,GAAG,CAAC;QAAEM;MAAS,CAAC,CAAC;MAE5DE,mBAAmB,EAAE,EAAE;MACvBC,yBAAyB,EAAGD,mBAA+B,IAAKR,GAAG,CAAC;QAChEQ;MACJ,CAAC,CAAC;MAEFE,OAAO,EAAE,IAAIf,GAAG,CAAmB,CAAC;MACpCgB,aAAa,EAAGD,OAA8B,IAAKV,GAAG,CAAC;QAAEU;MAAQ,CAAC,CAAC;MAEnEE,gBAAgB,EAAE,IAAIjB,GAAG,CAAiB,CAAC;MAC3CkB,sBAAsB,EAAGD,gBAAqC,IAAKZ,GAAG,CAAC;QACnEY;MACJ,CAAC,CAAC;MAEFE,UAAU,EAAE,EAAE;MACdC,gBAAgB,EAAGD,UAAkB,IAAKd,GAAG,CAAC;QAAEc;MAAW,CAAC,CAAC;MAE7DE,UAAU,EAAE,CAAC,EAAE,CAAC;MAChBC,gBAAgB,EAAGD,UAAoB,IAAKhB,GAAG,CAAC;QAAEgB;MAAW,CAAC,CAAC;MAE/DE,oBAAoB,EAAE,EAAE;MACxBC,0BAA0B,EAAGD,oBAA8B,IAAKlB,GAAG,CAAC;QAChEkB;MACJ,CAAC,CAAC;MAEFE,oBAAoB,EAAE;QAAEC,UAAU,EAAE,IAAI;QAAEC,SAAS,EAAE;MAAK,CAAC;MAC3DC,uBAAuB,EAAGH,oBAAoB,IAAKpB,GAAG,CAAC;QACnDoB,oBAAoB,EAAE;UAClB;UACAC,UAAU,EAAED,oBAAoB,CAACC,UAAU,IAAI,IAAI;UACnDC,SAAS,EAAEF,oBAAoB,CAACE,SAAS,IAAI;QACjD;MACJ,CAAC,CAAC;MAEFE,oBAAoB,EAAEA,CAAA,KAClBxB,GAAG,CAAC;QACAC,OAAO,EAAE,IAAIC,GAAG,CAAC,CAAC;QAClBE,aAAa,EAAE,IAAIF,GAAG,CAAC,CAAC;QACxBI,QAAQ,EAAE,IAAIJ,GAAG,CAAS,CAAC;QAC3BM,mBAAmB,EAAE,EAAE;QACvBE,OAAO,EAAE,IAAIf,GAAG,CAAmB,CAAC;QACpCiB,gBAAgB,EAAE,IAAIjB,GAAG,CAAiB,CAAC;QAC3CmB,UAAU,EAAE,EAAE;QACdE,UAAU,EAAE,CAAC,EAAE,CAAC;QAChBE,oBAAoB,EAAE,EAAE;QACxBE,oBAAoB,EAAE;UAAEC,UAAU,EAAE,IAAI;UAAEC,SAAS,EAAE;QAAK;MAC9D,CAAC;IACT,CAAC,CAAC,CAAC;IAEH5B,cAAc,CAACM,GAAG,CAACH,EAAE,EAAEE,KAAK,CAAC;EACjC;EACA,OAAOL,cAAc,CAAC+B,GAAG,CAAC5B,EAAE,CAAC;AACjC;AAEA,OAAO,SAAS6B,gBAAgBA,CAAC7B,EAAU,EAAE;EACzC,OAAOD,gBAAgB,CAACC,EAAE,CAAC;AAC/B","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","cleanUpTreeViewStore","get","useTreeViewStore"],"sourceRoot":"../../../src","sources":["store/treeView.store.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ import React from "react";
4
+
5
+ /** wrapper for React.memo that works with generic components. */
6
+ export const typedMemo = React.memo;
7
+ //# sourceMappingURL=typedMemo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","typedMemo","memo"],"sourceRoot":"../../../src","sources":["utils/typedMemo.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;;AAEzB;AACA,OAAO,MAAMC,SAAyB,GAAGD,KAAK,CAACE,IAAI","ignoreList":[]}
@@ -1,4 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { TreeViewProps, TreeViewRef } from './types/treeView.types';
3
- export declare const TreeView: React.MemoExoticComponent<React.ForwardRefExoticComponent<TreeViewProps & React.RefAttributes<TreeViewRef>>>;
3
+ declare function _innerTreeView<ID>(props: TreeViewProps<ID>, ref: React.ForwardedRef<TreeViewRef<ID>>): React.JSX.Element;
4
+ export declare const TreeView: <ID>(props: TreeViewProps<ID> & {
5
+ ref?: React.ForwardedRef<TreeViewRef<ID>>;
6
+ }) => ReturnType<typeof _innerTreeView>;
7
+ export {};
4
8
  //# sourceMappingURL=TreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAyMhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAqBhC,iBAAS,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,qBAiL7F;AAKD,eAAO,MAAM,QAAQ,GAJkC,EAAE,SAChD,aAAa,CAAC,EAAE,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE,KACrE,UAAU,CAAC,OAAO,cAAc,CAEyB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import type { NodeListProps } from "../types/treeView.types";
3
- declare const NodeList: React.MemoExoticComponent<typeof _NodeList>;
3
+ declare const NodeList: typeof _NodeList;
4
4
  export default NodeList;
5
- declare function _NodeList(props: NodeListProps): React.JSX.Element;
5
+ declare function _NodeList<ID>(props: NodeListProps<ID>): React.JSX.Element;
6
6
  //# sourceMappingURL=NodeList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAGR,aAAa,EAEhB,MAAM,yBAAyB,CAAC;AAejC,QAAA,MAAM,QAAQ,6CAAwB,CAAC;AACvC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,qBA6FtC"}
1
+ {"version":3,"file":"NodeList.d.ts","sourceRoot":"","sources":["../../../src/components/NodeList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAGR,aAAa,EAEhB,MAAM,yBAAyB,CAAC;AAgBjC,QAAA,MAAM,QAAQ,kBAAuB,CAAC;AACtC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,qBA6F9C"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @param id - The ID of the tree node to toggle.
8
8
  */
9
- export declare function handleToggleExpand(storeId: string, id: string): void;
9
+ export declare function handleToggleExpand<ID>(storeId: string, id: ID): void;
10
10
  /**
11
11
  * Expand all nodes in the tree.
12
12
  */
@@ -20,11 +20,11 @@ export declare function collapseAll(storeId: string): void;
20
20
  * its ancestors up to the root.
21
21
  * @param ids - Ids of nodes to expand.
22
22
  */
23
- export declare function expandNodes(storeId: string, ids: string[]): void;
23
+ export declare function expandNodes<ID>(storeId: string, ids: ID[]): void;
24
24
  /**
25
25
  * Collapse tree nodes of given ids. If the id is of a parent, it also collapses
26
26
  * its descendants.
27
27
  * @param ids - Ids of nodes to collapse.
28
28
  */
29
- export declare function collapseNodes(storeId: string, ids: string[]): void;
29
+ export declare function collapseNodes<ID>(storeId: string, ids: ID[]): void;
30
30
  //# sourceMappingURL=expandCollapse.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAoC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAMxC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAK1C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAgBzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QA6B3D"}
1
+ {"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAoC7D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAMxC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAK1C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAgBzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QA6B3D"}
@@ -9,5 +9,5 @@ import { TreeNode, __FlattenedTreeNode__ } from "../types/treeView.types";
9
9
  * @param __level__ - (optional) for internal recursive use only
10
10
  * @returns Flattened tree data with expanded ids only
11
11
  */
12
- export declare function getFlattenedTreeData(nodes: TreeNode[], expandedIds: Set<string>): __FlattenedTreeNode__[];
12
+ export declare function getFlattenedTreeData<ID>(nodes: TreeNode<ID>[], expandedIds: Set<ID>): __FlattenedTreeNode__<ID>[];
13
13
  //# sourceMappingURL=flattenTree.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flattenTree.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/flattenTree.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,qBAAqB,EAAE,CAoCzB"}
1
+ {"version":3,"file":"flattenTree.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/flattenTree.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE1E;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EACnC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EACrB,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,GACrB,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAoC7B"}
@@ -12,5 +12,5 @@ import { TreeNode } from "../types/treeView.types";
12
12
  * @param searchKeys search key
13
13
  * @returns filtered tree data
14
14
  */
15
- export declare function getFilteredTreeData(nodes: TreeNode[], trimmedSearchTerm: string, searchKeys: string[]): TreeNode[];
15
+ export declare function getFilteredTreeData<ID>(nodes: TreeNode<ID>[], trimmedSearchTerm: string, searchKeys: string[]): TreeNode<ID>[];
16
16
  //# sourceMappingURL=search.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/search.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,QAAQ,EAAE,EACjB,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,MAAM,EAAE,GACrB,QAAQ,EAAE,CA6BZ"}
1
+ {"version":3,"file":"search.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/search.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAClC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,EACrB,iBAAiB,EAAE,MAAM,EACzB,UAAU,EAAE,MAAM,EAAE,GACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,CA6BhB"}
@@ -29,5 +29,5 @@ export declare function unselectAll(storeId: string): void;
29
29
  * @param filteredTreeNodes - The filtered tree data
30
30
  * @returns - array of ids of the inner most children only
31
31
  */
32
- export declare function getInnerMostChildrenIdsInTree(filteredTreeNodes: TreeNode[]): string[];
32
+ export declare function getInnerMostChildrenIdsInTree<ID>(filteredTreeNodes: TreeNode<ID>[]): ID[];
33
33
  //# sourceMappingURL=selectAll.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,QAWhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,QAWlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAcxC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAO1C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,iBAAiB,EAAE,QAAQ,EAAE,GAC9B,MAAM,EAAE,CAgBV"}
1
+ {"version":3,"file":"selectAll.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/selectAll.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAInD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,QAWhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,QAWlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAcxC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAO1C;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAC5C,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GAClC,EAAE,EAAE,CAgBN"}
@@ -5,5 +5,5 @@
5
5
  * @param {boolean} [forceCheck] - Optional. If provided, will force the check state of the nodes to be this value.
6
6
  * If not provided, the check state will be toggled based on the current state.
7
7
  */
8
- export declare function toggleCheckboxes(storeId: string, ids: string[], forceCheck?: boolean): void;
8
+ export declare function toggleCheckboxes<ID>(storeId: string, ids: ID[], forceCheck?: boolean): void;
9
9
  //# sourceMappingURL=toggleCheckbox.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EAAE,EACb,UAAU,CAAC,EAAE,OAAO,QA6LvB"}
1
+ {"version":3,"file":"toggleCheckbox.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/toggleCheckbox.helper.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,EAAE,EAAE,EACT,UAAU,CAAC,EAAE,OAAO,QA6LvB"}
@@ -8,5 +8,5 @@ import type { TreeNode } from "../types/treeView.types";
8
8
  * @param initialData - An array of TreeNode objects that represent the initial tree structure.
9
9
  * @param preselectedIds - An optional array of TreeNode IDs that should be preselected.
10
10
  */
11
- export declare function initializeNodeMaps(storeId: string, initialData: TreeNode[]): void;
11
+ export declare function initializeNodeMaps<ID>(storeId: string, initialData: TreeNode<ID>[]): void;
12
12
  //# sourceMappingURL=treeNode.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"treeNode.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/treeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAmC1E"}
1
+ {"version":3,"file":"treeNode.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/treeNode.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,QAmClF"}
@@ -1,28 +1,28 @@
1
1
  import type { SelectionPropagation, TreeNode } from "src/types/treeView.types";
2
2
  import { StoreApi, UseBoundStore } from 'zustand';
3
- export type TreeViewState = {
4
- checked: Set<string>;
5
- updateChecked: (checked: Set<string>) => void;
6
- indeterminate: Set<string>;
7
- updateIndeterminate: (indeterminate: Set<string>) => void;
8
- expanded: Set<string>;
9
- updateExpanded: (expanded: Set<string>) => void;
10
- initialTreeViewData: TreeNode[];
11
- updateInitialTreeViewData: (initialTreeViewData: TreeNode[]) => void;
12
- nodeMap: Map<string, TreeNode>;
13
- updateNodeMap: (nodeMap: Map<string, TreeNode>) => void;
14
- childToParentMap: Map<string, string>;
15
- updateChildToParentMap: (childToParentMap: Map<string, string>) => void;
3
+ export type TreeViewState<ID> = {
4
+ checked: Set<ID>;
5
+ updateChecked: (checked: Set<ID>) => void;
6
+ indeterminate: Set<ID>;
7
+ updateIndeterminate: (indeterminate: Set<ID>) => void;
8
+ expanded: Set<ID>;
9
+ updateExpanded: (expanded: Set<ID>) => void;
10
+ initialTreeViewData: TreeNode<ID>[];
11
+ updateInitialTreeViewData: (initialTreeViewData: TreeNode<ID>[]) => void;
12
+ nodeMap: Map<ID, TreeNode<ID>>;
13
+ updateNodeMap: (nodeMap: Map<ID, TreeNode<ID>>) => void;
14
+ childToParentMap: Map<ID, ID>;
15
+ updateChildToParentMap: (childToParentMap: Map<ID, ID>) => void;
16
16
  searchText: string;
17
17
  updateSearchText: (searchText: string) => void;
18
18
  searchKeys: string[];
19
19
  updateSearchKeys: (searchKeys: string[]) => void;
20
- innerMostChildrenIds: string[];
21
- updateInnerMostChildrenIds: (innerMostChildrenIds: string[]) => void;
20
+ innerMostChildrenIds: ID[];
21
+ updateInnerMostChildrenIds: (innerMostChildrenIds: ID[]) => void;
22
22
  selectionPropagation: SelectionPropagation;
23
23
  setSelectionPropagation: (selectionPropagation: SelectionPropagation) => void;
24
24
  cleanUpTreeViewStore: () => void;
25
25
  };
26
- export declare function getTreeViewStore(id: string): UseBoundStore<StoreApi<TreeViewState>>;
27
- export declare function useTreeViewStore(id: string): UseBoundStore<StoreApi<TreeViewState>>;
26
+ export declare function getTreeViewStore<ID>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
27
+ export declare function useTreeViewStore<ID = string>(id: string): UseBoundStore<StoreApi<TreeViewState<ID>>>;
28
28
  //# 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,0BAA0B,CAAC;AAC/E,OAAO,EAAU,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAExB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAG9C,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,mBAAmB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAG1D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAGhD,mBAAmB,EAAE,QAAQ,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAGrE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC;IAGxD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAGxE,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,MAAM,EAAE,CAAC;IAC/B,0BAA0B,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAErE,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,uBAAuB,EAAE,CACrB,oBAAoB,EAAE,oBAAoB,KACzC,IAAI,CAAC;IAGV,oBAAoB,EAAE,MAAM,IAAI,CAAC;CACpC,CAAC;AAKF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CA+DnF;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,0CAE1C"}
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,0BAA0B,CAAC;AAC/E,OAAO,EAAU,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,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,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,CA+D3F;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,8CAEvD"}
@@ -5,47 +5,47 @@ export type CheckboxValueType = boolean | 'indeterminate';
5
5
  export interface ExpandIconProps {
6
6
  isExpanded: boolean;
7
7
  }
8
- export interface TreeNode {
9
- id: string;
8
+ export interface TreeNode<ID = string> {
9
+ id: ID;
10
10
  name: string;
11
- children?: TreeNode[];
11
+ children?: TreeNode<ID>[];
12
12
  [key: string]: any;
13
13
  }
14
- export interface __FlattenedTreeNode__ extends TreeNode {
14
+ export interface __FlattenedTreeNode__<ID = string> extends TreeNode<ID> {
15
15
  level?: number;
16
16
  }
17
17
  export type TreeFlatListProps<ItemT = any> = Omit<FlashListProps<ItemT>, "data" | "renderItem">;
18
- export interface NodeRowProps {
19
- node: TreeNode;
18
+ export interface NodeRowProps<ID = string> {
19
+ node: TreeNode<ID>;
20
20
  level: number;
21
21
  checkedValue: CheckboxValueType;
22
22
  isExpanded: boolean;
23
23
  onCheck: () => void;
24
24
  onExpand: () => void;
25
25
  }
26
- export interface TreeItemCustomizations {
26
+ export interface TreeItemCustomizations<ID> {
27
27
  checkBoxViewStyleProps?: BuiltInCheckBoxViewStyleProps;
28
28
  indentationMultiplier?: number;
29
29
  CheckboxComponent?: React.ComponentType<CheckBoxViewProps>;
30
30
  ExpandCollapseIconComponent?: React.ComponentType<ExpandIconProps>;
31
31
  ExpandCollapseTouchableComponent?: React.ComponentType<TouchableOpacityProps>;
32
- CustomNodeRowComponent?: React.ComponentType<NodeRowProps>;
32
+ CustomNodeRowComponent?: React.ComponentType<NodeRowProps<ID>>;
33
33
  }
34
- export interface NodeProps extends TreeItemCustomizations {
35
- node: __FlattenedTreeNode__;
34
+ export interface NodeProps<ID> extends TreeItemCustomizations<ID> {
35
+ node: __FlattenedTreeNode__<ID>;
36
36
  level: number;
37
37
  storeId: string;
38
38
  }
39
- export interface NodeListProps extends TreeItemCustomizations {
39
+ export interface NodeListProps<ID> extends TreeItemCustomizations<ID> {
40
40
  treeFlashListProps?: TreeFlatListProps;
41
41
  storeId: string;
42
42
  }
43
- export interface TreeViewProps extends Omit<NodeListProps, "storeId"> {
44
- data: TreeNode[];
45
- onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
46
- onExpand?: (expandedIds: string[]) => void;
47
- preselectedIds?: string[];
48
- preExpandedIds?: string[];
43
+ export interface TreeViewProps<ID = string> extends Omit<NodeListProps<ID>, "storeId"> {
44
+ data: TreeNode<ID>[];
45
+ onCheck?: (checkedIds: ID[], indeterminateIds: ID[]) => void;
46
+ onExpand?: (expandedIds: ID[]) => void;
47
+ preselectedIds?: ID[];
48
+ preExpandedIds?: ID[];
49
49
  selectionPropagation?: SelectionPropagation;
50
50
  }
51
51
  type CheckboxProps = Omit<RNPaperCheckboxAndroidProps, "onPress" | "status">;
@@ -62,17 +62,17 @@ export interface BuiltInCheckBoxViewStyleProps {
62
62
  textProps?: TextProps;
63
63
  }
64
64
  export type BuiltInCheckBoxViewProps = CheckBoxViewProps & BuiltInCheckBoxViewStyleProps;
65
- export interface TreeViewRef {
65
+ export interface TreeViewRef<ID = string> {
66
66
  selectAll: () => void;
67
67
  unselectAll: () => void;
68
68
  selectAllFiltered: () => void;
69
69
  unselectAllFiltered: () => void;
70
70
  expandAll: () => void;
71
71
  collapseAll: () => void;
72
- expandNodes: (ids: string[]) => void;
73
- collapseNodes: (ids: string[]) => void;
74
- selectNodes: (ids: string[]) => void;
75
- unselectNodes: (ids: string[]) => void;
72
+ expandNodes: (ids: ID[]) => void;
73
+ collapseNodes: (ids: ID[]) => void;
74
+ selectNodes: (ids: ID[]) => void;
75
+ unselectNodes: (ids: ID[]) => void;
76
76
  setSearchText: (searchText: string, searchKeys?: string[]) => void;
77
77
  }
78
78
  export interface SelectionPropagation {
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ /** wrapper for React.memo that works with generic components. */
2
+ export declare const typedMemo: <T>(c: T) => T;
3
+ //# sourceMappingURL=typedMemo.d.ts.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tree-multi-select",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "A super-fast, customizable tree view component for React Native with multi-selection, checkboxes, and search filtering capabilities.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
package/src/TreeView.tsx CHANGED
@@ -23,9 +23,9 @@ import usePreviousState from './utils/usePreviousState';
23
23
  import { useShallow } from "zustand/react/shallow";
24
24
  import uuid from "react-native-uuid";
25
25
  import useDeepCompareEffect from "./utils/useDeepCompareEffect";
26
+ import { typedMemo } from './utils/typedMemo';
26
27
 
27
- const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
28
- (props, ref) => {
28
+ function _innerTreeView<ID>(props: TreeViewProps<ID>, ref: React.ForwardedRef<TreeViewRef<ID>>) {
29
29
  const {
30
30
  data,
31
31
 
@@ -69,7 +69,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
69
69
  setSelectionPropagation,
70
70
 
71
71
  cleanUpTreeViewStore,
72
- } = useTreeViewStore(storeId)(useShallow(
72
+ } = useTreeViewStore<ID>(storeId)(useShallow(
73
73
  state => ({
74
74
  expanded: state.expanded,
75
75
  updateExpanded: state.updateExpanded,
@@ -101,11 +101,11 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
101
101
  expandAll: () => expandAll(storeId),
102
102
  collapseAll: () => collapseAll(storeId),
103
103
 
104
- expandNodes: (ids: string[]) => expandNodes(storeId, ids),
105
- collapseNodes: (ids: string[]) => collapseNodes(storeId, ids),
104
+ expandNodes: (ids: ID[]) => expandNodes(storeId, ids),
105
+ collapseNodes: (ids: ID[]) => collapseNodes(storeId, ids),
106
106
 
107
- selectNodes: (ids: string[]) => selectNodes(ids),
108
- unselectNodes: (ids: string[]) => unselectNodes(ids),
107
+ selectNodes: (ids: ID[]) => selectNodes(ids),
108
+ unselectNodes: (ids: ID[]) => unselectNodes(ids),
109
109
 
110
110
  setSearchText
111
111
  }));
@@ -129,11 +129,11 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
129
129
  expandNodes(storeId, preExpandedIds);
130
130
  }, [data]);
131
131
 
132
- function selectNodes(ids: string[]) {
132
+ function selectNodes(ids: ID[]) {
133
133
  toggleCheckboxes(storeId, ids, true);
134
134
  }
135
135
 
136
- function unselectNodes(ids: string[]) {
136
+ function unselectNodes(ids: ID[]) {
137
137
  toggleCheckboxes(storeId, ids, false);
138
138
  }
139
139
 
@@ -142,7 +142,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
142
142
  updateSearchKeys(keys);
143
143
  }
144
144
 
145
- const getIds = React.useCallback((node: TreeNode): string[] => {
145
+ const getIds = React.useCallback((node: TreeNode<ID>): ID[] => {
146
146
  if (!node.children || node.children.length === 0) {
147
147
  return [node.id];
148
148
  } else {
@@ -167,7 +167,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
167
167
  });
168
168
  }
169
169
  else if (prevSearchText && prevSearchText !== "") {
170
- /* Collapse all nodes only if previous search query was non-empty: this is
170
+ /* Collapse all nodes only if previous search query was non-empty: this is
171
171
  done to prevent node collapse on first render if preExpandedIds is provided */
172
172
  InteractionManager.runAfterInteractions(() => {
173
173
  updateExpanded(new Set());
@@ -202,7 +202,9 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
202
202
  CustomNodeRowComponent={CustomNodeRowComponent}
203
203
  />
204
204
  );
205
- }
206
- );
205
+ }
206
+ const _TreeView = React.forwardRef(_innerTreeView) as <ID>(
207
+ props: TreeViewProps<ID> & { ref?: React.ForwardedRef<TreeViewRef<ID>> }
208
+ ) => ReturnType<typeof _innerTreeView>;
207
209
 
208
- export const TreeView = React.memo(_TreeView);
210
+ export const TreeView = typedMemo<typeof _TreeView>(_TreeView);