react-native-tree-multi-select 1.3.3 → 1.4.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 (69) hide show
  1. package/README.md +9 -4
  2. package/lib/commonjs/TreeView.js +8 -5
  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 +25 -22
  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.map +1 -1
  14. package/lib/commonjs/helpers/index.js.map +1 -1
  15. package/lib/commonjs/helpers/search.helper.js +1 -1
  16. package/lib/commonjs/helpers/search.helper.js.map +1 -1
  17. package/lib/commonjs/helpers/selectAll.helper.js.map +1 -1
  18. package/lib/commonjs/helpers/toggleCheckbox.helper.js +4 -5
  19. package/lib/commonjs/helpers/toggleCheckbox.helper.js.map +1 -1
  20. package/lib/commonjs/helpers/treeNode.helper.js.map +1 -1
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/jest.setup.js.map +1 -1
  23. package/lib/commonjs/package.json +1 -0
  24. package/lib/commonjs/store/treeView.store.js.map +1 -1
  25. package/lib/commonjs/types/treeView.types.js.map +1 -1
  26. package/lib/commonjs/utils/usePreviousState.js.map +1 -1
  27. package/lib/module/TreeView.js +9 -4
  28. package/lib/module/TreeView.js.map +1 -1
  29. package/lib/module/components/CheckboxView.js +21 -12
  30. package/lib/module/components/CheckboxView.js.map +1 -1
  31. package/lib/module/components/CustomExpandCollapseIcon.js +4 -1
  32. package/lib/module/components/CustomExpandCollapseIcon.js.map +1 -1
  33. package/lib/module/components/NodeList.js +26 -21
  34. package/lib/module/components/NodeList.js.map +1 -1
  35. package/lib/module/constants/treeView.constants.js +2 -0
  36. package/lib/module/constants/treeView.constants.js.map +1 -1
  37. package/lib/module/helpers/expandCollapse.helper.js +15 -2
  38. package/lib/module/helpers/expandCollapse.helper.js.map +1 -1
  39. package/lib/module/helpers/flattenTree.helper.js +2 -0
  40. package/lib/module/helpers/flattenTree.helper.js.map +1 -1
  41. package/lib/module/helpers/index.js +2 -0
  42. package/lib/module/helpers/index.js.map +1 -1
  43. package/lib/module/helpers/search.helper.js +3 -1
  44. package/lib/module/helpers/search.helper.js.map +1 -1
  45. package/lib/module/helpers/selectAll.helper.js +2 -0
  46. package/lib/module/helpers/selectAll.helper.js.map +1 -1
  47. package/lib/module/helpers/toggleCheckbox.helper.js +6 -5
  48. package/lib/module/helpers/toggleCheckbox.helper.js.map +1 -1
  49. package/lib/module/helpers/treeNode.helper.js +2 -0
  50. package/lib/module/helpers/treeNode.helper.js.map +1 -1
  51. package/lib/module/index.js +2 -0
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/module/jest.setup.js +2 -0
  54. package/lib/module/jest.setup.js.map +1 -1
  55. package/lib/module/package.json +1 -0
  56. package/lib/module/store/treeView.store.js +2 -0
  57. package/lib/module/store/treeView.store.js.map +1 -1
  58. package/lib/module/types/treeView.types.js +2 -0
  59. package/lib/module/types/treeView.types.js.map +1 -1
  60. package/lib/module/utils/usePreviousState.js +2 -0
  61. package/lib/module/utils/usePreviousState.js.map +1 -1
  62. package/lib/typescript/TreeView.d.ts.map +1 -1
  63. package/lib/typescript/helpers/expandCollapse.helper.d.ts.map +1 -1
  64. package/lib/typescript/types/treeView.types.d.ts +1 -2
  65. package/lib/typescript/types/treeView.types.d.ts.map +1 -1
  66. package/package.json +21 -22
  67. package/src/TreeView.tsx +5 -3
  68. package/src/helpers/expandCollapse.helper.ts +13 -0
  69. package/src/types/treeView.types.ts +1 -1
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import { useEffect, useRef } from "react";
2
4
 
