react-native-tree-multi-select 1.3.2 → 1.3.3

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) ![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)
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)
6
6
 
7
7
 
8
8
 
@@ -10,6 +10,7 @@ var _NodeList = _interopRequireDefault(require("./components/NodeList"));
10
10
  var _helpers = require("./helpers");
11
11
  var _treeView = require("./store/treeView.store");
12
12
  var _usePreviousState = _interopRequireDefault(require("./utils/usePreviousState"));
13
+ var _shallow = require("zustand/react/shallow");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
15
16
  const {
@@ -36,7 +37,17 @@ const _TreeView = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
36
37
  updateSearchKeys,
37
38
  checked,
38
39
  cleanUpTreeViewStore
39
- } = (0, _treeView.useTreeViewStore)();
40
+ } = (0, _treeView.useTreeViewStore)((0, _shallow.useShallow)(state => ({
41
+ expanded: state.expanded,
42
+ updateExpanded: state.updateExpanded,
43
+ initialTreeViewData: state.initialTreeViewData,
44
+ updateInitialTreeViewData: state.updateInitialTreeViewData,
45
+ searchText: state.searchText,
46
+ updateSearchText: state.updateSearchText,
47
+ updateSearchKeys: state.updateSearchKeys,
48
+ checked: state.checked,
49
+ cleanUpTreeViewStore: state.cleanUpTreeViewStore
50
+ })));
40
51
  _react.default.useImperativeHandle(ref, () => ({
41
52
  selectAll: _helpers.selectAll,
42
53
  unselectAll: _helpers.unselectAll,
@@ -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","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":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_NodeList","_helpers","_treeView","_usePreviousState","_shallow","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","useShallow","state","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":[]}
@@ -28,9 +28,9 @@ function _CheckboxView(props) {
28
28
  ellipsizeMode: "middle"
29
29
  }
30
30
  } = props;
31
- function customCheckboxValueTypeToRNPaperType(customCheckboxValueType) {
31
+ const customCheckboxValueTypeToRNPaperType = _react.default.useCallback(customCheckboxValueType => {
32
32
  return customCheckboxValueType === 'indeterminate' ? 'indeterminate' : customCheckboxValueType ? 'checked' : 'unchecked';
33
- }
33
+ }, []);
34
34
 
35
35
  /**
36
36
  * This function modifies the change in value when the previous state was indeterminate.
@@ -38,10 +38,10 @@ function _CheckboxView(props) {
38
38
  *
39
39
  * @param newValue This represents the updated CheckBox value after it's clicked.
40
40
  */
41
- function onValueChangeModifier() {
41
+ const onValueChangeModifier = _react.default.useCallback(() => {
42
42
  // If the previous state was 'indeterminate', set checked to true
43
43
  if (value === 'indeterminate') onValueChange(true);else onValueChange(!value);
44
- }
44
+ }, [onValueChange, value]);
45
45
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
46
46
  style: outermostParentViewStyle
47
47
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativePaper","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","exports","React","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","customCheckboxValueType","onValueChangeModifier","createElement","View","Checkbox","Android","status","onPress","TouchableOpacity","Text","StyleSheet","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","Platform","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativePaper","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","exports","React","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","createElement","View","Checkbox","Android","status","onPress","TouchableOpacity","Text","StyleSheet","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","Platform","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_FontAwesome","obj","__esModule","default","CustomExpandCollapseIcon","exports","React","memo","_CustomExpandCollapseIcon","props","isExpanded","createElement","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAyD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAIlD,MAAMG,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,gBAAGE,cAAK,CAACC,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIZ,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,YAAA,CAAAG,OAAI;IACDS,IAAI,EACAF,UAAU,GACJ,YAAY,GACZ,aACT;IACDG,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_FontAwesome","obj","__esModule","default","CustomExpandCollapseIcon","exports","React","memo","_CustomExpandCollapseIcon","props","isExpanded","createElement","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAI7D,MAAMG,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,gBAAGE,cAAK,CAACC,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIZ,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,YAAA,CAAAG,OAAe;IACZS,IAAI,EACAF,UAAU,GACJ,YAAY,GACZ,aACT;IACDG,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
@@ -12,6 +12,7 @@ var _helpers = require("../helpers");
12
12
  var _CheckboxView = require("./CheckboxView");
13
13
  var _CustomExpandCollapseIcon = require("./CustomExpandCollapseIcon");
14
14
  var _treeView2 = require("../constants/treeView.constants");
15
+ var _shallow = require("zustand/react/shallow");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
18
  const NodeList = /*#__PURE__*/_react.default.memo(_NodeList);
@@ -32,22 +33,19 @@ function _NodeList(props) {
32
33
  updateInnerMostChildrenIds,
33
34
  searchKeys,
34
35
  searchText
35
- } = (0, _treeView.useTreeViewStore)();
36
- const [filteredTree, setFilteredTree] = _react.default.useState([]);
37
- const [flattenedFilteredNodes, setFlattenedFilteredNodes] = _react.default.useState([]);
36
+ } = (0, _treeView.useTreeViewStore)((0, _shallow.useShallow)(state => ({
37
+ expanded: state.expanded,
38
+ initialTreeViewData: state.initialTreeViewData,
39
+ updateInnerMostChildrenIds: state.updateInnerMostChildrenIds,
40
+ searchKeys: state.searchKeys,
41
+ searchText: state.searchText
42
+ })));
38
43
 
