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.
Files changed (125) hide show
  1. package/README.md +40 -95
  2. package/lib/commonjs/components/CheckBox/index.js +19 -13
  3. package/lib/commonjs/components/CheckBox/index.js.map +1 -1
  4. package/lib/commonjs/components/CustomModal/index.js +12 -16
  5. package/lib/commonjs/components/CustomModal/index.js.map +1 -1
  6. package/lib/commonjs/components/Dropdown/Dropdown.js +3 -2
  7. package/lib/commonjs/components/Dropdown/Dropdown.js.map +1 -1
  8. package/lib/commonjs/components/Dropdown/DropdownListItem.js +2 -11
  9. package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +1 -1
  10. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js +14 -14
  11. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
  12. package/lib/commonjs/components/Input/index.js.map +1 -1
  13. package/lib/commonjs/components/{Dropdown → List}/DropdownFlatList.js +7 -28
  14. package/lib/commonjs/components/List/DropdownFlatList.js.map +1 -0
  15. package/lib/commonjs/components/{Dropdown → List}/DropdownSectionList.js +6 -24
  16. package/lib/commonjs/components/List/DropdownSectionList.js.map +1 -0
  17. package/lib/commonjs/hooks/index.js +61 -0
  18. package/lib/commonjs/hooks/index.js.map +1 -0
  19. package/lib/commonjs/hooks/use-index-of-selected-item.js +49 -0
  20. package/lib/commonjs/hooks/use-index-of-selected-item.js.map +1 -0
  21. package/lib/commonjs/hooks/use-modal.js +37 -0
  22. package/lib/commonjs/hooks/use-modal.js.map +1 -0
  23. package/lib/commonjs/hooks/use-search.js +58 -0
  24. package/lib/commonjs/hooks/use-search.js.map +1 -0
  25. package/lib/commonjs/hooks/use-select-all.js +70 -0
  26. package/lib/commonjs/hooks/use-select-all.js.map +1 -0
  27. package/lib/commonjs/hooks/use-selection-handler.js +62 -0
  28. package/lib/commonjs/hooks/use-selection-handler.js.map +1 -0
  29. package/lib/commonjs/index.js +120 -260
  30. package/lib/commonjs/index.js.map +1 -1
  31. package/lib/commonjs/utils/index.js +40 -5
  32. package/lib/commonjs/utils/index.js.map +1 -1
  33. package/lib/module/components/CheckBox/index.js +19 -13
  34. package/lib/module/components/CheckBox/index.js.map +1 -1
  35. package/lib/module/components/CustomModal/index.js +12 -15
  36. package/lib/module/components/CustomModal/index.js.map +1 -1
  37. package/lib/module/components/Dropdown/Dropdown.js +3 -2
  38. package/lib/module/components/Dropdown/Dropdown.js.map +1 -1
  39. package/lib/module/components/Dropdown/DropdownListItem.js +2 -11
  40. package/lib/module/components/Dropdown/DropdownListItem.js.map +1 -1
  41. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js +14 -14
  42. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
  43. package/lib/module/components/Input/index.js.map +1 -1
  44. package/lib/module/components/{Dropdown → List}/DropdownFlatList.js +7 -28
  45. package/lib/module/components/List/DropdownFlatList.js.map +1 -0
  46. package/lib/module/components/{Dropdown → List}/DropdownSectionList.js +6 -24
  47. package/lib/module/components/List/DropdownSectionList.js.map +1 -0
  48. package/lib/module/hooks/index.js +6 -0
  49. package/lib/module/hooks/index.js.map +1 -0
  50. package/lib/module/hooks/use-index-of-selected-item.js +42 -0
  51. package/lib/module/hooks/use-index-of-selected-item.js.map +1 -0
  52. package/lib/module/hooks/use-modal.js +30 -0
  53. package/lib/module/hooks/use-modal.js.map +1 -0
  54. package/lib/module/hooks/use-search.js +51 -0
  55. package/lib/module/hooks/use-search.js.map +1 -0
  56. package/lib/module/hooks/use-select-all.js +63 -0
  57. package/lib/module/hooks/use-select-all.js.map +1 -0
  58. package/lib/module/hooks/use-selection-handler.js +55 -0
  59. package/lib/module/hooks/use-selection-handler.js.map +1 -0
  60. package/lib/module/index.js +123 -262
  61. package/lib/module/index.js.map +1 -1
  62. package/lib/module/utils/index.js +36 -4
  63. package/lib/module/utils/index.js.map +1 -1
  64. package/lib/typescript/src/components/CheckBox/checkbox.types.d.ts +4 -2
  65. package/lib/typescript/src/components/CheckBox/checkbox.types.d.ts.map +1 -1
  66. package/lib/typescript/src/components/CheckBox/index.d.ts +2 -2
  67. package/lib/typescript/src/components/CheckBox/index.d.ts.map +1 -1
  68. package/lib/typescript/src/components/CustomModal/index.d.ts +3 -1
  69. package/lib/typescript/src/components/CustomModal/index.d.ts.map +1 -1
  70. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +1 -1
  71. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts.map +1 -1
  72. package/lib/typescript/src/components/Dropdown/DropdownListItem.d.ts +1 -1
  73. package/lib/typescript/src/components/Dropdown/DropdownListItem.d.ts.map +1 -1
  74. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsView.d.ts +1 -1
  75. package/lib/typescript/src/components/Input/index.d.ts +5 -1
  76. package/lib/typescript/src/components/Input/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/List/DropdownFlatList.d.ts +6 -0
  78. package/lib/typescript/src/components/List/DropdownFlatList.d.ts.map +1 -0
  79. package/lib/typescript/src/components/List/DropdownSectionList.d.ts +4 -0
  80. package/lib/typescript/src/components/List/DropdownSectionList.d.ts.map +1 -0
  81. package/lib/typescript/src/hooks/index.d.ts +6 -0
  82. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  83. package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts +23 -0
  84. package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts.map +1 -0
  85. package/lib/typescript/src/hooks/use-modal.d.ts +13 -0
  86. package/lib/typescript/src/hooks/use-modal.d.ts.map +1 -0
  87. package/lib/typescript/src/hooks/use-search.d.ts +16 -0
  88. package/lib/typescript/src/hooks/use-search.d.ts.map +1 -0
  89. package/lib/typescript/src/hooks/use-select-all.d.ts +18 -0
  90. package/lib/typescript/src/hooks/use-select-all.d.ts.map +1 -0
  91. package/lib/typescript/src/hooks/use-selection-handler.d.ts +19 -0
  92. package/lib/typescript/src/hooks/use-selection-handler.d.ts.map +1 -0
  93. package/lib/typescript/src/index.d.ts +19 -2
  94. package/lib/typescript/src/index.d.ts.map +1 -1
  95. package/lib/typescript/src/types/index.types.d.ts +33 -53
  96. package/lib/typescript/src/types/index.types.d.ts.map +1 -1
  97. package/lib/typescript/src/utils/index.d.ts +17 -3
  98. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  99. package/package.json +21 -7
  100. package/src/components/CheckBox/checkbox.types.ts +2 -2
  101. package/src/components/CheckBox/index.tsx +23 -47
  102. package/src/components/CustomModal/index.tsx +15 -23
  103. package/src/components/Dropdown/Dropdown.tsx +3 -2
  104. package/src/components/Dropdown/DropdownListItem.tsx +1 -14
  105. package/src/components/Dropdown/DropdownSelectedItemsView.tsx +13 -13
  106. package/src/components/Input/index.tsx +13 -2
  107. package/src/components/{Dropdown → List}/DropdownFlatList.tsx +11 -23
  108. package/src/components/{Dropdown → List}/DropdownSectionList.tsx +10 -22
  109. package/src/hooks/index.ts +5 -0
  110. package/src/hooks/use-index-of-selected-item.ts +49 -0
  111. package/src/hooks/use-modal.ts +40 -0
  112. package/src/hooks/use-search.ts +95 -0
  113. package/src/hooks/use-select-all.ts +79 -0
  114. package/src/hooks/use-selection-handler.ts +81 -0
  115. package/src/index.tsx +277 -443
  116. package/src/types/index.types.ts +41 -56
  117. package/src/utils/index.ts +60 -3
  118. package/lib/commonjs/components/Dropdown/DropdownFlatList.js.map +0 -1
  119. package/lib/commonjs/components/Dropdown/DropdownSectionList.js.map +0 -1
  120. package/lib/module/components/Dropdown/DropdownFlatList.js.map +0 -1
  121. package/lib/module/components/Dropdown/DropdownSectionList.js.map +0 -1
  122. package/lib/typescript/src/components/Dropdown/DropdownFlatList.d.ts +0 -6
  123. package/lib/typescript/src/components/Dropdown/DropdownFlatList.d.ts.map +0 -1
  124. package/lib/typescript/src/components/Dropdown/DropdownSectionList.d.ts +0 -4
  125. package/lib/typescript/src/components/Dropdown/DropdownSectionList.d.ts.map +0 -1