3
5
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","usePreviousState","value","ref","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;;AAEzC;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAGH,MAAM,CAAI,CAAC;EAEvBD,SAAS,CAAC,MAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACC,OAAO;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","usePreviousState","value","ref","current"],"sourceRoot":"../../../src","sources":["utils/usePreviousState.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;;AAEzC;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,gBAAgBA,CAAIC,KAAQ,EAAE;EACpD,MAAMC,GAAG,GAAGH,MAAM,CAAI,CAAC;EAEvBD,SAAS,CAAC,MAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACC,OAAO;AACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAuLhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
1
+ {"version":3,"file":"TreeView.d.ts","sourceRoot":"","sources":["../../src/TreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAEV,aAAa,EACb,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAyLhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,QA+C5C;AAED;;GAEG;AACH,wBAAgB,SAAS,SAKxB;AAED;;GAEG;AACH,wBAAgB,WAAW,SAK1B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAwBxC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAuB1C"}
1
+ {"version":3,"file":"expandCollapse.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/expandCollapse.helper.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,QA+C5C;AAED;;GAEG;AACH,wBAAgB,SAAS,SAKxB;AAED;;GAEG;AACH,wBAAgB,WAAW,SAK1B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAgCxC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QA4B1C"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import type { StyleProp, TextProps, TouchableOpacityProps, ViewStyle } from "react-native";
3
2
  import type { FlashListProps } from "@shopify/flash-list";
4
3
  import { type Props as RNPaperCheckboxAndroidProps } from 'react-native-paper/src/components/Checkbox/CheckboxAndroid';
@@ -41,7 +40,7 @@ export interface NodeListProps extends TreeItemCustomizations {
41
40
  }
42
41
  export interface TreeViewProps extends NodeListProps {
43
42
  data: TreeNode[];
44
- onCheck?: (checkedIds: string[]) => void;
43
+ onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
45
44
  onExpand?: (expandedIds: string[]) => void;
46
45
  preselectedIds?: string[];
47
46
  preExpandedIds?: string[];
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tree-multi-select",
3
- "version": "1.3.3",
3
+ "version": "1.4.1",
4
4
  "description": "Super-fast Tree view with multi-selection capabilities, using checkboxes and search filtering.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -28,7 +28,7 @@
28
28
  ],
29
29
  "scripts": {
30
30
  "test": "jest",
31
- "test:cov": "jest --coverage --maxWorkers=2 --coverageReporters=\"json-summary\"",
31
+ "test:cov": "jest --coverage --maxWorkers=2 --coverageReporters=\"json-summary\" --coverageReporters=\"html\"",
32
32
  "typecheck": "tsc --noEmit",
33
33
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
34
34
  "prepack": "bob build",
@@ -78,40 +78,39 @@
78
78
  "provenance": true
79
79
  },
80
80
  "devDependencies": {
81
- "@commitlint/config-conventional": "^17.0.2",
82
- "@evilmartians/lefthook": "^1.2.2",
83
- "@react-native-community/eslint-config": "^3.0.2",
84
- "@release-it/conventional-changelog": "^5.0.0",
81
+ "@commitlint/config-conventional": "^19.4.1",
82
+ "@evilmartians/lefthook": "^1.7.14",
83
+ "@react-native-community/eslint-config": "^3.2.0",
84
+ "@release-it/conventional-changelog": "^8.0.1",
85
85
  "@semantic-release/changelog": "^6.0.3",
86
86
  "@semantic-release/git": "^10.0.1",
87
- "@semantic-release/github": "^10.0.3",
88
- "@semantic-release/npm": "^12.0.0",
87
+ "@semantic-release/github": "^10.1.7",
88
+ "@semantic-release/npm": "^12.0.1",
89
89
  "@shopify/flash-list": "1.x.x",
90
- "@testing-library/jest-native": "^5.4.2",
91
- "@testing-library/react-native": "^12.1.2",
92
- "@types/color": "^3.0.3",
90
+ "@testing-library/jest-native": "^5.4.3",
91
+ "@testing-library/react-native": "^12.6.1",
92
+ "@types/color": "^3.0.6",
93
93
  "@types/jest": "^29.5.3",
94
94
  "@types/react": "~17.0.21",
95
95
  "@types/react-native": "0.70.0",
96
- "@types/react-native-vector-icons": "^6.4.13",
96
+ "@types/react-native-vector-icons": "^6.4.18",
97
97
  "@types/react-test-renderer": "18.3.0",
98
- "commitlint": "^17.0.2",
99
- "del-cli": "^5.0.0",
98
+ "commitlint": "^19.4.1",
99
+ "del-cli": "^5.1.0",
100
100
  "eslint": "^8.4.1",
101
101
  "eslint-config-prettier": "^8.5.0",
102
102
  "eslint-plugin-prettier": "^4.0.0",
103
- "jest": "^29.6.1",
104
- "pod-install": "^0.1.0",
105
- "prettier": "^2.0.5",
103
+ "jest": "^29.7.0",
104
+ "prettier": "^3.3.3",
106
105
  "react": "18.2.0",
107
106
  "react-native": "^0.72.15",
108
- "react-native-builder-bob": "^0.20.0",
107
+ "react-native-builder-bob": "^0.30.0",
109
108
  "react-native-paper": "5.x.x",
110
109
  "react-test-renderer": "18.2.0",
111
- "release-it": "^15.0.0",
112
- "semantic-release": "^23.0.8",
110
+ "release-it": "^17.6.0",
111
+ "semantic-release": "^24.1.0",
113
112
  "ts-jest": "^29.1.1",
114
- "turbo": "^1.10.7",
113
+ "turbo": "^2.1.0",
115
114
  "typescript": "^5.0.2"
116
115
  },
117
116
  "resolutions": {
@@ -205,7 +204,7 @@
205
204
  ]
206
205
  },
207
206
  "dependencies": {
208
- "zustand": "^4.3.9"
207
+ "zustand": "^4.5.5"
209
208
  },
210
209
  "funding": [
211
210
  {
package/src/TreeView.tsx CHANGED
@@ -58,6 +58,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
58
58
  updateSearchKeys,
59
59
 
60
60
  checked,
61
+ indeterminate,
61
62
 
62
63
  cleanUpTreeViewStore,
63
64
  } = useTreeViewStore(useShallow(
@@ -74,6 +75,7 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
74
75
  updateSearchKeys: state.updateSearchKeys,
75
76
 
76
77
  checked: state.checked,
78
+ indeterminate: state.indeterminate,
77
79
 
78
80
  cleanUpTreeViewStore: state.cleanUpTreeViewStore,
79
81
  })
@@ -135,11 +137,11 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
135
137
  }, []);