39
44
  // First we filter the tree as per the search term and keys
40
- _react.default.useEffect(() => {
41
- const searchTrimmed = searchText.trim().toLowerCase();
42
- const tempFilterTree = (0, _helpers.getFilteredTreeData)(initialTreeViewData, searchTrimmed, searchKeys);
43
- setFilteredTree(tempFilterTree);
44
- }, [searchText, searchKeys, initialTreeViewData]);
45
+ const filteredTree = _react.default.useMemo(() => (0, _helpers.getFilteredTreeData)(initialTreeViewData, searchText.trim().toLowerCase(), searchKeys), [initialTreeViewData, searchText, searchKeys]);
45
46
 
46
47
  // Then we flatten the treen to make it "render-compatible" in a "flat" list
47
- _react.default.useEffect(() => {
48
- const tempFlattenTreeData = (0, _helpers.getFlattenedTreeData)(filteredTree, expanded);
49
- setFlattenedFilteredNodes(tempFlattenTreeData);
50
- }, [filteredTree, expanded]);
48
+ const flattenedFilteredNodes = _react.default.useMemo(() => (0, _helpers.getFlattenedTreeData)(filteredTree, expanded), [filteredTree, expanded]);
51
49
 
52
50
  // And update the innermost children id -> required to un/select filtered tree