@@ -1,16 +1,17 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React, { useState, useEffect, useCallback, useRef } from 'react';
3
- import { TouchableOpacity, StyleSheet, View, Platform } from 'react-native';
2
+ import React, { forwardRef, useCallback, useEffect, useImperativeHandle } from 'react';
3
+ import { TouchableOpacity, StyleSheet, View } from 'react-native';
4
4
  import Input from './components/Input';
5
5
  import CheckBox from './components/CheckBox';
6
6
  import Dropdown from './components/Dropdown/Dropdown';
7
- import DropdownFlatList from './components/Dropdown/DropdownFlatList';
8
- import DropdownSectionList from './components/Dropdown/DropdownSectionList';
7
+ import DropdownFlatList from './components/List/DropdownFlatList';
8
+ import DropdownSectionList from './components/List/DropdownSectionList';
9
9
  import CustomModal from './components/CustomModal';
10
10
  import { colors } from './styles/colors';
11
11
  import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
12
- import { escapeRegExp, extractPropertyFromArray } from './utils';
13
- export const DropdownSelect = ({
12
+ import { extractPropertyFromArray, getLabelsOfSelectedItems } from './utils';
13
+ import { useSelectionHandler, useModal, useSearch, useIndexOfSelectedItem, useSelectAll } from './hooks';
14
+ export const DropdownSelect = /*#__PURE__*/forwardRef(({
14
15
  testID,
15
16
  placeholder,
16
17
  label,
@@ -20,8 +21,8 @@ export const DropdownSelect = ({
20
21
  optionLabel = DEFAULT_OPTION_LABEL,
21
22
  optionValue = DEFAULT_OPTION_VALUE,
22
23
  onValueChange,
23
- selectedValue,
24
- isMultiple,
24
+ isMultiple = false,
25
+ selectedValue = isMultiple ? [] : '',
25
26
  isSearchable,
26
27
  dropdownIcon,
27
28
  labelStyle,
@@ -34,277 +35,151 @@ export const DropdownSelect = ({
34
35
  dropdownHelperTextStyle,
35
36
  selectedItemStyle,
36
37
  multipleSelectedItemStyle,
37
- modalBackgroundStyle,
38
- // kept for backwards compatibility
39
- modalOptionsContainerStyle,
40
- // kept for backwards compatibility
41
- searchInputStyle,
42
- // kept for backwards compatibility
43
38
  primaryColor = colors.gray,
44
- disabled,
45
- checkboxSize,
46
- // kept for backwards compatibility
47
- checkboxStyle,
48
- // kept for backwards compatibility
49
- checkboxLabelStyle,
50
- // kept for backwards compatibility
51
- checkboxComponentStyles,
52
- // kept for backwards compatibility
53
- checkboxComponent,
54
- // kept for backwards compatibility
39
+ disabled = false,
55
40
  listHeaderComponent,
56
41
  listFooterComponent,
57
42
  listComponentStyles,
58
43
  listEmptyComponent,
59
- modalProps,
60
- // kept for backwards compatibility
61
- hideModal = false,
62
44
  listControls,
63
45
  searchControls,
64
46
  modalControls,
65
47
  checkboxControls,
66
48
  autoCloseOnSelect = true,
49
+ maxSelectableItems,
67
50
  ...rest
68
- }) => {
69
- const [newOptions, setNewOptions] = useState([]);
70
- const [open, setOpen] = useState(false);
71
- const [selectAll, setSelectAll] = useState(false);
72
- const [selectedItem, setSelectedItem] = useState(''); // for single selection
73
- const [selectedItems, setSelectedItems] = useState([]); // for multiple selection
74
- const [searchValue, setSearchValue] = useState('');
75
- const [listIndex, setListIndex] = useState({
76
- itemIndex: -1,
77
- sectionIndex: -1
78
- }); // for scrollToIndex in Sectionlist and Flatlist
79
-
80
- useEffect(() => {
81
- setNewOptions(options);
82
- return () => {};
83
- }, [options]);
84
- useEffect(() => {
85
- isMultiple ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : []) : setSelectedItem(selectedValue || '');
86
- return () => {};
87
- }, [selectedValue, isMultiple, onValueChange]);
88
-
51
+ }, ref) => {
89
52
  /*===========================================
90
- * List type
53
+ * Expose the methods to the parent using
54
+ * useImperativeHandle
91
55
  *==========================================*/
92
-
93
- // check the structure of the new options array to determine if it is a section list or a
94
- const isSectionList = newOptions?.some(item => item.title && item.data && Array.isArray(item.data));
95
- const ListTypeComponent = isSectionList ? DropdownSectionList : DropdownFlatList;
96
- const modifiedSectionData = extractPropertyFromArray(newOptions, 'data')?.flat();
97
-
98
- /**
99
- * `options` is the original array, it never changes. (Do not use except you really need the original array) .
100
- * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value may change.
101
- * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
102
- */
103
- const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;
56
+ useImperativeHandle(ref, () => ({
57
+ open: () => openModal(),
58
+ close: () => closeModal()
59
+ }));
104
60
 
105
61
  /*===========================================
106
- * Selection handlers
62
+ * Search
107
63
  *==========================================*/
108
- const handleSingleSelection = value => {
109
- if (selectedItem === value) {
110
- setSelectedItem('');
111
- onValueChange(null); // send value to parent
112
- } else {
113
- setSelectedItem(value);
114
- onValueChange(value); // send value to parent
64
+ const {
65
+ searchValue,
66
+ setSearchValue,
67
+ setFilteredOptions,
68
+ filteredOptions,
69
+ isSectionList
70
+ } = useSearch({
71
+ initialOptions: options,
72
+ optionLabel,
73
+ optionValue,
74
+ searchCallback: useCallback(value => searchControls?.searchCallback?.(value), [searchControls])
75
+ });
115
76
 
116
- if (autoCloseOnSelect) {
117
- setOpen(false); // close modal upon selection
118
- }
119
- }
120
- };
121
- const handleMultipleSelections = value => {
122
- setSelectedItems(prevVal => {
123
- let selectedValues = [...prevVal];
124
- if (selectedValues?.includes(value)) {
125
- selectedValues = selectedValues.filter(item => item !== value);
126
- } else {
127
- selectedValues.push(value);
128
- }
129
- onValueChange(selectedValues); // send value to parent
130
- return selectedValues;
131
- });
132
- };
133
- const removeDisabledItems = items => {
134
- return items?.filter(item => !item.disabled);
135
- };
136
- const handleSelectAll = () => {
137
- setSelectAll(prevVal => {
138
- let selectedValues = [];
77
+ /*===========================================
78
+ * setIndexOfSelectedItem - For ScrollToIndex
79
+ *==========================================*/
80
+ const {
81
+ listIndex,
82
+ setListIndex,
83
+ setIndexOfSelectedItem
84
+ } = useIndexOfSelectedItem({
85
+ options,
86
+ optionLabel,
87
+ isSectionList
88
+ });
139
89
 
140
- // don't select disabled items
141
- const filteredOptions = removeDisabledItems(isSectionList ? extractPropertyFromArray(options, 'data').flat() : options);
142
- if (!prevVal) {
143
- selectedValues = filteredOptions.map(obj => obj[optionValue]);
144
- }
145
- setSelectedItems(selectedValues);
146
- onValueChange(selectedValues); // send value to parent
147
- return !prevVal;
90
+ /*===========================================
91
+ * Reset component states
92
+ *==========================================*/
93
+ const resetOptionsRelatedState = useCallback(() => {
94
+ setSearchValue('');
95
+ setFilteredOptions(options);
96
+ setListIndex({
97
+ itemIndex: -1,
98
+ sectionIndex: -1
148
99
  });
149
- if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {
150
- listControls.selectAllCallback();
151
- }
152
- if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {
153
- listControls.unselectAllCallback();
154
- }
155
- };
100
+ }, [options, setFilteredOptions, setListIndex, setSearchValue]);
156
101
 
157
102
  /*===========================================
158
- * Handle side effects
103
+ * Modal
159
104
  *==========================================*/
160
- const checkSelectAll = useCallback(selectedValues => {
161
- //if the list contains disabled values, those values will not be selected
162
- if (removeDisabledItems(modifiedOptions)?.length === selectedValues?.length) {
163
- setSelectAll(true);
164
- } else {
165
- setSelectAll(false);
166
- }
167
- }, [modifiedOptions]);
168
-
169
- // anytime the selected items change, check if it is time to set `selectAll` to true
170
- useEffect(() => {
171
- if (isMultiple) {
172
- checkSelectAll(selectedItems);
173
- }
174
- return () => {};
175
- }, [checkSelectAll, isMultiple, selectedItems]);
105
+ const {
106
+ isVisible,
107
+ openModal,
108
+ closeModal
109
+ } = useModal({
110
+ resetOptionsRelatedState,
111
+ disabled,
112
+ modalControls
113
+ });
176
114
 
177
115
  /*===========================================
178
- * Get label handler
116
+ * Single and multiple selection Hook
179
117
  *==========================================*/
180
- const getSelectedItemsLabel = () => {
181
- if (isMultiple && Array.isArray(selectedItems)) {
182
- let selectedLabels = [];
183
- selectedItems?.forEach(element => {
184
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
185
- selectedLabels.push(selectedItemLabel);
186
- });
187
- return selectedLabels;
188
- }
189
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
190
- return selectedItemLabel?.[optionLabel];
191
- };
118
+ const {
119
+ selectedItem,
120
+ selectedItems,
121
+ setSelectedItem,
122
+ setSelectedItems,
123
+ handleSingleSelection,
124
+ handleMultipleSelections
125
+ } = useSelectionHandler({
126
+ initialSelectedValue: selectedValue,
127
+ isMultiple,
128
+ maxSelectableItems,
129
+ onValueChange,
130
+ closeModal: () => closeModal(),
131
+ autoCloseOnSelect
132
+ });
133
+ useEffect(() => {
134
+ isMultiple ? setSelectedItems(selectedValue) : setSelectedItem(selectedValue);
135
+ return () => {};
136
+ }, [selectedValue, setSelectedItems, setSelectedItem, isMultiple, onValueChange]);
192
137
 
193
138
  /*===========================================
194
- * Search
139
+ * List type
195
140
  *==========================================*/
196
- const onSearch = value => {
197
- setSearchValue(value);
198
- searchControls?.searchCallback?.(value);
199
- let searchText = escapeRegExp(value).toString().toLocaleLowerCase().trim();
200
- const regexFilter = new RegExp(searchText, 'i');
201
-
202
- // Because the options array will be mutated while searching, we have to search with the original array
203
- const searchResults = isSectionList ? searchSectionList(options, regexFilter) : searchFlatList(options, regexFilter);
204
- setNewOptions(searchResults);
205
- };
206
- const searchFlatList = (flatList, regexFilter) => {
207
- const searchResults = flatList.filter(item => {
208
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
209
- return true;
210
- }
211
- return false;
212
- });
213
- return searchResults;
214
- };
215
- const searchSectionList = (sectionList, regexFilter) => {
216
- const searchResults = sectionList.map(listItem => {
217
- const filteredData = listItem.data.filter(item => {
218
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
219
- return true;
220
- }
221
- return false;
222
- });
223
- return {
224
- ...listItem,
225
- data: filteredData
226
- };
227
- });
228
- return searchResults;
229
- };
230
-
231
- /**
232
- * To prevent triggering on modalProps.onDismiss on first render, we perform this check
233
- */
234
- const hasComponentBeenRendered = useRef(false);
141
+ const ListTypeComponent = isSectionList ? DropdownSectionList : DropdownFlatList;
142
+ const modifiedSectionData = extractPropertyFromArray(filteredOptions, 'data')?.flat();
235
143
 
236
144
  /**
237
- * Explicitly adding this here because the onDismiss only works on iOS Modals
238
- * https://reactnative.dev/docs/modal#ondismiss-ios
145
+ * `options` is the original array, it never changes. (Do not use except you really need the original array) .
146
+ * `filteredOptions` is a copy of options but can be mutated by `setFilteredOptions`, as a result, the value may change.
147
+ * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
239
148
  */
240
- useEffect(() => {
241
- if (hasComponentBeenRendered.current && !open && Platform.OS === 'android') {
242
- modalControls?.modalProps?.onDismiss?.();
243
- }
244
- hasComponentBeenRendered.current = true;
245
- }, [open]);
149
+ const modifiedOptions = isSectionList ? modifiedSectionData : filteredOptions;
246
150
 
247
151
  /*===========================================
248
- * Modal
249
- *==========================================*/
250
- const openModal = () => {
251
- if (disabled) {
252
- return;
253
- }
254
- setOpen(true);
255
- resetComponent();
256
- };
257
- const closeModal = () => {
258
- setOpen(false);
259
- resetComponent();
260
- };
261
- const resetComponent = () => {
262
- setSearchValue('');
263
- setNewOptions(options);
264
- setListIndex({
265
- itemIndex: -1,
266
- sectionIndex: -1
267
- });
268
- };
269
- useEffect(() => {
270
- if (hideModal) {
271
- setOpen(false);
272
- }
273
- return () => {};
274
- }, [hideModal]);
275
-
276
- /*===========================================
277
- * setIndexOfSelectedItem - For ScrollToIndex
152
+ * Select all Hook
278
153
  *==========================================*/
279
- const setIndexOfSelectedItem = selectedLabel => {
280
- isSectionList ? options?.map((item, sectionIndex) => {
281
- item?.data?.find((dataItem, itemIndex) => {
282
- if (dataItem[optionLabel] === selectedLabel) {
283
- setListIndex({
284
- sectionIndex,
285
- itemIndex
286
- });
287
- }
288
- });
289
- }) : options?.find((item, itemIndex) => {
290
- if (item[optionLabel] === selectedLabel) {
291
- setListIndex({
292
- itemIndex
293
- });
294
- }
295
- });
296
- };
154
+ const {
155
+ selectAll,
156
+ handleSelectAll
157
+ } = useSelectAll({
158
+ options: modifiedOptions,
159
+ selectedItems,
160
+ isMultiple,
161
+ onValueChange,
162
+ listControls,
163
+ optionValue
164
+ });
297
165
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, _extends({
298
166
  testID: testID,
299
167
  label: label,
300
168
  placeholder: placeholder,
301
169
  helperText: helperText,
302
170
  error: error,
303
- getSelectedItemsLabel: getSelectedItemsLabel,
171
+ labelsOfSelectedItems: getLabelsOfSelectedItems({
172
+ isMultiple,
173
+ optionLabel,
174
+ optionValue,
175
+ selectedItem,
176
+ selectedItems,
177
+ modifiedOptions
178
+ }),
304
179
  selectedItem: selectedItem,
305
180
  selectedItems: selectedItems,
306
- openModal: openModal,
307
- closeModal: closeModal,
181
+ openModal: () => openModal(),
182
+ closeModal: () => closeModal(),
308
183
  labelStyle: labelStyle,
309
184
  dropdownIcon: dropdownIcon,
310
185
  dropdownStyle: dropdownStyle,
@@ -321,41 +196,32 @@ export const DropdownSelect = ({
321
196
  placeholderStyle: placeholderStyle,
322
197
  setIndexOfSelectedItem: setIndexOfSelectedItem
323
198
  }, rest)), /*#__PURE__*/React.createElement(CustomModal, {
324
- visible: open,
325
- modalBackgroundStyle: modalBackgroundStyle // kept for backwards compatibility
326
- ,
327
- modalOptionsContainerStyle: modalOptionsContainerStyle // kept for backwards compatibility
328
- ,
329
- closeModal: closeModal,
330
- modalControls: modalControls,
331
- modalProps: modalProps // kept for backwards compatibility
199
+ visible: isVisible,
200
+ onRequestClose: () => closeModal(),
201
+ modalControls: modalControls
332
202
  }, /*#__PURE__*/React.createElement(ListTypeComponent, {
333
203
  ListHeaderComponent: /*#__PURE__*/React.createElement(React.Fragment, null, isSearchable && /*#__PURE__*/React.createElement(Input, _extends({
334
204
  value: searchValue,
335
- onChangeText: text => onSearch(text),
336
- style: searchControls?.textInputStyle || searchInputStyle,
205
+ onChangeText: text => setSearchValue(text),
206
+ style: searchControls?.textInputStyle,
337
207
  primaryColor: primaryColor,
338
208
  textInputContainerStyle: searchControls?.textInputContainerStyle,
339
- placeholder: searchControls?.textInputProps?.placeholder || 'Search'
209
+ placeholder: searchControls?.textInputProps?.placeholder || 'Search',
210
+ "aria-label": searchControls?.textInputProps?.placeholder || 'Search'
340
211
  }, searchControls?.textInputProps)), listHeaderComponent, !listControls?.hideSelectAll && isMultiple && modifiedOptions?.length > 1 && /*#__PURE__*/React.createElement(View, {
341
212
  style: styles.optionsContainerStyle
342
213
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
343
- onPress: () => {}
214
+ accessible: false
344
215
  }, /*#__PURE__*/React.createElement(CheckBox, {
345
216
  value: selectAll,
346
217
  label: selectAll ? listControls?.unselectAllText || 'Clear all' : listControls?.selectAllText || 'Select all',
347
218
  onChange: () => handleSelectAll(),
348
219
  primaryColor: primaryColor,
349
- checkboxControls: checkboxControls,
350
- checkboxSize: checkboxSize,
351
- checkboxStyle: checkboxStyle,
352
- checkboxLabelStyle: checkboxLabelStyle,
353
- checkboxComponentStyles: checkboxComponentStyles,
354
- checkboxComponent: checkboxComponent
220
+ checkboxControls: checkboxControls
355
221
  })))),
356
222
  ListFooterComponent: listFooterComponent,
357
223
  listComponentStyles: listComponentStyles,
358
- options: newOptions,
224
+ options: filteredOptions,
359
225
  optionLabel: optionLabel,
360
226
  optionValue: optionValue,
361
227
  isMultiple: isMultiple,
@@ -365,17 +231,12 @@ export const DropdownSelect = ({
365
231
  handleMultipleSelections: handleMultipleSelections,
366
232
  handleSingleSelection: handleSingleSelection,
367
233
  primaryColor: primaryColor,
368
- checkboxSize: checkboxSize,
369
- checkboxStyle: checkboxStyle,
370
- checkboxLabelStyle: checkboxLabelStyle,
371
- checkboxComponentStyles: checkboxComponentStyles,
372
- checkboxComponent: checkboxComponent,
373
234
  checkboxControls: checkboxControls,
374
235
  listIndex: listIndex,
375
236
  listEmptyComponent: listEmptyComponent,
376
237
  emptyListMessage: listControls?.emptyListMessage
377
238
  })));
378
- };
239
+ });
379
240
  const styles = StyleSheet.create({
380
241
  optionsContainerStyle: {
381
242
  paddingHorizontal: 20,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","useRef","TouchableOpacity","StyleSheet","View","Platform","Input","CheckBox","Dropdown","DropdownFlatList","DropdownSectionList","CustomModal","colors","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","escapeRegExp","extractPropertyFromArray","DropdownSelect","testID","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainerStyle","searchInputStyle","primaryColor","gray","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","listEmptyComponent","modalProps","hideModal","listControls","searchControls","modalControls","checkboxControls","autoCloseOnSelect","rest","newOptions","setNewOptions","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","searchValue","setSearchValue","listIndex","setListIndex","itemIndex","sectionIndex","Array","isArray","isSectionList","some","item","title","data","ListTypeComponent","modifiedSectionData","flat","modifiedOptions","handleSingleSelection","value","handleMultipleSelections","prevVal","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","map","obj","selectAllCallback","unselectAllCallback","checkSelectAll","length","getSelectedItemsLabel","selectedLabels","forEach","element","selectedItemLabel","find","onSearch","searchCallback","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","listItem","filteredData","hasComponentBeenRendered","current","OS","onDismiss","openModal","resetComponent","closeModal","setIndexOfSelectedItem","selectedLabel","dataItem","createElement","Fragment","_extends","visible","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","styles","optionsContainerStyle","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","create","paddingHorizontal","paddingVertical","flexDirection"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","TouchableOpacity","StyleSheet","View","Input","CheckBox","Dropdown","DropdownFlatList","DropdownSectionList","CustomModal","colors","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","extractPropertyFromArray","getLabelsOfSelectedItems","useSelectionHandler","useModal","useSearch","useIndexOfSelectedItem","useSelectAll","DropdownSelect","testID","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","isMultiple","selectedValue","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","primaryColor","gray","disabled","listHeaderComponent","listFooterComponent","listComponentStyles","listEmptyComponent","listControls","searchControls","modalControls","checkboxControls","autoCloseOnSelect","maxSelectableItems","rest","ref","open","openModal","close","closeModal","searchValue","setSearchValue","setFilteredOptions","filteredOptions","isSectionList","initialOptions","searchCallback","value","listIndex","setListIndex","setIndexOfSelectedItem","resetOptionsRelatedState","itemIndex","sectionIndex","isVisible","selectedItem","selectedItems","setSelectedItem","setSelectedItems","handleSingleSelection","handleMultipleSelections","initialSelectedValue","ListTypeComponent","modifiedSectionData","flat","modifiedOptions","selectAll","handleSelectAll","createElement","Fragment","_extends","labelsOfSelectedItems","visible","onRequestClose","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","length","styles","optionsContainerStyle","accessible","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","create","paddingHorizontal","paddingVertical","flexDirection"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,3 @@
1
- /**
2
- * Extract property from array
3
- */
4
-
5
1
  export const extractPropertyFromArray = (arr, property) => {
6
2
  let extractedValue = arr?.map(item => item[property]);
7
3
  return extractedValue;
@@ -9,4 +5,40 @@ export const extractPropertyFromArray = (arr, property) => {
9
5
  export const escapeRegExp = text => {
10
6
  return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
11
7
  };
8
+ export const removeDisabledItems = items => {
9
+ return items?.filter(item => !item.disabled);
10
+ };
11
+ export const isSectionList = options => {
12
+ return options.some(item => item.title && item.data && Array.isArray(item.data));
13
+ };
14
+
15
+ /**
16
+ *
17
+ * @description get the labels of the items that were selected from the options array for either multiple or single selections
18
+ * @returns
19
+ */
20
+ export const getLabelsOfSelectedItems = ({
21
+ isMultiple,
22
+ optionLabel,
23
+ optionValue,
24
+ selectedItem,
25
+ selectedItems,
26
+ modifiedOptions
27
+ }) => {
28
+ // Multiple select
29
+ if (isMultiple && Array.isArray(selectedItems)) {
30
+ let selectedLabels = [];
31
+ selectedItems?.forEach(element => {
32
+ let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
33
+ if (selectedItemLabel !== '') {
34
+ selectedLabels.push(selectedItemLabel);
35
+ }
36
+ });
37
+ return selectedLabels;
38
+ }
39
+
40
+ // Single select
41
+ let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
42
+ return selectedItemLabel?.[optionLabel];
43
+ };
12
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","escapeRegExp","text","replace"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,OAAO,MAAMA,wBAAwB,GAAGA,CAACC,GAAU,EAAEC,QAAgB,KAAK;EACxE,IAAIC,cAAc,GAAGF,GAAG,EAAEG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE5D,OAAOC,cAAc;AACvB,CAAC;AAED,OAAO,MAAMG,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","escapeRegExp","text","replace","removeDisabledItems","items","filter","disabled","isSectionList","options","some","title","data","Array","isArray","getLabelsOfSelectedItems","isMultiple","optionLabel","optionValue","selectedItem","selectedItems","modifiedOptions","selectedLabels","forEach","element","selectedItemLabel","find","push"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAQA,OAAO,MAAMA,wBAAwB,GAAGA,CAACC,GAAU,EAAEC,QAAgB,KAAK;EACxE,IAAIC,cAAc,GAAGF,GAAG,EAAEG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE5D,OAAOC,cAAc;AACvB,CAAC;AAED,OAAO,MAAMG,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,KAAgB,IAAK;EACvD,OAAOA,KAAK,EAAEC,MAAM,CAAEN,IAAmB,IAAK,CAACA,IAAI,CAACO,QAAQ,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,aAAa,GAAIC,OAAiC,IAAc;EAC3E,OAAQA,OAAO,CAAkBC,IAAI,CAClCV,IAAI,IAAKA,IAAI,CAACW,KAAK,IAAIX,IAAI,CAACY,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACd,IAAI,CAACY,IAAI,CAC9D,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMG,wBAAwB,GAAGA,CAAC;EACvCC,UAAU;EACVC,WAAW;EACXC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC;AAQF,CAAC,KAAK;EACJ;EACA,IAAIL,UAAU,IAAIH,KAAK,CAACC,OAAO,CAACM,aAAa,CAAC,EAAE;IAC9C,IAAIE,cAAiD,GAAG,EAAE;IAE1DF,aAAa,EAAEG,OAAO,CAAEC,OAAsB,IAAK;MACjD,IAAIC,iBAAiB,GAAGJ,eAAe,EAAEK,IAAI,CAC1C1B,IAAmB,IAAKA,IAAI,CAACkB,WAAW,CAAC,KAAKM,OACjD,CAAC,GAAGP,WAAW,CAAC;MAEhB,IAAIQ,iBAAiB,KAAK,EAAE,EAAE;QAC5BH,cAAc,CAACK,IAAI,CAACF,iBAAiB,CAAC;MACxC;IACF,CAAC,CAAC;IACF,OAAOH,cAAc;EACvB;;EAEA;EACA,IAAIG,iBAAiB,GAAGJ,eAAe,EAAEK,IAAI,CAC1C1B,IAAmB,IAAKA,IAAI,CAACkB,WAAW,CAAC,KAAKC,YACjD,CAAC;EACD,OAAOM,iBAAiB,GAAGR,WAAW,CAAC;AACzC,CAAC","ignoreList":[]}
@@ -1,10 +1,12 @@
1
1
  import type { ColorValue } from 'react-native';
2
- import { TCheckboxControls } from 'src/types/index.types';
2
+ import { TCheckboxControls } from '../../types/index.types';
3
3
  export type CheckboxProps = {
4
4
  label?: string;
5
5
  value?: boolean;
6
6
  disabled?: boolean;
7
7
  primaryColor?: ColorValue;
8
8
  onChange?: (value: boolean | string | number) => void;
9
- } & TCheckboxControls;
9
+ } & {
10
+ checkboxControls?: TCheckboxControls;
11
+ };
10
12
  //# sourceMappingURL=checkbox.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/checkbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACvD,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"checkbox.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/checkbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACvD,GAAG;IAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { CheckboxProps } from './checkbox.types';
3
- declare const CheckBox: ({ label, value, disabled, primaryColor, checkboxSize, checkboxStyle, checkboxLabelStyle, checkboxComponentStyles, checkboxComponent, checkboxControls, onChange, }: CheckboxProps) => React.JSX.Element;
2
+ import { CheckboxProps } from './checkbox.types';
3
+ declare const CheckBox: ({ label, value, disabled, primaryColor, checkboxControls, onChange, }: CheckboxProps) => React.JSX.Element;
4
4
  export default CheckBox;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,QAAA,MAAM,QAAQ,uKAYX,aAAa,sBAoEf,CAAC;AAkBF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAA,MAAM,QAAQ,0EAOX,aAAa,sBAiDf,CAAC;AAkBF,eAAe,QAAQ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ModalProps } from 'react-native';
3
3
  import { TCustomModalControls } from 'src/types/index.types';
4
- declare const CustomModal: ({ visible, closeModal, modalBackgroundStyle, modalOptionsContainerStyle, modalControls, modalProps, children, }: TCustomModalControls & ModalProps) => React.JSX.Element;
4
+ declare const CustomModal: ({ visible, modalControls, children, onRequestClose, }: {
5
+ modalControls?: TCustomModalControls;
6
+ } & ModalProps) => React.JSX.Element;
5
7
  export default CustomModal;
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CustomModal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuB,MAAM,OAAO,CAAC;AAC5C,OAAO,EAGL,UAAU,EAMX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAoB7D,QAAA,MAAM,WAAW,oHAQd,oBAAoB,GAAG,UAAU,sBAsCnC,CAAC;AAiBF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/CustomModal/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,EAGL,UAAU,EAMX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAc7D,QAAA,MAAM,WAAW,0DAKd;IACD,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,GAAG,UAAU,sBAoCb,CAAC;AAiBF,eAAe,WAAW,CAAC"}