react-native-input-select 1.3.18 → 2.1.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 +40 -95
- package/lib/commonjs/components/CheckBox/index.js +19 -13
- package/lib/commonjs/components/CheckBox/index.js.map +1 -1
- package/lib/commonjs/components/CustomModal/index.js +12 -16
- package/lib/commonjs/components/CustomModal/index.js.map +1 -1
- package/lib/commonjs/components/Dropdown/Dropdown.js +3 -2
- package/lib/commonjs/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/commonjs/components/Dropdown/DropdownListItem.js +2 -11
- package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +1 -1
- package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js +14 -14
- package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
- package/lib/commonjs/components/Input/index.js.map +1 -1
- package/lib/commonjs/components/{Dropdown → List}/DropdownFlatList.js +7 -28
- package/lib/commonjs/components/List/DropdownFlatList.js.map +1 -0
- package/lib/commonjs/components/{Dropdown → List}/DropdownSectionList.js +6 -24
- package/lib/commonjs/components/List/DropdownSectionList.js.map +1 -0
- package/lib/commonjs/hooks/index.js +61 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/use-index-of-selected-item.js +49 -0
- package/lib/commonjs/hooks/use-index-of-selected-item.js.map +1 -0
- package/lib/commonjs/hooks/use-modal.js +37 -0
- package/lib/commonjs/hooks/use-modal.js.map +1 -0
- package/lib/commonjs/hooks/use-search.js +58 -0
- package/lib/commonjs/hooks/use-search.js.map +1 -0
- package/lib/commonjs/hooks/use-select-all.js +70 -0
- package/lib/commonjs/hooks/use-select-all.js.map +1 -0
- package/lib/commonjs/hooks/use-selection-handler.js +62 -0
- package/lib/commonjs/hooks/use-selection-handler.js.map +1 -0
- package/lib/commonjs/index.js +120 -260
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/index.js +40 -5
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/components/CheckBox/index.js +19 -13
- package/lib/module/components/CheckBox/index.js.map +1 -1
- package/lib/module/components/CustomModal/index.js +12 -15
- package/lib/module/components/CustomModal/index.js.map +1 -1
- package/lib/module/components/Dropdown/Dropdown.js +3 -2
- package/lib/module/components/Dropdown/Dropdown.js.map +1 -1
- package/lib/module/components/Dropdown/DropdownListItem.js +2 -11
- package/lib/module/components/Dropdown/DropdownListItem.js.map +1 -1
- package/lib/module/components/Dropdown/DropdownSelectedItemsView.js +14 -14
- package/lib/module/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
- package/lib/module/components/Input/index.js.map +1 -1
- package/lib/module/components/{Dropdown → List}/DropdownFlatList.js +7 -28
- package/lib/module/components/List/DropdownFlatList.js.map +1 -0
- package/lib/module/components/{Dropdown → List}/DropdownSectionList.js +6 -24
- package/lib/module/components/List/DropdownSectionList.js.map +1 -0
- package/lib/module/hooks/index.js +6 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/use-index-of-selected-item.js +42 -0
- package/lib/module/hooks/use-index-of-selected-item.js.map +1 -0
- package/lib/module/hooks/use-modal.js +30 -0
- package/lib/module/hooks/use-modal.js.map +1 -0
- package/lib/module/hooks/use-search.js +51 -0
- package/lib/module/hooks/use-search.js.map +1 -0
- package/lib/module/hooks/use-select-all.js +63 -0
- package/lib/module/hooks/use-select-all.js.map +1 -0
- package/lib/module/hooks/use-selection-handler.js +55 -0
- package/lib/module/hooks/use-selection-handler.js.map +1 -0
- package/lib/module/index.js +123 -262
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/index.js +36 -4
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/components/CheckBox/checkbox.types.d.ts +4 -2
- package/lib/typescript/src/components/CheckBox/checkbox.types.d.ts.map +1 -1
- package/lib/typescript/src/components/CheckBox/index.d.ts +2 -2
- package/lib/typescript/src/components/CheckBox/index.d.ts.map +1 -1
- package/lib/typescript/src/components/CustomModal/index.d.ts +3 -1
- package/lib/typescript/src/components/CustomModal/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/typescript/src/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/lib/typescript/src/components/Dropdown/DropdownListItem.d.ts +1 -1
- package/lib/typescript/src/components/Dropdown/DropdownListItem.d.ts.map +1 -1
- package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsView.d.ts +1 -1
- package/lib/typescript/src/components/Input/index.d.ts +5 -1
- package/lib/typescript/src/components/Input/index.d.ts.map +1 -1
- package/lib/typescript/src/components/List/DropdownFlatList.d.ts +6 -0
- package/lib/typescript/src/components/List/DropdownFlatList.d.ts.map +1 -0
- package/lib/typescript/src/components/List/DropdownSectionList.d.ts +4 -0
- package/lib/typescript/src/components/List/DropdownSectionList.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +6 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts +23 -0
- package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-modal.d.ts +13 -0
- package/lib/typescript/src/hooks/use-modal.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-search.d.ts +16 -0
- package/lib/typescript/src/hooks/use-search.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-select-all.d.ts +18 -0
- package/lib/typescript/src/hooks/use-select-all.d.ts.map +1 -0
- package/lib/typescript/src/hooks/use-selection-handler.d.ts +19 -0
- package/lib/typescript/src/hooks/use-selection-handler.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +19 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types/index.types.d.ts +33 -53
- package/lib/typescript/src/types/index.types.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +17 -3
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/package.json +21 -7
- package/src/components/CheckBox/checkbox.types.ts +2 -2
- package/src/components/CheckBox/index.tsx +23 -47
- package/src/components/CustomModal/index.tsx +15 -23
- package/src/components/Dropdown/Dropdown.tsx +3 -2
- package/src/components/Dropdown/DropdownListItem.tsx +1 -14
- package/src/components/Dropdown/DropdownSelectedItemsView.tsx +13 -13
- package/src/components/Input/index.tsx +13 -2
- package/src/components/{Dropdown → List}/DropdownFlatList.tsx +11 -23
- package/src/components/{Dropdown → List}/DropdownSectionList.tsx +10 -22
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-index-of-selected-item.ts +49 -0
- package/src/hooks/use-modal.ts +40 -0
- package/src/hooks/use-search.ts +95 -0
- package/src/hooks/use-select-all.ts +79 -0
- package/src/hooks/use-selection-handler.ts +81 -0
- package/src/index.tsx +277 -443
- package/src/types/index.types.ts +41 -56
- package/src/utils/index.ts +60 -3
- package/lib/commonjs/components/Dropdown/DropdownFlatList.js.map +0 -1
- package/lib/commonjs/components/Dropdown/DropdownSectionList.js.map +0 -1
- package/lib/module/components/Dropdown/DropdownFlatList.js.map +0 -1
- package/lib/module/components/Dropdown/DropdownSectionList.js.map +0 -1
- package/lib/typescript/src/components/Dropdown/DropdownFlatList.d.ts +0 -6
- package/lib/typescript/src/components/Dropdown/DropdownFlatList.d.ts.map +0 -1
- package/lib/typescript/src/components/Dropdown/DropdownSectionList.d.ts +0 -4
- package/lib/typescript/src/components/Dropdown/DropdownSectionList.d.ts.map +0 -1
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _DropdownListItem = _interopRequireDefault(require("
|
|
9
|
+
var _DropdownListItem = _interopRequireDefault(require("../Dropdown/DropdownListItem"));
|
|
10
10
|
var _Others = require("../Others");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -23,14 +23,6 @@ const DropdownFlatList = ({
|
|
|
23
23
|
handleMultipleSelections,
|
|
24
24
|
handleSingleSelection,
|
|
25
25
|
primaryColor,
|
|
26
|
-
checkboxSize,
|
|
27
|
-
// kept for backwards compatibility to be removed in future release
|
|
28
|
-
checkboxStyle,
|
|
29
|
-
// kept for backwards compatibility to be removed in future release
|
|
30
|
-
checkboxLabelStyle,
|
|
31
|
-
// kept for backwards compatibility to be removed in future release
|
|
32
|
-
checkboxComponentStyles,
|
|
33
|
-
checkboxComponent,
|
|
34
26
|
checkboxControls,
|
|
35
27
|
listComponentStyles,
|
|
36
28
|
listIndex,
|
|
@@ -40,7 +32,7 @@ const DropdownFlatList = ({
|
|
|
40
32
|
}) => {
|
|
41
33
|
const flatlistRef = (0, _react.useRef)(null);
|
|
42
34
|
const scrollToItem = index => {
|
|
43
|
-
flatlistRef
|
|
35
|
+
flatlistRef?.current?.scrollToIndex({
|
|
44
36
|
index,
|
|
45
37
|
animated: true
|
|
46
38
|
});
|
|
@@ -50,7 +42,11 @@ const DropdownFlatList = ({
|
|
|
50
42
|
scrollToItem(listIndex.itemIndex);
|
|
51
43
|
}
|
|
52
44
|
}, [listIndex]);
|
|
45
|
+
const itemSeparator = () => /*#__PURE__*/_react.default.createElement(_Others.ItemSeparatorComponent, {
|
|
46
|
+
itemSeparatorStyle: listComponentStyles?.itemSeparatorStyle
|
|
47
|
+
});
|
|
53
48
|
return /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, _extends({
|
|
49
|
+
testID: "react-native-input-select-flat-list",
|
|
54
50
|
data: options,
|
|
55
51
|
extraData: isMultiple ? selectedItems : selectedItem,
|
|
56
52
|
initialNumToRender: 5,
|
|
@@ -61,9 +57,7 @@ const DropdownFlatList = ({
|
|
|
61
57
|
contentContainerStyle: [isSearchable ? {
|
|
62
58
|
paddingTop: 0
|
|
63
59
|
} : styles.contentContainerStyle],
|
|
64
|
-
ItemSeparatorComponent:
|
|
65
|
-
itemSeparatorStyle: listComponentStyles?.itemSeparatorStyle
|
|
66
|
-
}),
|
|
60
|
+
ItemSeparatorComponent: itemSeparator,
|
|
67
61
|
renderItem: item => _renderItem(item, {
|
|
68
62
|
optionLabel,
|
|
69
63
|
optionValue,
|
|
@@ -72,16 +66,6 @@ const DropdownFlatList = ({
|
|
|
72
66
|
onChange: isMultiple ? handleMultipleSelections : handleSingleSelection,
|
|
73
67
|
scrollToItem,
|
|
74
68
|
primaryColor,
|
|
75
|
-
checkboxSize,
|
|
76
|
-
// kept for backwards compatibility
|
|
77
|
-
checkboxStyle,
|
|
78
|
-
// kept for backwards compatibility
|
|
79
|
-
checkboxLabelStyle,
|
|
80
|
-
// kept for backwards compatibility
|
|
81
|
-
checkboxComponentStyles,
|
|
82
|
-
// kept for backwards compatibility
|
|
83
|
-
checkboxComponent,
|
|
84
|
-
// kept for backwards compatibility
|
|
85
69
|
checkboxControls
|
|
86
70
|
}),
|
|
87
71
|
keyExtractor: (_item, index) => `Options${index}`,
|
|
@@ -106,12 +90,7 @@ const _renderItem = ({
|
|
|
106
90
|
selectedOption: props.selectedOption,
|
|
107
91
|
onChange: props.onChange,
|
|
108
92
|
primaryColor: props.primaryColor,
|
|
109
|
-
checkboxSize: props.checkboxSize,
|
|
110
|
-
checkboxStyle: props.checkboxStyle,
|
|
111
|
-
checkboxLabelStyle: props.checkboxLabelStyle,
|
|
112
93
|
scrollToItem: props.scrollToItem,
|
|
113
|
-
checkboxComponentStyles: props.checkboxComponentStyles,
|
|
114
|
-
checkboxComponent: props.checkboxComponent,
|
|
115
94
|
checkboxControls: props.checkboxControls
|
|
116
95
|
});
|
|
117
96
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_DropdownListItem","_interopRequireDefault","_Others","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DropdownFlatList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","flatlistRef","useRef","scrollToItem","index","current","scrollToIndex","animated","useEffect","itemIndex","itemSeparator","createElement","ItemSeparatorComponent","itemSeparatorStyle","FlatList","testID","data","extraData","initialNumToRender","ListEmptyComponent","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","ref","onScrollToIndexFailed","setTimeout","props","StyleSheet","create","_default","exports"],"sourceRoot":"../../../../src","sources":["components/List/DropdownFlatList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var _DropdownListItem = _interopRequireDefault(require("
|
|
9
|
+
var _DropdownListItem = _interopRequireDefault(require("../Dropdown/DropdownListItem"));
|
|
10
10
|
var _Others = require("../Others");
|
|
11
11
|
var _utils = require("../../utils");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -24,11 +24,6 @@ const DropdownSectionList = ({
|
|
|
24
24
|
handleMultipleSelections,
|
|
25
25
|
handleSingleSelection,
|
|
26
26
|
primaryColor,
|
|
27
|
-
checkboxSize,
|
|
28
|
-
checkboxStyle,
|
|
29
|
-
checkboxLabelStyle,
|
|
30
|
-
checkboxComponentStyles,
|
|
31
|
-
checkboxComponent,
|
|
32
27
|
checkboxControls,
|
|
33
28
|
listComponentStyles,
|
|
34
29
|
listIndex,
|
|
@@ -79,7 +74,11 @@ const DropdownSectionList = ({
|
|
|
79
74
|
scrollToLocation(listIndex);
|
|
80
75
|
}
|
|
81
76
|
}, [listIndex]);
|
|
77
|
+
const itemSeparator = () => /*#__PURE__*/_react.default.createElement(_Others.ItemSeparatorComponent, {
|
|
78
|
+
itemSeparatorStyle: listComponentStyles?.itemSeparatorStyle
|
|
79
|
+
});
|
|
82
80
|
return /*#__PURE__*/_react.default.createElement(_reactNative.SectionList, _extends({
|
|
81
|
+
testID: "react-native-input-select-section-list",
|
|
83
82
|
sections: options,
|
|
84
83
|
extraData: isMultiple ? selectedItems : selectedItem,
|
|
85
84
|
initialNumToRender: 5,
|
|
@@ -90,9 +89,7 @@ const DropdownSectionList = ({
|
|
|
90
89
|
contentContainerStyle: [isSearchable ? {
|
|
91
90
|
paddingTop: 0
|
|
92
91
|
} : styles.contentContainerStyle],
|
|
93
|
-
ItemSeparatorComponent:
|
|
94
|
-
itemSeparatorStyle: listComponentStyles?.itemSeparatorStyle
|
|
95
|
-
}),
|
|
92
|
+
ItemSeparatorComponent: itemSeparator,
|
|
96
93
|
renderItem: item => _renderItem(item, {
|
|
97
94
|
optionLabel,
|
|
98
95
|
optionValue,
|
|
@@ -100,16 +97,6 @@ const DropdownSectionList = ({
|
|
|
100
97
|
selectedOption: isMultiple ? selectedItems : selectedItem,
|
|
101
98
|
onChange: isMultiple ? handleMultipleSelections : handleSingleSelection,
|
|
102
99
|
primaryColor,
|
|
103
|
-
checkboxSize,
|
|
104
|
-
// kept for backwards compatibility
|
|
105
|
-
checkboxStyle,
|
|
106
|
-
// kept for backwards compatibility
|
|
107
|
-
checkboxLabelStyle,
|
|
108
|
-
// kept for backwards compatibility
|
|
109
|
-
checkboxComponentStyles,
|
|
110
|
-
// kept for backwards compatibility
|
|
111
|
-
checkboxComponent,
|
|
112
|
-
// kept for backwards compatibility
|
|
113
100
|
checkboxControls,
|
|
114
101
|
expandedSections
|
|
115
102
|
}),
|
|
@@ -151,11 +138,6 @@ const _renderItem = ({
|
|
|
151
138
|
selectedOption: props.selectedOption,
|
|
152
139
|
onChange: props.onChange,
|
|
153
140
|
primaryColor: props.primaryColor,
|
|
154
|
-
checkboxSize: props.checkboxSize,
|
|
155
|
-
checkboxStyle: props.checkboxStyle,
|
|
156
|
-
checkboxLabelStyle: props.checkboxLabelStyle,
|
|
157
|
-
checkboxComponentStyles: props.checkboxComponentStyles,
|
|
158
|
-
checkboxComponent: props.checkboxComponent,
|
|
159
141
|
checkboxControls: props.checkboxControls
|
|
160
142
|
});
|
|
161
143
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_DropdownListItem","_interopRequireDefault","_Others","_utils","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DropdownSectionList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","expandedSections","setExpandedSections","useState","Set","useEffect","initialState","extractPropertyFromArray","handleToggleListExpansion","title","expandedSectionsState","next","delete","add","sectionlistRef","useRef","scrollToLocation","current","sectionIndex","animated","itemIndex","itemSeparator","createElement","ItemSeparatorComponent","itemSeparatorStyle","SectionList","testID","sections","extraData","initialNumToRender","ListEmptyComponent","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","renderSectionHeader","section","SectionHeaderTitle","sectionHeaderStyle","onPress","isExpanded","keyExtractor","_item","index","stickySectionHeadersEnabled","ref","onScrollToIndexFailed","setTimeout","props","StyleSheet","create","_default","exports"],"sourceRoot":"../../../../src","sources":["components/List/DropdownSectionList.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _useSearch = require("./use-search");
|
|
7
|
+
Object.keys(_useSearch).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _useSearch[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _useSearch[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _useSelectionHandler = require("./use-selection-handler");
|
|
18
|
+
Object.keys(_useSelectionHandler).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _useSelectionHandler[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _useSelectionHandler[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _useIndexOfSelectedItem = require("./use-index-of-selected-item");
|
|
29
|
+
Object.keys(_useIndexOfSelectedItem).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _useIndexOfSelectedItem[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _useIndexOfSelectedItem[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _useModal = require("./use-modal");
|
|
40
|
+
Object.keys(_useModal).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _useModal[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _useModal[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _useSelectAll = require("./use-select-all");
|
|
51
|
+
Object.keys(_useSelectAll).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _useSelectAll[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _useSelectAll[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useSearch","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useSelectionHandler","_useIndexOfSelectedItem","_useModal","_useSelectAll"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,uBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,uBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,uBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,uBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,SAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,SAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,SAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,aAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,aAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,aAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,aAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useIndexOfSelectedItem = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @description for scrollToIndex in Sectionlist and Flatlist
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const useIndexOfSelectedItem = ({
|
|
14
|
+
options,
|
|
15
|
+
optionLabel,
|
|
16
|
+
isSectionList
|
|
17
|
+
}) => {
|
|
18
|
+
const [listIndex, setListIndex] = (0, _react.useState)({
|
|
19
|
+
itemIndex: -1,
|
|
20
|
+
sectionIndex: -1
|
|
21
|
+
});
|
|
22
|
+
const setIndexOfSelectedItem = (0, _react.useCallback)(selectedLabel => {
|
|
23
|
+
if (isSectionList) {
|
|
24
|
+
options.forEach((section, sectionIndex) => {
|
|
25
|
+
const itemIndex = section.data.findIndex(item => item[optionLabel] === selectedLabel);
|
|
26
|
+
if (itemIndex !== -1) {
|
|
27
|
+
setListIndex({
|
|
28
|
+
sectionIndex,
|
|
29
|
+
itemIndex
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
const itemIndex = options.findIndex(item => item[optionLabel] === selectedLabel);
|
|
35
|
+
if (itemIndex !== -1) {
|
|
36
|
+
setListIndex({
|
|
37
|
+
itemIndex
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, [options, optionLabel, isSectionList]);
|
|
42
|
+
return {
|
|
43
|
+
listIndex,
|
|
44
|
+
setListIndex,
|
|
45
|
+
setIndexOfSelectedItem
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
exports.useIndexOfSelectedItem = useIndexOfSelectedItem;
|
|
49
|
+
//# sourceMappingURL=use-index-of-selected-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useIndexOfSelectedItem","options","optionLabel","isSectionList","listIndex","setListIndex","useState","itemIndex","sectionIndex","setIndexOfSelectedItem","useCallback","selectedLabel","forEach","section","data","findIndex","item","exports"],"sourceRoot":"../../../src","sources":["hooks/use-index-of-selected-item.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AASA;AACA;AACA;AACA;;AAEO,MAAMC,sBAAsB,GAAGA,CAAC;EACrCC,OAAO;EACPC,WAAW;EACXC;AAC2B,CAAC,KAAK;EACjC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAGvC;IAAEC,SAAS,EAAE,CAAC,CAAC;IAAEC,YAAY,EAAE,CAAC;EAAE,CAAC,CAAC;EAEvC,MAAMC,sBAAsB,GAAG,IAAAC,kBAAW,EACvCC,aAAqB,IAAK;IACzB,IAAIR,aAAa,EAAE;MAChBF,OAAO,CAAwBW,OAAO,CAAC,CAACC,OAAO,EAAEL,YAAY,KAAK;QACjE,MAAMD,SAAS,GAAGM,OAAO,CAACC,IAAI,CAACC,SAAS,CACrCC,IAAI,IAAKA,IAAI,CAACd,WAAW,CAAC,KAAKS,aAClC,CAAC;QACD,IAAIJ,SAAS,KAAK,CAAC,CAAC,EAAE;UACpBF,YAAY,CAAC;YAAEG,YAAY;YAAED;UAAU,CAAC,CAAC;QAC3C;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMA,SAAS,GAAIN,OAAO,CAAqBc,SAAS,CACrDC,IAAI,IAAKA,IAAI,CAACd,WAAW,CAAC,KAAKS,aAClC,CAAC;MACD,IAAIJ,SAAS,KAAK,CAAC,CAAC,EAAE;QACpBF,YAAY,CAAC;UAAEE;QAAU,CAAC,CAAC;MAC7B;IACF;EACF,CAAC,EACD,CAACN,OAAO,EAAEC,WAAW,EAAEC,aAAa,CACtC,CAAC;EAED,OAAO;IAAEC,SAAS;IAAEC,YAAY;IAAEI;EAAuB,CAAC;AAC5D,CAAC;AAACQ,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useModal = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
const useModal = ({
|
|
10
|
+
resetOptionsRelatedState,
|
|
11
|
+
disabled,
|
|
12
|
+
modalControls
|
|
13
|
+
}) => {
|
|
14
|
+
const [isVisible, setIsVisible] = (0, _react.useState)(false);
|
|
15
|
+
const openModal = () => {
|
|
16
|
+
if (disabled) return;
|
|
17
|
+
setIsVisible(true);
|
|
18
|
+
resetOptionsRelatedState();
|
|
19
|
+
};
|
|
20
|
+
const closeModal = () => {
|
|
21
|
+
setIsVisible(false);
|
|
22
|
+
resetOptionsRelatedState();
|
|
23
|
+
|
|
24
|
+
// iOS supports the onDismiss prop but android does not, so we do this explicitly here
|
|
25
|
+
// https://reactnative.dev/docs/modal#ondismiss-ios
|
|
26
|
+
if (_reactNative.Platform.OS === 'android') {
|
|
27
|
+
modalControls?.modalProps?.onDismiss?.();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
isVisible,
|
|
32
|
+
openModal: () => openModal(),
|
|
33
|
+
closeModal: () => closeModal()
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.useModal = useModal;
|
|
37
|
+
//# sourceMappingURL=use-modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","useModal","resetOptionsRelatedState","disabled","modalControls","isVisible","setIsVisible","useState","openModal","closeModal","Platform","OS","modalProps","onDismiss","exports"],"sourceRoot":"../../../src","sources":["hooks/use-modal.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AASO,MAAME,QAAQ,GAAGA,CAAC;EACvBC,wBAAwB;EACxBC,QAAQ;EACRC;AACa,CAAC,KAAK;EACnB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEjD,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAIL,QAAQ,EAAE;IACdG,YAAY,CAAC,IAAI,CAAC;IAClBJ,wBAAwB,CAAC,CAAC;EAC5B,CAAC;EAED,MAAMO,UAAU,GAAGA,CAAA,KAAM;IACvBH,YAAY,CAAC,KAAK,CAAC;IACnBJ,wBAAwB,CAAC,CAAC;;IAE1B;IACA;IACA,IAAIQ,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7BP,aAAa,EAAEQ,UAAU,EAAEC,SAAS,GAAG,CAAC;IAC1C;EACF,CAAC;EAED,OAAO;IACLR,SAAS;IACTG,SAAS,EAAEA,CAAA,KAAMA,SAAS,CAAC,CAAC;IAC5BC,UAAU,EAAEA,CAAA,KAAMA,UAAU,CAAC;EAC/B,CAAC;AACH,CAAC;AAACK,OAAA,CAAAb,QAAA,GAAAA,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSearch = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
const useSearch = ({
|
|
10
|
+
initialOptions,
|
|
11
|
+
optionLabel,
|
|
12
|
+
optionValue,
|
|
13
|
+
searchCallback
|
|
14
|
+
}) => {
|
|
15
|
+
const [searchValue, setSearchValue] = (0, _react.useState)('');
|
|
16
|
+
const [filteredOptions, setFilteredOptions] = (0, _react.useState)(initialOptions);
|
|
17
|
+
(0, _react.useEffect)(() => {
|
|
18
|
+
setFilteredOptions(initialOptions);
|
|
19
|
+
return () => {};
|
|
20
|
+
}, [initialOptions]);
|
|
21
|
+
const searchFlatList = (0, _react.useCallback)((flatList, regexFilter) => {
|
|
22
|
+
return flatList.filter(item => {
|
|
23
|
+
return item[optionLabel]?.toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue]?.toString().toLowerCase().search(regexFilter) !== -1;
|
|
24
|
+
});
|
|
25
|
+
}, [optionLabel, optionValue]);
|
|
26
|
+
const searchSectionList = (0, _react.useCallback)((sectionList, regexFilter) => {
|
|
27
|
+
return sectionList.map(listItem => {
|
|
28
|
+
// A section list is the combination of several flat lists
|
|
29
|
+
const filteredData = searchFlatList(listItem.data, regexFilter);
|
|
30
|
+
return {
|
|
31
|
+
...listItem,
|
|
32
|
+
data: filteredData
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}, [searchFlatList]);
|
|
36
|
+
const isSection = (0, _utils.isSectionList)(initialOptions);
|
|
37
|
+
const onSearch = (0, _react.useCallback)(value => {
|
|
38
|
+
searchCallback?.(value);
|
|
39
|
+
const searchText = (0, _utils.escapeRegExp)(value).toLowerCase().trim();
|
|
40
|
+
const regexFilter = new RegExp(searchText, 'i');
|
|
41
|
+
const searchResults = isSection ? searchSectionList(initialOptions, regexFilter) : searchFlatList(initialOptions, regexFilter);
|
|
42
|
+
setFilteredOptions(searchResults);
|
|
43
|
+
}, [initialOptions, isSection, searchCallback, searchFlatList, searchSectionList]);
|
|
44
|
+
(0, _react.useEffect)(() => {
|
|
45
|
+
if (searchValue) {
|
|
46
|
+
onSearch(searchValue);
|
|
47
|
+
}
|
|
48
|
+
}, [onSearch, searchValue]);
|
|
49
|
+
return {
|
|
50
|
+
searchValue,
|
|
51
|
+
setSearchValue,
|
|
52
|
+
filteredOptions,
|
|
53
|
+
setFilteredOptions,
|
|
54
|
+
isSectionList: isSection
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.useSearch = useSearch;
|
|
58
|
+
//# sourceMappingURL=use-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_utils","useSearch","initialOptions","optionLabel","optionValue","searchCallback","searchValue","setSearchValue","useState","filteredOptions","setFilteredOptions","useEffect","searchFlatList","useCallback","flatList","regexFilter","filter","item","toString","toLowerCase","search","searchSectionList","sectionList","map","listItem","filteredData","data","isSection","isSectionList","onSearch","value","searchText","escapeRegExp","trim","RegExp","searchResults","exports"],"sourceRoot":"../../../src","sources":["hooks/use-search.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,SAAS,GAAGA,CAAC;EACxBC,cAAc;EACdC,WAAW;EACXC,WAAW;EACXC;AACc,CAAC,KAAK;EACpB,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAS,EAAE,CAAC;EAC1D,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAF,eAAQ,EAEpDN,cAAc,CAAC;EAEjB,IAAAS,gBAAS,EAAC,MAAM;IACdD,kBAAkB,CAACR,cAAc,CAAC;IAClC,OAAO,MAAM,CAAC,CAAC;EACjB,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,MAAMU,cAAc,GAAG,IAAAC,kBAAW,EAChC,CAACC,QAAmB,EAAEC,WAAmB,KAAK;IAC5C,OAAOD,QAAQ,CAACE,MAAM,CAAEC,IAAmB,IAAK;MAC9C,OACEA,IAAI,CAACd,WAAW,CAAC,EAAEe,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACL,WAAW,CAAC,KAC7D,CAAC,CAAC,IACJE,IAAI,CAACb,WAAW,CAAC,EAAEc,QAAQ,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACL,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1E,CAAC,CAAC;EACJ,CAAC,EACD,CAACZ,WAAW,EAAEC,WAAW,CAC3B,CAAC;EAED,MAAMiB,iBAAiB,GAAG,IAAAR,kBAAW,EACnC,CAACS,WAAyB,EAAEP,WAAmB,KAAK;IAClD,OAAOO,WAAW,CAACC,GAAG,CAAEC,QAA0B,IAAK;MACrD;MACA,MAAMC,YAAY,GAAGb,cAAc,CAACY,QAAQ,CAACE,IAAI,EAAEX,WAAW,CAAC;MAE/D,OAAO;QAAE,GAAGS,QAAQ;QAAEE,IAAI,EAAED;MAAa,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,EACD,CAACb,cAAc,CACjB,CAAC;EAED,MAAMe,SAAS,GAAG,IAAAC,oBAAa,EAAC1B,cAAc,CAAC;EAE/C,MAAM2B,QAAQ,GAAG,IAAAhB,kBAAW,EACzBiB,KAAa,IAAK;IACjBzB,cAAc,GAAGyB,KAAK,CAAC;IAEvB,MAAMC,UAAU,GAAG,IAAAC,mBAAY,EAACF,KAAK,CAAC,CAACX,WAAW,CAAC,CAAC,CAACc,IAAI,CAAC,CAAC;IAC3D,MAAMlB,WAAW,GAAG,IAAImB,MAAM,CAACH,UAAU,EAAE,GAAG,CAAC;IAE/C,MAAMI,aAAa,GAAGR,SAAS,GAC3BN,iBAAiB,CAACnB,cAAc,EAAkBa,WAAW,CAAC,GAC9DH,cAAc,CAACV,cAAc,EAAea,WAAW,CAAC;IAE5DL,kBAAkB,CAACyB,aAAa,CAAC;EACnC,CAAC,EACD,CACEjC,cAAc,EACdyB,SAAS,EACTtB,cAAc,EACdO,cAAc,EACdS,iBAAiB,CAErB,CAAC;EAED,IAAAV,gBAAS,EAAC,MAAM;IACd,IAAIL,WAAW,EAAE;MACfuB,QAAQ,CAACvB,WAAW,CAAC;IACvB;EACF,CAAC,EAAE,CAACuB,QAAQ,EAAEvB,WAAW,CAAC,CAAC;EAE3B,OAAO;IACLA,WAAW;IACXC,cAAc;IACdE,eAAe;IACfC,kBAAkB;IAClBkB,aAAa,EAAED;EACjB,CAAC;AACH,CAAC;AAACS,OAAA,CAAAnC,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSelectAll = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _utils = require("../utils");
|
|
9
|
+
const useSelectAll = ({
|
|
10
|
+
options,
|
|
11
|
+
selectedItems,
|
|
12
|
+
isMultiple,
|
|
13
|
+
onValueChange,
|
|
14
|
+
listControls,
|
|
15
|
+
optionValue
|
|
16
|
+
}) => {
|
|
17
|
+
const [selectAll, setSelectAll] = (0, _react.useState)(false);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @description Handle "Select All" logic
|
|
21
|
+
*/
|
|
22
|
+
const handleSelectAll = (0, _react.useCallback)(() => {
|
|
23
|
+
setSelectAll(prevVal => {
|
|
24
|
+
let selectedValues = [];
|
|
25
|
+
|
|
26
|
+
// Remove disabled items from selection
|
|
27
|
+
const filteredOptions = (0, _utils.removeDisabledItems)(options);
|
|
28
|
+
|
|
29
|
+
// if everything has not been selected, select all the values in the list
|
|
30
|
+
if (!prevVal) {
|
|
31
|
+
selectedValues = filteredOptions.map(obj => obj[optionValue]);
|
|
32
|
+
}
|
|
33
|
+
onValueChange(selectedValues); // Send selected values to parent
|
|
34
|
+
return !prevVal;
|
|
35
|
+
});
|
|
36
|
+
if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {
|
|
37
|
+
listControls.selectAllCallback();
|
|
38
|
+
}
|
|
39
|
+
if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {
|
|
40
|
+
listControls.unselectAllCallback();
|
|
41
|
+
}
|
|
42
|
+
}, [options, optionValue, listControls, selectAll, onValueChange]);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Check if all items are selected
|
|
46
|
+
*/
|
|
47
|
+
const checkSelectAll = (0, _react.useCallback)(() => {
|
|
48
|
+
if ((0, _utils.removeDisabledItems)(options)?.length === selectedItems?.length) {
|
|
49
|
+
setSelectAll(true);
|
|
50
|
+
} else {
|
|
51
|
+
setSelectAll(false);
|
|
52
|
+
}
|
|
53
|
+
}, [options, selectedItems]);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* if the user decides to select the options one by one, this hook
|
|
57
|
+
* runs to check if everything has been selected so that the `selectAll checkbox` can be selected
|
|
58
|
+
*/
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
if (isMultiple) {
|
|
61
|
+
checkSelectAll();
|
|
62
|
+
}
|
|
63
|
+
}, [checkSelectAll, isMultiple, selectedItems]);
|
|
64
|
+
return {
|
|
65
|
+
selectAll,
|
|
66
|
+
handleSelectAll
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.useSelectAll = useSelectAll;
|
|
70
|
+
//# sourceMappingURL=use-select-all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_utils","useSelectAll","options","selectedItems","isMultiple","onValueChange","listControls","optionValue","selectAll","setSelectAll","useState","handleSelectAll","useCallback","prevVal","selectedValues","filteredOptions","removeDisabledItems","map","obj","selectAllCallback","unselectAllCallback","checkSelectAll","length","useEffect","exports"],"sourceRoot":"../../../src","sources":["hooks/use-select-all.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAcO,MAAME,YAAY,GAAGA,CAAC;EAC3BC,OAAO;EACPC,aAAa;EACbC,UAAU;EACVC,aAAa;EACbC,YAAY;EACZC;AACsB,CAAC,KAAK;EAC5B,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAU,KAAK,CAAC;;EAE1D;AACF;AACA;EACE,MAAMC,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACxCH,YAAY,CAAEI,OAAO,IAAK;MACxB,IAAIC,cAA+B,GAAG,EAAE;;MAExC;MACA,MAAMC,eAAe,GAAG,IAAAC,0BAAmB,EAACd,OAAO,CAAC;;MAEpD;MACA,IAAI,CAACW,OAAO,EAAE;QACZC,cAAc,GAAGC,eAAe,CAACE,GAAG,CACjCC,GAAG,IAAKA,GAAG,CAACX,WAAW,CAC1B,CAAoB;MACtB;MAEAF,aAAa,CAACS,cAAc,CAAC,CAAC,CAAC;MAC/B,OAAO,CAACD,OAAO;IACjB,CAAC,CAAC;IAEF,IAAI,OAAOP,YAAY,EAAEa,iBAAiB,KAAK,UAAU,IAAI,CAACX,SAAS,EAAE;MACvEF,YAAY,CAACa,iBAAiB,CAAC,CAAC;IAClC;IAEA,IAAI,OAAOb,YAAY,EAAEc,mBAAmB,KAAK,UAAU,IAAIZ,SAAS,EAAE;MACxEF,YAAY,CAACc,mBAAmB,CAAC,CAAC;IACpC;EACF,CAAC,EAAE,CAAClB,OAAO,EAAEK,WAAW,EAAED,YAAY,EAAEE,SAAS,EAAEH,aAAa,CAAC,CAAC;;EAElE;AACF;AACA;EACE,MAAMgB,cAAc,GAAG,IAAAT,kBAAW,EAAC,MAAM;IACvC,IAAI,IAAAI,0BAAmB,EAACd,OAAO,CAAC,EAAEoB,MAAM,KAAKnB,aAAa,EAAEmB,MAAM,EAAE;MAClEb,YAAY,CAAC,IAAI,CAAC;IACpB,CAAC,MAAM;MACLA,YAAY,CAAC,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACP,OAAO,EAAEC,aAAa,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,IAAAoB,gBAAS,EAAC,MAAM;IACd,IAAInB,UAAU,EAAE;MACdiB,cAAc,CAAC,CAAC;IAClB;EACF,CAAC,EAAE,CAACA,cAAc,EAAEjB,UAAU,EAAED,aAAa,CAAC,CAAC;EAE/C,OAAO;IAAEK,SAAS;IAAEG;EAAgB,CAAC;AACvC,CAAC;AAACa,OAAA,CAAAvB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useSelectionHandler = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
const useSelectionHandler = ({
|
|
9
|
+
initialSelectedValue,
|
|
10
|
+
isMultiple,
|
|
11
|
+
maxSelectableItems,
|
|
12
|
+
onValueChange,
|
|
13
|
+
closeModal,
|
|
14
|
+
autoCloseOnSelect
|
|
15
|
+
}) => {
|
|
16
|
+
// Initialize state based on whether it's multiple selection or not
|
|
17
|
+
const [selectedItem, setSelectedItem] = (0, _react.useState)(isMultiple ? '' : initialSelectedValue);
|
|
18
|
+
const [selectedItems, setSelectedItems] = (0, _react.useState)(isMultiple ? initialSelectedValue : []);
|
|
19
|
+
const handleSingleSelection = (0, _react.useCallback)(value => {
|
|
20
|
+
if (selectedItem === value) {
|
|
21
|
+
setSelectedItem('');
|
|
22
|
+
onValueChange(''); // Send null to parent when deselected
|
|
23
|
+
} else {
|
|
24
|
+
setSelectedItem(value);
|
|
25
|
+
onValueChange(value); // Send selected value to parent
|
|
26
|
+
|
|
27
|
+
if (autoCloseOnSelect) {
|
|
28
|
+
closeModal(); // close modal upon selection
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}, [selectedItem, onValueChange, autoCloseOnSelect, closeModal]);
|
|
32
|
+
const handleMultipleSelections = (0, _react.useCallback)(value => {
|
|
33
|
+
setSelectedItems(prevVal => {
|
|
34
|
+
let selectedValues = [...prevVal];
|
|
35
|
+
if (selectedValues.includes(value)) {
|
|
36
|
+
// Remove item
|
|
37
|
+
selectedValues = selectedValues.filter(item => item !== value);
|
|
38
|
+
} else {
|
|
39
|
+
// Add item
|
|
40
|
+
if (maxSelectableItems && selectedValues.length >= maxSelectableItems) {
|
|
41
|
+
return selectedValues;
|
|
42
|
+
}
|
|
43
|
+
selectedValues.push(value);
|
|
44
|
+
}
|
|
45
|
+
onValueChange(selectedValues); // Send selected values to parent
|
|
46
|
+
return selectedValues;
|
|
47
|
+
});
|
|
48
|
+
}, [maxSelectableItems, onValueChange]);
|
|
49
|
+
|
|
50
|
+
// Return the relevant state and handlers
|
|
51
|
+
return {
|
|
52
|
+
selectedItem,
|
|
53
|
+
selectedItems,
|
|
54
|
+
handleSingleSelection,
|
|
55
|
+
handleMultipleSelections,
|
|
56
|
+
setSelectedItems,
|
|
57
|
+
// Expose for potential manual control
|
|
58
|
+
setSelectedItem // Expose for potential manual control
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.useSelectionHandler = useSelectionHandler;
|
|
62
|
+
//# sourceMappingURL=use-selection-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useSelectionHandler","initialSelectedValue","isMultiple","maxSelectableItems","onValueChange","closeModal","autoCloseOnSelect","selectedItem","setSelectedItem","useState","selectedItems","setSelectedItems","handleSingleSelection","useCallback","value","handleMultipleSelections","prevVal","selectedValues","includes","filter","item","length","push","exports"],"sourceRoot":"../../../src","sources":["hooks/use-selection-handler.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAYO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,oBAAoB;EACpBC,UAAU;EACVC,kBAAkB;EAClBC,aAAa;EACbC,UAAU;EACVC;AACwB,CAAC,KAAK;EAC9B;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAC9CP,UAAU,GAAG,EAAE,GAAID,oBACrB,CAAC;EACD,MAAM,CAACS,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAChDP,UAAU,GAAID,oBAAoB,GAAuB,EAC3D,CAAC;EAED,MAAMW,qBAAqB,GAAG,IAAAC,kBAAW,EACtCC,KAAoB,IAAK;IACxB,IAAIP,YAAY,KAAKO,KAAK,EAAE;MAC1BN,eAAe,CAAC,EAAE,CAAC;MACnBJ,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC,MAAM;MACLI,eAAe,CAACM,KAAK,CAAC;MACtBV,aAAa,CAACU,KAAK,CAAC,CAAC,CAAC;;MAEtB,IAAIR,iBAAiB,EAAE;QACrBD,UAAU,CAAC,CAAC,CAAC,CAAC;MAChB;IACF;EACF,CAAC,EACD,CAACE,YAAY,EAAEH,aAAa,EAAEE,iBAAiB,EAAED,UAAU,CAC7D,CAAC;EAED,MAAMU,wBAAwB,GAAG,IAAAF,kBAAW,EACzCC,KAAoB,IAAK;IACxBH,gBAAgB,CAAEK,OAAO,IAAK;MAC5B,IAAIC,cAAc,GAAG,CAAC,GAAGD,OAAO,CAAC;MAEjC,IAAIC,cAAc,CAACC,QAAQ,CAACJ,KAAK,CAAC,EAAE;QAClC;QACAG,cAAc,GAAGA,cAAc,CAACE,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKN,KAAK,CAAC;MAClE,CAAC,MAAM;QACL;QACA,IACEX,kBAAkB,IAClBc,cAAc,CAACI,MAAM,IAAIlB,kBAAkB,EAC3C;UACA,OAAOc,cAAc;QACvB;QACAA,cAAc,CAACK,IAAI,CAACR,KAAK,CAAC;MAC5B;MAEAV,aAAa,CAACa,cAAc,CAAC,CAAC,CAAC;MAC/B,OAAOA,cAAc;IACvB,CAAC,CAAC;EACJ,CAAC,EACD,CAACd,kBAAkB,EAAEC,aAAa,CACpC,CAAC;;EAED;EACA,OAAO;IACLG,YAAY;IACZG,aAAa;IACbE,qBAAqB;IACrBG,wBAAwB;IACxBJ,gBAAgB;IAAE;IAClBH,eAAe,CAAE;EACnB,CAAC;AACH,CAAC;AAACe,OAAA,CAAAvB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|