53
51
  _react.default.useEffect(() => {
@@ -107,17 +105,15 @@ function _Node(props) {
107
105
  CustomNodeRowComponent
108
106
  } = props;
109
107
  const {
110
- expanded,
111
- checked,
112
- indeterminate
113
- } = (0, _treeView.useTreeViewStore)();
114
- const isChecked = checked.has(node.id);
115
- const isIndeterminate = indeterminate.has(node.id);
116
- const isExpanded = expanded.has(node.id);
117
- const [value, setValue] = _react.default.useState(getValue(isChecked, isIndeterminate));
118
- _react.default.useEffect(() => {
119
- setValue(getValue(isChecked, isIndeterminate));
120
- }, [isChecked, isIndeterminate]);
108
+ isExpanded,
109
+ value
110
+ } = (0, _treeView.useTreeViewStore)((0, _shallow.useShallow)(state => ({
111
+ isExpanded: state.expanded.has(node.id),
112
+ value: getValue(state.checked.has(node.id),
113
+ // isChecked
114
+ state.indeterminate.has(node.id) // isIndeterminate
115
+ )
116
+ })));
121
117
  const _onToggleExpand = _react.default.useCallback(() => {
122
118
  (0, _helpers.handleToggleExpand)(node.id);
123
119
  }, [node.id]);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_flashList","_treeView","_helpers","_CheckboxView","_CustomExpandCollapseIcon","_treeView2","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","NodeList","React","memo","_NodeList","_default","exports","props","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","useTreeViewStore","filteredTree","setFilteredTree","useState","flattenedFilteredNodes","setFlattenedFilteredNodes","useEffect","searchTrimmed","trim","toLowerCase","tempFilterTree","getFilteredTreeData","tempFlattenTreeData","getFlattenedTreeData","updatedInnerMostChildrenIds","getInnerMostChildrenIdsInTree","nodeRenderer","useCallback","item","createElement","Node","node","level","FlashList","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","View","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","defaultIndentationMultiplier","CustomExpandCollapseIcon","CheckboxView","TouchableOpacity","checked","indeterminate","has","id","isExpanded","value","setValue","_onToggleExpand","handleToggleExpand","_onCheck","toggleCheckboxes","_node$children","nodeCheckboxAndArrowRow","paddingStart","text","name","onValueChange","children","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","StyleSheet","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_flashList","_treeView","_helpers","_CheckboxView","_CustomExpandCollapseIcon","_treeView2","_shallow","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","NodeList","React","memo","_NodeList","_default","exports","props","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","useTreeViewStore","useShallow","state","filteredTree","useMemo","getFilteredTreeData","trim","toLowerCase","flattenedFilteredNodes","getFlattenedTreeData","useEffect","updatedInnerMostChildrenIds","getInnerMostChildrenIdsInTree","nodeRenderer","useCallback","item","createElement","Node","node","level","FlashList","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","View","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","defaultIndentationMultiplier","CustomExpandCollapseIcon","CheckboxView","TouchableOpacity","isExpanded","value","has","id","checked","indeterminate","_onToggleExpand","handleToggleExpand","_onCheck","toggleCheckboxes","_node$children","nodeCheckboxAndArrowRow","paddingStart","text","name","onValueChange","children","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","StyleSheet","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ import NodeList from './components/NodeList';
4
4
  import { selectAll, selectAllFiltered, unselectAll, unselectAllFiltered, initializeNodeMaps, expandAll, collapseAll, toggleCheckboxes, expandNodes, collapseNodes } from './helpers';
5
5
  import { useTreeViewStore } from './store/treeView.store';
6
6
  import usePreviousState from './utils/usePreviousState';
7
+ import { useShallow } from "zustand/react/shallow";
7
8
  const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
8
9
  const {
9
10
  data,
@@ -29,7 +30,17 @@ const _TreeView = /*#__PURE__*/React.forwardRef((props, ref) => {
29
30
  updateSearchKeys,
30
31
  checked,
31
32
  cleanUpTreeViewStore
32
- } = useTreeViewStore();
33
+ } = useTreeViewStore(useShallow(state => ({
34
+ expanded: state.expanded,
35
+ updateExpanded: state.updateExpanded,
36
+ initialTreeViewData: state.initialTreeViewData,
37
+ updateInitialTreeViewData: state.updateInitialTreeViewData,
38
+ searchText: state.searchText,
39
+ updateSearchText: state.updateSearchText,
40
+ updateSearchKeys: state.updateSearchKeys,
41
+ checked: state.checked,
42
+ cleanUpTreeViewStore: state.cleanUpTreeViewStore
43
+ })));
33
44
  React.useImperativeHandle(ref, () => ({
34
45
  selectAll,
35
46
  unselectAll,
@@ -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","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","InteractionManager","NodeList","selectAll","selectAllFiltered","unselectAll","unselectAllFiltered","initializeNodeMaps","expandAll","collapseAll","toggleCheckboxes","expandNodes","collapseNodes","useTreeViewStore","usePreviousState","useShallow","_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","state","useImperativeHandle","selectNodes","unselectNodes","setSearchText","prevSearchText","useEffect","ids","text","keys","getIds","useCallback","node","children","length","id","flatMap","item","Array","from","runAfterInteractions","Set","createElement","TreeView","memo"],"sourceRoot":"../../src","sources":["TreeView.tsx"],"mappings":"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","ignoreList":[]}
@@ -21,9 +21,9 @@ function _CheckboxView(props) {
21
21
  ellipsizeMode: "middle"
22
22
  }
23
23
  } = props;
24
- function customCheckboxValueTypeToRNPaperType(customCheckboxValueType) {
24
+ const customCheckboxValueTypeToRNPaperType = React.useCallback(customCheckboxValueType => {
25
25
  return customCheckboxValueType === 'indeterminate' ? 'indeterminate' : customCheckboxValueType ? 'checked' : 'unchecked';
26
- }
26
+ }, []);
27
27
 
28
28
  /**
29
29
  * This function modifies the change in value when the previous state was indeterminate.
@@ -31,10 +31,10 @@ function _CheckboxView(props) {
31
31
  *
32
32
  * @param newValue This represents the updated CheckBox value after it's clicked.
33
33
  */
34
- function onValueChangeModifier() {
34
+ const onValueChangeModifier = React.useCallback(() => {
35
35
  // If the previous state was 'indeterminate', set checked to true
36
36
  if (value === 'indeterminate') onValueChange(true);else onValueChange(!value);
37
- }
37
+ }, [onValueChange, value]);
38
38
  return /*#__PURE__*/React.createElement(View, {
39
39
  style: outermostParentViewStyle
40
40
  }, /*#__PURE__*/React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","customCheckboxValueType","onValueChangeModifier","createElement","Android","_extends","status","onPress","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACD,cAAc;AAErB,SAASC,QAAQ,QAAQ,oBAAoB;AAM7C,SAASC,aAAaA,CAClBC,SAAmC,EACnCC,SAAmC,EACrC;EACE,OACID,SAAS,CAACE,KAAK,KAAKD,SAAS,CAACC,KAAK,IACnCF,SAAS,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI;AAEzC;AAEA,OAAO,MAAMC,YAAY,gBAAGZ,KAAK,CAACa,IAAI,CAACC,aAAa,EAAEP,aAAa,CAAC;AAEpE,SAASO,aAAaA,CAACC,KAA+B,EAAE;EACpD,MAAM;IACFL,KAAK;IACLM,aAAa;IACbL,IAAI;IAEJM,wBAAwB,GAAGC,yBAAyB,CAACC,QAAQ;IAC7DC,uBAAuB,GAAGF,yBAAyB,CAACG,YAAY;IAChEC,kBAAkB;IAElBC,aAAa;IACbC,SAAS,GAAG;MACRC,KAAK,EAAEP,yBAAyB,CAACQ,iBAAiB;MAClDC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;IACnB;EACJ,CAAC,GAAGb,KAAK;EAET,SAASc,oCAAoCA,CACzCC,uBAA0C,EAC5C;IACE,OAAOA,uBAAuB,KAAK,eAAe,GAC5C,eAAe,GACfA,uBAAuB,GACnB,SAAS,GACT,WAAW;EACzB;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACI,SAASC,qBAAqBA,CAAA,EAAG;IAC7B;IACA,IAAIrB,KAAK,KAAK,eAAe,EAAEM,aAAa,CAAC,IAAI,CAAC,CAAC,KAC9CA,aAAa,CAAC,CAACN,KAAK,CAAC;EAC9B;EAEA,oBACIV,KAAA,CAAAgC,aAAA,CAAC3B,IAAI;IACDoB,KAAK,EAAER;EAAyB,gBAChCjB,KAAA,CAAAgC,aAAA,CAAC3B,IAAI;IACDoB,KAAK,EAAEL;EAAwB,gBAC/BpB,KAAA,CAAAgC,aAAA,CAAC1B,QAAQ,CAAC2B,OAAO,EAAAC,QAAA,KACTX,aAAa;IACjBY,MAAM,EAAEN,oCAAoC,CAACnB,KAAK,CAAE;IACpD0B,OAAO,EAAEL;EAAsB,EAAE,CACnC,CAAC,EAENpB,IAAI,gBACDX,KAAA,CAAAgC,aAAA,CAAC5B,gBAAgB;IACbqB,KAAK,EAAEH,kBAAmB;IAC1Bc,OAAO,EAAEL;EAAsB,gBAC/B/B,KAAA,CAAAgC,aAAA,CAAC7B,IAAI,EACGqB,SAAS,EACZb,IACC,CACQ,CAAC,GACnB,IACF,CAAC;AAEf;AAEA,OAAO,MAAMO,yBAAyB,GAAGhB,UAAU,CAACmC,MAAM,CAAC;EACvDlB,QAAQ,EAAE;IACNmB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IAEpBC,SAAS,EAAE;EACf,CAAC;EACDpB,YAAY,EAAE;IACVqB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAC9B,CAAC;EACDlB,iBAAiB,EAAE;IACfmB,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE7C,QAAQ,CAAC8C,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","StyleSheet","Text","TouchableOpacity","View","Checkbox","arePropsEqual","prevProps","nextProps","value","text","CheckboxView","memo","_CheckboxView","props","onValueChange","outermostParentViewStyle","defaultCheckboxViewStyles","mainView","checkboxParentViewStyle","checkboxView","textTouchableStyle","checkboxProps","textProps","style","checkboxTextStyle","numberOfLines","ellipsizeMode","customCheckboxValueTypeToRNPaperType","useCallback","customCheckboxValueType","onValueChangeModifier","createElement","Android","_extends","status","onPress","create","alignSelf","alignItems","flexDirection","marginEnd","marginStart","transform","scale","color","marginTop","OS","undefined"],"sourceRoot":"../../../src","sources":["components/CheckboxView.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,gBAAgB,EAChBC,IAAI,QACD,cAAc;AAErB,SAASC,QAAQ,QAAQ,oBAAoB;AAM7C,SAASC,aAAaA,CAClBC,SAAmC,EACnCC,SAAmC,EACrC;EACE,OACID,SAAS,CAACE,KAAK,KAAKD,SAAS,CAACC,KAAK,IACnCF,SAAS,CAACG,IAAI,KAAKF,SAAS,CAACE,IAAI;AAEzC;AAEA,OAAO,MAAMC,YAAY,gBAAGZ,KAAK,CAACa,IAAI,CAACC,aAAa,EAAEP,aAAa,CAAC;AAEpE,SAASO,aAAaA,CAACC,KAA+B,EAAE;EACpD,MAAM;IACFL,KAAK;IACLM,aAAa;IACbL,IAAI;IAEJM,wBAAwB,GAAGC,yBAAyB,CAACC,QAAQ;IAC7DC,uBAAuB,GAAGF,yBAAyB,CAACG,YAAY;IAChEC,kBAAkB;IAElBC,aAAa;IACbC,SAAS,GAAG;MACRC,KAAK,EAAEP,yBAAyB,CAACQ,iBAAiB;MAClDC,aAAa,EAAE,CAAC;MAChBC,aAAa,EAAE;IACnB;EACJ,CAAC,GAAGb,KAAK;EAET,MAAMc,oCAAoC,GAAG7B,KAAK,CAAC8B,WAAW,CAC1DC,uBAA0C,IACzC;IACD,OAAOA,uBAAuB,KAAK,eAAe,GAC5C,eAAe,GACfA,uBAAuB,GACnB,SAAS,GACT,WAAW;EACzB,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMC,qBAAqB,GAAGhC,KAAK,CAAC8B,WAAW,CAAC,MAAM;IAClD;IACA,IAAIpB,KAAK,KAAK,eAAe,EAAEM,aAAa,CAAC,IAAI,CAAC,CAAC,KAC9CA,aAAa,CAAC,CAACN,KAAK,CAAC;EAC9B,CAAC,EAAE,CAACM,aAAa,EAAEN,KAAK,CAAC,CAAC;EAE1B,oBACIV,KAAA,CAAAiC,aAAA,CAAC5B,IAAI;IACDoB,KAAK,EAAER;EAAyB,gBAChCjB,KAAA,CAAAiC,aAAA,CAAC5B,IAAI;IACDoB,KAAK,EAAEL;EAAwB,gBAC/BpB,KAAA,CAAAiC,aAAA,CAAC3B,QAAQ,CAAC4B,OAAO,EAAAC,QAAA,KACTZ,aAAa;IACjBa,MAAM,EAAEP,oCAAoC,CAACnB,KAAK,CAAE;IACpD2B,OAAO,EAAEL;EAAsB,EAAE,CACnC,CAAC,EAENrB,IAAI,gBACDX,KAAA,CAAAiC,aAAA,CAAC7B,gBAAgB;IACbqB,KAAK,EAAEH,kBAAmB;IAC1Be,OAAO,EAAEL;EAAsB,gBAC/BhC,KAAA,CAAAiC,aAAA,CAAC9B,IAAI,EACGqB,SAAS,EACZb,IACC,CACQ,CAAC,GACnB,IACF,CAAC;AAEf;AAEA,OAAO,MAAMO,yBAAyB,GAAGhB,UAAU,CAACoC,MAAM,CAAC;EACvDnB,QAAQ,EAAE;IACNoB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IAEpBC,SAAS,EAAE;EACf,CAAC;EACDrB,YAAY,EAAE;IACVsB,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAI,CAAC;EAC9B,CAAC;EACDnB,iBAAiB,EAAE;IACfoB,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE9C,QAAQ,CAAC+C,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGC;EAC/C;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  import React from "react";
2
- import Icon from 'react-native-vector-icons/FontAwesome';
2
+ import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
3
3
  export const CustomExpandCollapseIcon = /*#__PURE__*/React.memo(_CustomExpandCollapseIcon);
4
4
  function _CustomExpandCollapseIcon(props) {
5
5
  const {
6
6
  isExpanded
7
7
  } = props;
8
- return /*#__PURE__*/React.createElement(Icon, {
8
+ return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
9
9
  name: isExpanded ? 'caret-down' : 'caret-right',
10
10
  size: 20,
11
11
  color: "black"
@@ -1 +1 @@
1
- {"version":3,"names":["React","Icon","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","createElement","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,IAAI,MAAM,uCAAuC;AAIxD,OAAO,MAAMC,wBAAwB,gBAAGF,KAAK,CAACG,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIL,KAAA,CAAAO,aAAA,CAACN,IAAI;IACDO,IAAI,EACAF,UAAU,GACJ,YAAY,GACZ,aACT;IACDG,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
1
+ {"version":3,"names":["React","FontAwesomeIcon","CustomExpandCollapseIcon","memo","_CustomExpandCollapseIcon","props","isExpanded","createElement","name","size","color"],"sourceRoot":"../../../src","sources":["components/CustomExpandCollapseIcon.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,eAAe,MAAM,uCAAuC;AAInE,OAAO,MAAMC,wBAAwB,gBAAGF,KAAK,CAACG,IAAI,CAC9CC,yBACJ,CAAC;AAED,SAASA,yBAAyBA,CAACC,KAAsB,EAAE;EACvD,MAAM;IAAEC;EAAW,CAAC,GAAGD,KAAK;EAE5B,oBACIL,KAAA,CAAAO,aAAA,CAACN,eAAe;IACZO,IAAI,EACAF,UAAU,GACJ,YAAY,GACZ,aACT;IACDG,IAAI,EAAE,EAAG;IACTC,KAAK,EAAC;EAAO,CAChB,CAAC;AAEV","ignoreList":[]}
@@ -7,6 +7,7 @@ import { getFilteredTreeData, getFlattenedTreeData, getInnerMostChildrenIdsInTre
7
7
  import { CheckboxView } from "./CheckboxView";
8
8
  import { CustomExpandCollapseIcon } from "./CustomExpandCollapseIcon";
9
9
  import { defaultIndentationMultiplier } from "../constants/treeView.constants";
10
+ import { useShallow } from 'zustand/react/shallow';
10
11
  const NodeList = /*#__PURE__*/React.memo(_NodeList);
11
12
  export default NodeList;
12
13
  function _NodeList(props) {
@@ -25,22 +26,19 @@ function _NodeList(props) {
25
26
  updateInnerMostChildrenIds,
26
27
  searchKeys,
27
28
  searchText
28
- } = useTreeViewStore();
29
- const [filteredTree, setFilteredTree] = React.useState([]);
30
- const [flattenedFilteredNodes, setFlattenedFilteredNodes] = React.useState([]);
29
+ } = useTreeViewStore(useShallow(state => ({
30
+ expanded: state.expanded,
31
+ initialTreeViewData: state.initialTreeViewData,
32
+ updateInnerMostChildrenIds: state.updateInnerMostChildrenIds,
33
+ searchKeys: state.searchKeys,
34
+ searchText: state.searchText
35
+ })));
31
36
 
32
37
  // First we filter the tree as per the search term and keys
33
- React.useEffect(() => {
34
- const searchTrimmed = searchText.trim().toLowerCase();
35
- const tempFilterTree = getFilteredTreeData(initialTreeViewData, searchTrimmed, searchKeys);
36
- setFilteredTree(tempFilterTree);
37
- }, [searchText, searchKeys, initialTreeViewData]);
38
+ const filteredTree = React.useMemo(() => getFilteredTreeData(initialTreeViewData, searchText.trim().toLowerCase(), searchKeys), [initialTreeViewData, searchText, searchKeys]);
38
39
 
39
40
  // Then we flatten the treen to make it "render-compatible" in a "flat" list
40
- React.useEffect(() => {
41
- const tempFlattenTreeData = getFlattenedTreeData(filteredTree, expanded);
42
- setFlattenedFilteredNodes(tempFlattenTreeData);
43
- }, [filteredTree, expanded]);
41
+ const flattenedFilteredNodes = React.useMemo(() => getFlattenedTreeData(filteredTree, expanded), [filteredTree, expanded]);
44
42
 
45
43
  // And update the innermost children id -> required to un/select filtered tree
46
44
  React.useEffect(() => {
@@ -100,17 +98,15 @@ function _Node(props) {
100
98
  CustomNodeRowComponent
101
99
  } = props;
102
100
  const {
103
- expanded,
104
- checked,
105
- indeterminate
106
- } = useTreeViewStore();
107
- const isChecked = checked.has(node.id);
108
- const isIndeterminate = indeterminate.has(node.id);
109
- const isExpanded = expanded.has(node.id);
110
- const [value, setValue] = React.useState(getValue(isChecked, isIndeterminate));
111
- React.useEffect(() => {
112
- setValue(getValue(isChecked, isIndeterminate));
113
- }, [isChecked, isIndeterminate]);
101
+ isExpanded,
102
+ value
103
+ } = useTreeViewStore(useShallow(state => ({
104
+ isExpanded: state.expanded.has(node.id),
105
+ value: getValue(state.checked.has(node.id),
106
+ // isChecked
107
+ state.indeterminate.has(node.id) // isIndeterminate
108
+ )
109
+ })));
114
110
  const _onToggleExpand = React.useCallback(() => {
115
111
  handleToggleExpand(node.id);
116
112
  }, [node.id]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","TouchableOpacity","FlashList","useTreeViewStore","getFilteredTreeData","getFlattenedTreeData","getInnerMostChildrenIdsInTree","handleToggleExpand","toggleCheckboxes","CheckboxView","CustomExpandCollapseIcon","defaultIndentationMultiplier","NodeList","memo","_NodeList","props","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","filteredTree","setFilteredTree","useState","flattenedFilteredNodes","setFlattenedFilteredNodes","useEffect","searchTrimmed","trim","toLowerCase","tempFilterTree","tempFlattenTreeData","updatedInnerMostChildrenIds","nodeRenderer","useCallback","item","createElement","Node","node","level","_extends","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","checked","indeterminate","has","id","isExpanded","value","setValue","_onToggleExpand","_onCheck","_node$children","nodeCheckboxAndArrowRow","paddingStart","text","name","onValueChange","children","length","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","TouchableOpacity","FlashList","useTreeViewStore","getFilteredTreeData","getFlattenedTreeData","getInnerMostChildrenIdsInTree","handleToggleExpand","toggleCheckboxes","CheckboxView","CustomExpandCollapseIcon","defaultIndentationMultiplier","useShallow","NodeList","memo","_NodeList","props","treeFlashListProps","checkBoxViewStyleProps","indentationMultiplier","CheckboxComponent","ExpandCollapseIconComponent","ExpandCollapseTouchableComponent","CustomNodeRowComponent","expanded","initialTreeViewData","updateInnerMostChildrenIds","searchKeys","searchText","state","filteredTree","useMemo","trim","toLowerCase","flattenedFilteredNodes","useEffect","updatedInnerMostChildrenIds","nodeRenderer","useCallback","item","createElement","Node","node","level","_extends","estimatedItemSize","removeClippedSubviews","keyboardShouldPersistTaps","drawDistance","data","renderItem","ListHeaderComponent","HeaderFooterView","ListFooterComponent","style","styles","defaultHeaderFooter","getValue","isChecked","isIndeterminate","_Node","isExpanded","value","has","id","checked","indeterminate","_onToggleExpand","_onCheck","_node$children","nodeCheckboxAndArrowRow","paddingStart","text","name","onValueChange","children","length","nodeExpandableArrowTouchable","onPress","checkedValue","onCheck","onExpand","create","padding","flex","flexDirection","alignItems","minWidth"],"sourceRoot":"../../../src","sources":["components/NodeList.tsx"],"mappings":"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","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;AAqKhC,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;AAuLhC,eAAO,MAAM,QAAQ,8GAAwB,CAAC"}
@@ -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,EAKR,aAAa,EAEhB,MAAM,yBAAyB,CAAC;AAcjC,QAAA,MAAM,QAAQ,6CAAwB,CAAC;AACvC,eAAe,QAAQ,CAAC;AAExB,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,qBA2FtC"}
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,qBAwFtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-tree-multi-select",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
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",
@@ -104,7 +104,7 @@
104
104
  "pod-install": "^0.1.0",
105
105
  "prettier": "^2.0.5",
106
106
  "react": "18.2.0",
107
- "react-native": "0.72.1",
107
+ "react-native": "^0.72.15",
108
108
  "react-native-builder-bob": "^0.20.0",
109
109
  "react-native-paper": "5.x.x",
110
110
  "react-test-renderer": "18.2.0",
package/src/TreeView.tsx CHANGED
@@ -20,6 +20,7 @@ import {
20
20
  } from './helpers';
21
21
  import { useTreeViewStore } from './store/treeView.store';
22
22
  import usePreviousState from './utils/usePreviousState';
23
+ import { useShallow } from "zustand/react/shallow";
23
24
 
24
25
  const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
25
26
  (props, ref) => {
@@ -59,7 +60,24 @@ const _TreeView = React.forwardRef<TreeViewRef, TreeViewProps>(
59
60
  checked,
60
61
 
61
62
  cleanUpTreeViewStore,
62
- } = useTreeViewStore();
63
+ } = useTreeViewStore(useShallow(
64
+ state => ({
65
+ expanded: state.expanded,
66
+ updateExpanded: state.updateExpanded,
67
+
68
+ initialTreeViewData: state.initialTreeViewData,
69
+ updateInitialTreeViewData: state.updateInitialTreeViewData,
70
+
71
+ searchText: state.searchText,
72
+ updateSearchText: state.updateSearchText,
73
+
74
+ updateSearchKeys: state.updateSearchKeys,
75
+
76
+ checked: state.checked,
77
+
78
+ cleanUpTreeViewStore: state.cleanUpTreeViewStore,
79
+ })
80
+ ));
63
81
 
64
82
  React.useImperativeHandle(ref, () => ({
65
83
  selectAll,
@@ -43,15 +43,15 @@ function _CheckboxView(props: BuiltInCheckBoxViewProps) {
43
43
  },
44
44
  } = props;
45
45
 
46
- function customCheckboxValueTypeToRNPaperType(
46
+ const customCheckboxValueTypeToRNPaperType = React.useCallback((
47
47
  customCheckboxValueType: CheckboxValueType
48
- ) {
48
+ ) => {
49
49
  return customCheckboxValueType === 'indeterminate'
50
50
  ? 'indeterminate'
51
51
  : customCheckboxValueType
52
52
  ? 'checked'
53
53
  : 'unchecked';
54
- }
54
+ }, []);
55
55
 
56
56
  /**
57
57
  * This function modifies the change in value when the previous state was indeterminate.
@@ -59,11 +59,11 @@ function _CheckboxView(props: BuiltInCheckBoxViewProps) {
59
59
  *
60
60
  * @param newValue This represents the updated CheckBox value after it's clicked.
61
61
  */
62
- function onValueChangeModifier() {
62
+ const onValueChangeModifier = React.useCallback(() => {
63
63
  // If the previous state was 'indeterminate', set checked to true
64
64
  if (value === 'indeterminate') onValueChange(true);
65
65
  else onValueChange(!value);
66
- }
66
+ }, [onValueChange, value]);
67
67
 
68
68
  return (
69
69
  <View
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import Icon from 'react-native-vector-icons/FontAwesome';
2
+ import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
3
3
 
4
4
  import { ExpandIconProps } from "src/types/treeView.types";
5
5
 
@@ -11,7 +11,7 @@ function _CustomExpandCollapseIcon(props: ExpandIconProps) {
11
11
  const { isExpanded } = props;
12
12
 
13
13
  return (
14
- <Icon
14
+ <FontAwesomeIcon
15
15
  name={
16
16
  isExpanded
17
17
  ? 'caret-down'
@@ -8,8 +8,6 @@ import {
8
8
  import { FlashList } from "@shopify/flash-list";
9
9
 
10
10
  import type {
11
- TreeNode,
12
-
13
11
  CheckboxValueType,
14
12
  __FlattenedTreeNode__,
15
13
  NodeListProps,
@@ -27,6 +25,7 @@ import {
27
25
  import { CheckboxView } from "./CheckboxView";
28
26
  import { CustomExpandCollapseIcon } from "./CustomExpandCollapseIcon";
29
27
  import { defaultIndentationMultiplier } from "../constants/treeView.constants";
28
+ import { useShallow } from 'zustand/react/shallow';
30
29
 
31
30
  const NodeList = React.memo(_NodeList);
32
31
  export default NodeList;
@@ -49,31 +48,28 @@ function _NodeList(props: NodeListProps) {
49
48
  updateInnerMostChildrenIds,
50
49
  searchKeys,
51
50
  searchText
52
- } = useTreeViewStore();
53
-
54
- const [filteredTree, setFilteredTree] = React.useState<TreeNode[]>([]);
55
- const [flattenedFilteredNodes, setFlattenedFilteredNodes]
56
- = React.useState<__FlattenedTreeNode__[]>([]);
51
+ } = useTreeViewStore(useShallow(
52
+ state => ({
53
+ expanded: state.expanded,
54
+ initialTreeViewData: state.initialTreeViewData,
55
+ updateInnerMostChildrenIds: state.updateInnerMostChildrenIds,
56
+ searchKeys: state.searchKeys,
57
+ searchText: state.searchText,
58
+ })
59
+ ));
57
60
 
58
61
  // First we filter the tree as per the search term and keys
59
- React.useEffect(() => {
60
- const searchTrimmed = searchText.trim().toLowerCase();
61
- const tempFilterTree = getFilteredTreeData(
62
- initialTreeViewData,
63
- searchTrimmed,
64
- searchKeys
65
- );
66
- setFilteredTree(tempFilterTree);
67
- }, [searchText, searchKeys, initialTreeViewData]);
62
+ const filteredTree = React.useMemo(() => getFilteredTreeData(
63
+ initialTreeViewData,
64
+ searchText.trim().toLowerCase(),
65
+ searchKeys
66
+ ), [initialTreeViewData, searchText, searchKeys]);
68
67
 
69
68
  // Then we flatten the treen to make it "render-compatible" in a "flat" list
70
- React.useEffect(() => {
71
- const tempFlattenTreeData = getFlattenedTreeData(
72
- filteredTree,
73
- expanded,
74
- );
75
- setFlattenedFilteredNodes(tempFlattenTreeData);
76
- }, [filteredTree, expanded]);
69
+ const flattenedFilteredNodes = React.useMemo(() => getFlattenedTreeData(
70
+ filteredTree,
71
+ expanded,
72
+ ), [filteredTree, expanded]);
77
73
 
78
74
  // And update the innermost children id -> required to un/select filtered tree
79
75
  React.useEffect(() => {
@@ -158,17 +154,18 @@ function _Node(props: NodeProps) {
158
154
  CustomNodeRowComponent
159
155
  } = props;
160
156
 
161
- const { expanded, checked, indeterminate } = useTreeViewStore();
162
-
163
- const isChecked = checked.has(node.id);
164
- const isIndeterminate = indeterminate.has(node.id);
165
- const isExpanded = expanded.has(node.id);
166
-
167
- const [value, setValue] = React.useState(getValue(isChecked, isIndeterminate));
168
-
169
- React.useEffect(() => {
170
- setValue(getValue(isChecked, isIndeterminate));
171
- }, [isChecked, isIndeterminate]);
157
+ const {
158
+ isExpanded,
159
+ value,
160
+ } = useTreeViewStore(useShallow(
161
+ state => ({
162
+ isExpanded: state.expanded.has(node.id),
163
+ value: getValue(
164
+ state.checked.has(node.id), // isChecked
165
+ state.indeterminate.has(node.id) // isIndeterminate
166
+ ),
167
+ })
168
+ ));
172
169
 
173
170
  const _onToggleExpand = React.useCallback(() => {
174
171
  handleToggleExpand(node.id);