136
138
 
137
139
  React.useEffect(() => {
138
- onCheck && onCheck(Array.from(checked));
139
- }, [onCheck, checked]);
140
+ onCheck?.(Array.from(checked), Array.from(indeterminate));
141
+ }, [onCheck, checked, indeterminate]);
140
142
 
141
143
  React.useEffect(() => {
142
- onExpand && onExpand(Array.from(expanded));
144
+ onExpand?.(Array.from(expanded));
143
145
  }, [onExpand, expanded]);
144
146
 
145
147
  React.useEffect(() => {
@@ -94,7 +94,15 @@ export function expandNodes(ids: string[]) {
94
94
 
95
95
  while (currentId && childToParentMap.has(currentId) && !processedParents.has(currentId)) {
96
96
  const parentId = childToParentMap.get(currentId);
97
+ /*
98
+ istanbul ignore else:
99
+
100
+ ignore because this condition is just added to satisfy
101
+ typescript type check as parentId will never be undefined if it is already in
102
+ childToParentMap Map
103
+ */
97
104
  if (parentId) {
105
+ /* istanbul ignore else: nothing to be done in else block */
98
106
  if (!newExpanded.has(parentId)) {
99
107
  newExpanded.add(parentId); // Add the parent ID only if not already processed
100
108
  processedParents.add(parentId);
@@ -120,6 +128,11 @@ export function collapseNodes(ids: string[]) {
120
128
 
121
129
  // Function to recursively remove child nodes from the expanded set
122
130
  const deleteChildrenFromExpanded = (nodeId: string, visited = new Set()) => {
131
+ /*
132
+ istanbul ignore next:
133
+
134
+ ignore because this is a redundancy check.
135
+ */
123
136
  if (visited.has(nodeId)) return; // Prevent redundant processing
124
137
  visited.add(nodeId);
125
138
 
@@ -68,7 +68,7 @@ export interface NodeListProps extends TreeItemCustomizations {
68
68
  export interface TreeViewProps extends NodeListProps {
69
69
  data: TreeNode[];
70
70
 
71
- onCheck?: (checkedIds: string[]) => void;
71
+ onCheck?: (checkedIds: string[], indeterminateIds: string[]) => void;
72
72
  onExpand?: (expandedIds: string[]) => void;
73
73
 
74
74
  preselectedIds?: string[];