react-native-tree-multi-select 1.2.7 → 1.3.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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ⚡️Super-fast Tree view with multi-selection capabilities, using checkboxes and search filtering.
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/react-native-tree-multi-select)](https://badge.fury.io/js/react-native-tree-multi-select) [![License](https://img.shields.io/github/license/JairajJangle/react-native-tree-multi-select)](https://github.com/JairajJangle/react-native-tree-multi-select/blob/main/LICENSE) [![Workflow Status](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml/badge.svg)](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml) [![Supported Platform Badge](https://img.shields.io/badge/platform-android%20%26%20ios-blue)](https://github.com/JairajJangle/react-native-tree-multi-select/tree/main/example) [![GitHub issues](https://img.shields.io/github/issues/JairajJangle/react-native-tree-multi-select)](https://github.com/JairajJangle/react-native-tree-multi-select/issues?q=is%3Aopen+is%3Aissue) [![cov](https://raw.githubusercontent.com/JairajJangle/react-native-tree-multi-select/gh-pages/badges/coverage.svg)](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml) ![TS](https://img.shields.io/badge/TypeScript-strict_💪-blue)
5
+ [![npm version](https://img.shields.io/npm/v/react-native-tree-multi-select)](https://badge.fury.io/js/react-native-tree-multi-select) [![License](https://img.shields.io/github/license/JairajJangle/react-native-tree-multi-select)](https://github.com/JairajJangle/react-native-tree-multi-select/blob/main/LICENSE) [![Workflow Status](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml/badge.svg)](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml) ![Android](https://img.shields.io/badge/-Android-555555?logo=android&logoColor=3DDC84) ![iOS](https://img.shields.io/badge/-iOS-555555?logo=apple&logoColor=white) ![Web](https://img.shields.io/badge/-Web-555555?logo=google-chrome&logoColor=0096FF) [![GitHub issues](https://img.shields.io/github/issues/JairajJangle/react-native-tree-multi-select)](https://github.com/JairajJangle/react-native-tree-multi-select/issues?q=is%3Aopen+is%3Aissue) [![cov](https://raw.githubusercontent.com/JairajJangle/react-native-tree-multi-select/gh-pages/badges/coverage.svg)](https://github.com/JairajJangle/react-native-tree-multi-select/actions/workflows/ci.yml) ![TS](https://img.shields.io/badge/TypeScript-strict_💪-blue) [![Expo Snack](https://img.shields.io/badge/Expo%20Snack-555555?style=flat&logo=expo&logoColor=white)](https://snack.expo.dev/@futurejj/ludicrous-red-popcorn) [![CodeFactor](https://www.codefactor.io/repository/github/jairajjangle/react-native-tree-multi-select/badge)](https://www.codefactor.io/repository/github/jairajjangle/react-native-tree-multi-select)
6
6
 
7
7
 
8
8
 
@@ -13,7 +13,6 @@
13
13
  </div>
14
14
 
15
15
 
16
-
17
16
  ## Installation
18
17
 
19
18
  Using yarn
@@ -80,6 +79,12 @@ export function TreeViewUsageExample(){
80
79
  const onUnselectAllPress = () => treeViewRef.current?.unselectAll?.();
81
80
  const onSelectAllFilteredPress = () => treeViewRef.current?.selectAllFiltered?.();
82
81
  const onUnselectAllFilteredPress = () => treeViewRef.current?.unselectAllFiltered?.();
82
+ const selectNodes = (idsToExpand: string[]) => treeViewRef.current?.selectNodes?.(
83
+ idsToSelect
84
+ );
85
+ const unselectNodes = (idsToCollapse: string[]) => treeViewRef.current?.unselectNodes?.(
86
+ idsToUnselect
87
+ );
83
88
 
84
89
  return(
85
90
  // ... Remember to keep a fixed height for the parent. Read Flash List docs to know why
@@ -97,18 +102,18 @@ export function TreeViewUsageExample(){
97
102
 
98
103
  | Property | Type | Required | Description |
99
104
  | ---------------------------------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
100
- | `data` | `TreeNode[]` | Yes | An array of `TreeNode` objects |
105
+ | `data` | [TreeNode](#treenode) | Yes | An array of `TreeNode` objects |
101
106
  | `onCheck` | `(checkedIds: string[]) => void` | No | Callback when a checkbox is checked |
102
107
  | `onExpand` | `(expandedIds: string[]) => void` | No | Callback when a node is expanded |
103
- | `preselectedIds` | `string[]` | No | An array of `id`s that should be pre-selected |
104
- | `preExpandedIds` | `string[]` | No | An array of `id`s that should be pre-expanded |
108
+ | `preselectedIds` | `string[]` | No | An array of `id`s that should be pre-selected |
109
+ | `preExpandedIds` | `string[]` | No | An array of `id`s that should be pre-expanded |
105
110
  | `indentationMultiplier` | `number` | No | Indentation (`marginStart`) per level (defaults to 15) |
106
- | `treeFlashListProps` | `TreeFlatListProps` | No | Props for the flash list |
107
- | `checkBoxViewStyleProps` | `BuiltInCheckBoxViewStyleProps` | No | Props for the checkbox view |
108
- | `CheckboxComponent` | `ComponentType<CheckBoxViewProps>` | No | A custom checkbox component. Defaults to React Native Paper's Checkbox |
109
- | `ExpandCollapseIconComponent` | `ComponentType<ExpandIconProps>` | No | A custom expand/collapse icon component |
110
- | `ExpandCollapseTouchableComponent` | `ComponentType<TouchableOpacityProps>`<br />(React Native's `TouchableOpacityProps`) | No | A custom expand/collapse touchable component |
111
- | `CustomNodeRowComponent` | `React.ComponentType<NodeRowProps>` | No | Custom row item component |
111
+ | `treeFlashListProps` | [TreeFlatListProps](#treeflatlistprops) | No | Props for the flash list |
112
+ | `checkBoxViewStyleProps` | [BuiltInCheckBoxViewStyleProps](#builtincheckboxviewstyleprops) | No | Props for the checkbox view |
113
+ | `CheckboxComponent` | `ComponentType<`[CheckBoxViewProps](#checkboxviewprops)`>` | No | A custom checkbox component. Defaults to React Native Paper's Checkbox |
114
+ | `ExpandCollapseIconComponent` | `ComponentType<`[ExpandIconProps](#expandiconprops)`>` | No | A custom expand/collapse icon component |
115
+ | `ExpandCollapseTouchableComponent` | `ComponentType<`[TouchableOpacityProps](https://reactnative.dev/docs/touchableopacity#props)`>` | No | A custom expand/collapse touchable component |
116
+ | `CustomNodeRowComponent` | `React.ComponentType<`[NodeRowProps](#noderowprops)`>` | No | Custom row item component |
112
117
 
113
118
  ℹ️ If `CustomNodeRowComponent` is provided then below props are not applied:
114
119
 
@@ -142,9 +147,11 @@ export function TreeViewUsageExample(){
142
147
  | `selectAllFiltered` | `() => void` | Selects all **filtered** nodes |
143
148
  | `unselectAllFiltered` | `() => void` | Unselects all **filtered** nodes |
144
149
  | `expandAll` | `() => void` | Expands all nodes |
145
- | `expandNodes` | `() => void` | Expands specified nodes
146
150
  | `collapseAll` | `() => void` | Collapses all nodes |
147
- | `collapseNodes` | `() => void` | Collapses specified nodes
151
+ | `expandNodes` | `(ids: string[]) => void` | Expands specified nodes |
152
+ | `collapseNodes` | `(ids: string[]) => void` | Collapses specified nodes |
153
+ | `selectNodes` | `(ids: string[]) => void` | Selects specified nodes |
154
+ | `unSelectNodes` | `(ids: string[]) => void` | Unselects specified nodes |
148
155
  | `setSearchText` | `(searchText: string, searchKeys?: string[]) => void` | Set the search text and optionally the search keys. Default search key is "name"<br /><br />Recommended to call this inside a debounced function if you find any performance issue otherwise. |
149
156
 
150
157
  ---
@@ -162,7 +169,7 @@ All properties of `FlashListProps`(from `@shopify/flash-list`) except for `data`
162
169
  | `outermostParentViewStyle` | `StyleProp<ViewStyle>` | No | Optional style modifier for the outermost parent view. |
163
170
  | `checkboxParentViewStyle` | `StyleProp<ViewStyle>` | No | Optional style modifier for the checkbox parent view. |
164
171
  | `textTouchableStyle` | `StyleProp<ViewStyle>` | No | Optional style modifier for the text touchable style. |
165
- | `checkboxProps` | `CheckboxProps` | No | Optional props for the checkbox component. |
172
+ | `checkboxProps` | [CheckboxProps](#checkboxprops) | No | Optional props for the checkbox component. |
166
173
  | `textProps` | `TextProps` <br />(React Native) | No | Optional props for the text component. |
167
174
 
168
175
  #### CheckboxProps
@@ -173,11 +180,11 @@ All properties of `RNPaperCheckboxAndroidProps`(from `react-native-paper`) excep
173
180
 
174
181
  #### CheckBoxViewProps
175
182
 
176
- | Property | Type | Required | Description |
177
- | --------------- | -------------------------- | -------- | -------------------------------------------------- |
178
- | `value` | `CheckboxValueType` | Yes | The current value of the checkbox |
179
- | `onValueChange` | `(value: boolean) => void` | Yes | Function to be called when the checkbox is pressed |
180
- | `text` | `string` | Yes | The display text besides the checkbox |
183
+ | Property | Type | Required | Description |
184
+ | --------------- | --------------------------------------- | -------- | -------------------------------------------------- |
185
+ | `value` | [CheckboxValueType](#checkboxvaluetype) | Yes | The current value of the checkbox |
186
+ | `onValueChange` | `(value: boolean) => void` | Yes | Function to be called when the checkbox is pressed |
187
+ | `text` | `string` | Yes | The display text besides the checkbox |
181
188
 
182
189
  #### CheckboxValueType
183
190
 
@@ -195,14 +202,14 @@ Type: `boolean` OR ` "indeterminate"`
195
202
 
196
203
  #### NodeRowProps
197
204
 
198
- | Property | Type | Required | Description |
199
- | -------------- | ------------------- | -------- | ------------------------------------------------------- |
200
- | `node` | `TreeNode` | Yes | The node to be rendered |
201
- | `level` | `number` | Yes | The depth of the node in the tree |
202
- | `checkedValue` | `CheckboxValueType` | Yes | The current value of the checkbox |
203
- | `isExpanded` | `boolean` | Yes | Whether the node is expanded or not |
204
- | `onCheck` | `() => void` | Yes | Function to be called when the checkbox is pressed |
205
- | `onExpand` | `() => void` | Yes | Function to be called when the expand button is pressed |
205
+ | Property | Type | Required | Description |
206
+ | -------------- | --------------------------------------- | -------- | ------------------------------------------------------- |
207
+ | `node` | [TreeNode](#treenode) | Yes | The node to be rendered |
208
+ | `level` | `number` | Yes | The depth of the node in the tree |
209
+ | `checkedValue` | [CheckboxValueType](#checkboxvaluetype) | Yes | The current value of the checkbox |
210
+ | `isExpanded` | `boolean` | Yes | Whether the node is expanded or not |
211
+ | `onCheck` | `() => void` | Yes | Function to be called when the checkbox is pressed |
212
+ | `onExpand` | `() => void` | Yes | Function to be called when the expand button is pressed |
206
213
 
207
214
  ---
208
215
 
@@ -212,7 +219,7 @@ Type: `boolean` OR ` "indeterminate"`
212
219
  - [ ] Prop to set the maximum checked item limit
213
220
  - [ ] Prop to disable certain nodes from getting checked
214
221
  - [x] Ref function to programatically expand/collapse a certain node
215
- - [ ] Ref function to programatically un/check a certain node
222
+ - [x] Ref function to programatically un/check a certain node
216
223
  - [ ] Ref function to auto-scroll to a certain node's position
217
224
 
218
225
  If you do not see what you want in the planned feature list, raise a feature request.
@@ -46,13 +46,11 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
46
46
  collapseAll: _helpers.collapseAll,
47
47
  expandNodes: _helpers.expandNodes,
48
48
  collapseNodes: _helpers.collapseNodes,
49
+ selectNodes,
50
+ unselectNodes,
49
51
  setSearchText
50
52
  }));
51
53
  const prevSearchText = (0, _usePreviousState.default)(searchText);
52
- function setSearchText(text, keys = ["name"]) {
53
- updateSearchText(text);
54
- updateSearchKeys(keys);
55
- }
56
54
  _react.default.useEffect(() => {
57
55
  updateInitialTreeViewData(data);
58
56
  (0, _helpers.initializeNodeMaps)(data);
@@ -64,6 +62,16 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
64
62
  (0, _helpers.expandNodes)(preExpandedIds);
65
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
66
64
  }, []);
65
+ function selectNodes(ids) {
66
+ (0, _helpers.toggleCheckboxes)(ids, true);
67
+ }
68
+ function unselectNodes(ids) {
69
+ (0, _helpers.toggleCheckboxes)(ids, false);
70
+ }
71
+ function setSearchText(text, keys = ["name"]) {
72
+ updateSearchText(text);
73
+ updateSearchKeys(keys);
74
+ }
67
75
  const getIds = _react.default.useCallback(node => {
68
76
  if (!node.children || node.children.length === 0) {
69
77
  return [node.id];
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_NodeList","_helpers","_treeView","_usePreviousState","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","useTreeViewStore","useImperativeHandle","selectAll","unselectAll","selectAllFiltered","unselectAllFiltered","expandAll","collapseAll","expandNodes","collapseNodes","setSearchText","prevSearchText","usePreviousState","text","keys","useEffect","initializeNodeMaps","toggleCheckboxes","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","InteractionManager","runAfterInteractions","Set","createElement","TreeView","exports","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_NodeList","_helpers","_treeView","_usePreviousState","obj","__esModule","default","_TreeView","React","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","useTreeViewStore","useImperativeHandle","selectAll","unselectAll","selectAllFiltered","unselectAllFiltered","expandAll","collapseAll","expandNodes","collapseNodes","selectNodes","unselectNodes","setSearchText","prevSearchText","usePreviousState","useEffect","initializeNodeMaps","toggleCheckboxes","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","InteractionManager","runAfterInteractions","Set","createElement","TreeView","exports","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,14 +14,14 @@ Object.keys(_expandCollapse).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
- var _initNodeMap = require("./initNodeMap.helper");
18
- Object.keys(_initNodeMap).forEach(function (key) {
17
+ var _treeNode = require("./treeNode.helper");
18
+ Object.keys(_treeNode).forEach(function (key) {
19
19
  if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _initNodeMap[key]) return;
20
+ if (key in exports && exports[key] === _treeNode[key]) return;
21
21
  Object.defineProperty(exports, key, {
22
22
  enumerable: true,
23
23
  get: function () {
24
- return _initNodeMap[key];
24
+ return _treeNode[key];
25
25
  }
26
26
  });
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_expandCollapse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_initNodeMap","_selectAll","_toggleCheckbox","_search","_flattenTree"],"sourceRoot":"../../../src","sources":["helpers/index.ts"],"mappings":";;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,OAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,OAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,OAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_expandCollapse","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_treeNode","_selectAll","_toggleCheckbox","_search","_flattenTree"],"sourceRoot":"../../../src","sources":["helpers/index.ts"],"mappings":";;;;;AAEA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,UAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,UAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,UAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,UAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,OAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,OAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,OAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,OAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -46,4 +46,4 @@ function initializeNodeMaps(initialData) {
46
46
  updateNodeMap(tempNodeMap);
47
47
  updateChildToParentMap(tempChildToParentMap);
48
48
  }
49
- //# sourceMappingURL=initNodeMap.helper.js.map
49
+ //# sourceMappingURL=treeNode.helper.js.map
@@ -0,0 +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":[]}
@@ -39,13 +39,11 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
39
39
  collapseAll,
40
40
  expandNodes,
41
41
  collapseNodes,
42
+ selectNodes,
43
+ unselectNodes,
42
44
  setSearchText
43
45
  }));
44
46
  const prevSearchText = usePreviousState(searchText);
45
- function setSearchText(text, keys = ["name"]) {
46
- updateSearchText(text);
47
- updateSearchKeys(keys);
48
- }
49
47
  React.useEffect(() => {
50
48
  updateInitialTreeViewData(data);
51
49
  initializeNodeMaps(data);
@@ -57,6 +55,16 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
57
55
  expandNodes(preExpandedIds);
58
56
  // eslint-disable-next-line react-hooks/exhaustive-deps
59
57
  }, []);
58
+ function selectNodes(ids) {
59
+ toggleCheckboxes(ids, true);
60
+ }
61
+ function unselectNodes(ids) {
62
+ toggleCheckboxes(ids, false);
63
+ }
64
+ function setSearchText(text, keys = ["name"]) {
65
+ updateSearchText(text);
66
+ updateSearchKeys(keys);
67
+ }
60
68
  const getIds = React.useCallback(node => {
61
69
  if (!node.children || node.children.length === 0) {
62
70
  return [node.id];
@@ -1 +1 @@
1
- {"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","useImperativeHandle","setSearchText","prevSearchText","text","keys","useEffect","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","_TreeView","forwardRef","props","ref","data","onCheck","onExpand","preselectedIds","preExpandedIds","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","updateExpanded","initialTreeViewData","updateInitialTreeViewData","searchText","updateSearchText","updateSearchKeys","checked","cleanUpTreeViewStore","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,7 +1,7 @@
1
1
  /* istanbul ignore file */
2
2
 
3
3
  export * from "./expandCollapse.helper";
4
- export * from "./initNodeMap.helper";
4
+ export * from "./treeNode.helper";
5
5
  export * from "./selectAll.helper";
6
6
  export * from "./toggleCheckbox.helper";
7
7
  export * from "./search.helper";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["helpers/index.ts"],"mappings":"AAAA;;AAEA,cAAc,yBAAyB;AACvC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["helpers/index.ts"],"mappings":"AAAA;;AAEA,cAAc,yBAAyB;AACvC,cAAc,mBAAmB;AACjC,cAAc,oBAAoB;AAClC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,sBAAsB","ignoreList":[]}
@@ -41,4 +41,4 @@ export function initializeNodeMaps(initialData) {
41
41
  updateNodeMap(tempNodeMap);
42
42
  updateChildToParentMap(tempChildToParentMap);
43
43
  }
44
- //# sourceMappingURL=initNodeMap.helper.js.map
44
+ //# sourceMappingURL=treeNode.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useTreeViewStore","initializeNodeMaps","initialData","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,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGJ,gBAAgB,CAACK,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,CAACP,WAAW,CAAC;EAEzBC,aAAa,CAACG,WAAW,CAAC;EAC1BF,sBAAsB,CAACI,oBAAoB,CAAC;AAChD","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;AA0JhC,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;AAqKhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from "./expandCollapse.helper";
2
- export * from "./initNodeMap.helper";
2
+ export * from "./treeNode.helper";
3
3
  export * from "./selectAll.helper";
4
4
  export * from "./toggleCheckbox.helper";
5
5
  export * from "./search.helper";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAEA,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
@@ -9,4 +9,4 @@ import type { TreeNode } from "../types/treeView.types";
9
9
  * @param preselectedIds - An optional array of TreeNode IDs that should be preselected.
10
10
  */
11
11
  export declare function initializeNodeMaps(initialData: TreeNode[]): void;
12
- //# sourceMappingURL=initNodeMap.helper.d.ts.map
12
+ //# sourceMappingURL=treeNode.helper.d.ts.map
@@ -0,0 +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,WAAW,EAAE,QAAQ,EAAE,QAkCzD"}
@@ -69,6 +69,8 @@ export interface TreeViewRef {
69
69
  collapseAll: () => void;
70
70
  expandNodes: (ids: string[]) => void;
71
71
  collapseNodes: (ids: string[]) => void;
72
+ selectNodes: (ids: string[]) => void;
73
+ unselectNodes: (ids: string[]) => void;
72
74
  setSearchText: (searchText: string, searchKeys?: string[]) => void;
73
75
  }
74
76
  export {};
@@ -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.2.7",
3
+ "version": "1.3.0",
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",
@@ -37,8 +37,7 @@
37
37
  "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
38
38
  "build:ios": "cd example/ios && pod install && xcodebuild -workspace TreeMultiSelectExample.xcworkspace -scheme TreeMultiSelectExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO",
39
39
  "bootstrap": "yarn example && yarn install && yarn example pods",
40
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build",
41
- "generate-changelog": "auto-changelog"
40
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
42
41
  },
43
42
  "keywords": [
44
43
  "react-native",
@@ -73,13 +72,18 @@
73
72
  },
74
73
  "homepage": "https://github.com/JairajJangle/react-native-tree-multi-select#readme",
75
74
  "publishConfig": {
76
- "registry": "https://registry.npmjs.org/"
75
+ "registry": "https://registry.npmjs.org/",
76
+ "provenance": true
77
77
  },
78
78
  "devDependencies": {
79
79
  "@commitlint/config-conventional": "^17.0.2",
80
80
  "@evilmartians/lefthook": "^1.2.2",
81
81
  "@react-native-community/eslint-config": "^3.0.2",
82
82
  "@release-it/conventional-changelog": "^5.0.0",
83
+ "@semantic-release/changelog": "^6.0.3",
84
+ "@semantic-release/git": "^10.0.1",
85
+ "@semantic-release/github": "^10.0.3",
86
+ "@semantic-release/npm": "^12.0.0",
83
87
  "@shopify/flash-list": "1.x.x",
84
88
  "@testing-library/jest-native": "^5.4.2",
85
89
  "@testing-library/react-native": "^12.1.2",
@@ -88,8 +92,7 @@
88
92
  "@types/react": "~17.0.21",
89
93
  "@types/react-native": "0.70.0",
90
94
  "@types/react-native-vector-icons": "^6.4.13",
91
- "@types/react-test-renderer": "^18.0.0",
92
- "auto-changelog": "^2.4.0",
95
+ "@types/react-test-renderer": "18.0.0",
93
96
  "commitlint": "^17.0.2",
94
97
  "del-cli": "^5.0.0",
95
98
  "eslint": "^8.4.1",
@@ -102,8 +105,9 @@
102
105
  "react-native": "0.72.1",
103
106
  "react-native-builder-bob": "^0.20.0",
104
107
  "react-native-paper": "5.x.x",
105
- "react-test-renderer": "^18.2.0",
108
+ "react-test-renderer": "18.2.0",
106
109
  "release-it": "^15.0.0",
110
+ "semantic-release": "^23.0.8",
107
111
  "ts-jest": "^29.1.1",
108
112
  "turbo": "^1.10.7",
109
113
  "typescript": "^5.0.2"
package/src/TreeView.tsx CHANGED
@@ -74,16 +74,14 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
74
74
  expandNodes,
75
75
  collapseNodes,
76
76
 
77
+ selectNodes,
78
+ unselectNodes,
79
+
77
80
  setSearchText
78
81
  }));
79
82
 
80
83
  const prevSearchText = usePreviousState(searchText);
81
84
 
82
- function setSearchText(text: string, keys: string[] = ["name"]) {
83
- updateSearchText(text);
84
- updateSearchKeys(keys);
85
- }
86
-
87
85
  React.useEffect(() => {
88
86
  updateInitialTreeViewData(data);
89
87
 
@@ -97,6 +95,19 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
97
95
  // eslint-disable-next-line react-hooks/exhaustive-deps
98
96
  }, []);
99
97
 
98
+ function selectNodes(ids: string[]) {
99
+ toggleCheckboxes(ids, true);
100
+ }
101
+
102
+ function unselectNodes(ids: string[]) {
103
+ toggleCheckboxes(ids, false);
104
+ }
105
+
106
+ function setSearchText(text: string, keys: string[] = ["name"]) {
107
+ updateSearchText(text);
108
+ updateSearchKeys(keys);
109
+ }
110
+
100
111
  const getIds = React.useCallback((node: TreeNode): string[] => {
101
112
  if (!node.children || node.children.length === 0) {
102
113
  return [node.id];
@@ -1,7 +1,7 @@
1
1
  /* istanbul ignore file */
2
2
 
3
3
  export * from "./expandCollapse.helper";
4
- export * from "./initNodeMap.helper";
4
+ export * from "./treeNode.helper";
5
5
  export * from "./selectAll.helper";
6
6
  export * from "./toggleCheckbox.helper";
7
7
  export * from "./search.helper";
@@ -112,5 +112,8 @@ export interface TreeViewRef {
112
112
  expandNodes: (ids: string[]) => void;
113
113
  collapseNodes: (ids: string[]) => void;
114
114
 
115
+ selectNodes: (ids: string[]) => void;
116
+ unselectNodes: (ids: string[]) => void;
117
+
115
118
  setSearchText: (searchText: string, searchKeys?: string[]) => void;
116
119
  }
@@ -1 +0,0 @@
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/initNodeMap.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 +0,0 @@
1
- {"version":3,"names":["useTreeViewStore","initializeNodeMaps","initialData","updateNodeMap","updateChildToParentMap","getState","tempNodeMap","Map","tempChildToParentMap","processNodes","nodes","parentId","forEach","node","set","id","children"],"sourceRoot":"../../../src","sources":["helpers/initNodeMap.helper.ts"],"mappings":"AACA,SACIA,gBAAgB,QACb,yBAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,WAAuB,EAAE;EACxD,MAAM;IACFC,aAAa;IACbC;EACJ,CAAC,GAAGJ,gBAAgB,CAACK,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,CAACP,WAAW,CAAC;EAEzBC,aAAa,CAACG,WAAW,CAAC;EAC1BF,sBAAsB,CAACI,oBAAoB,CAAC;AAChD","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"initNodeMap.helper.d.ts","sourceRoot":"","sources":["../../../src/helpers/initNodeMap.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,QAkCzD"}