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
@@ -9,17 +9,18 @@ var _reactNative = require("react-native");
9
9
  var _Input = _interopRequireDefault(require("./components/Input"));
10
10
  var _CheckBox = _interopRequireDefault(require("./components/CheckBox"));
11
11
  var _Dropdown = _interopRequireDefault(require("./components/Dropdown/Dropdown"));
12
- var _DropdownFlatList = _interopRequireDefault(require("./components/Dropdown/DropdownFlatList"));
13
- var _DropdownSectionList = _interopRequireDefault(require("./components/Dropdown/DropdownSectionList"));
12
+ var _DropdownFlatList = _interopRequireDefault(require("./components/List/DropdownFlatList"));
13
+ var _DropdownSectionList = _interopRequireDefault(require("./components/List/DropdownSectionList"));
14
14
  var _CustomModal = _interopRequireDefault(require("./components/CustomModal"));
15
15
  var _colors = require("./styles/colors");
16
16
  var _constants = require("./constants");
17
17
  var _utils = require("./utils");
18
+ var _hooks = require("./hooks");
18
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
20
  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); }
20
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
22
  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); }
22
- const DropdownSelect = ({
23
+ const DropdownSelect = exports.DropdownSelect = /*#__PURE__*/(0, _react.forwardRef)(({
23
24
  testID,
24
25
  placeholder,
25
26
  label,
@@ -29,8 +30,8 @@ const DropdownSelect = ({
29
30
  optionLabel = _constants.DEFAULT_OPTION_LABEL,
30
31
  optionValue = _constants.DEFAULT_OPTION_VALUE,
31
32
  onValueChange,
32
- selectedValue,
33
- isMultiple,
33
+ isMultiple = false,
34
+ selectedValue = isMultiple ? [] : '',
34
35
  isSearchable,
35
36
  dropdownIcon,
36
37
  labelStyle,
@@ -43,277 +44,151 @@ const DropdownSelect = ({
43
44
  dropdownHelperTextStyle,
44
45
  selectedItemStyle,
45
46
  multipleSelectedItemStyle,
46
- modalBackgroundStyle,
47
- // kept for backwards compatibility
48
- modalOptionsContainerStyle,
49
- // kept for backwards compatibility
50
- searchInputStyle,
51
- // kept for backwards compatibility
52
47
  primaryColor = _colors.colors.gray,
53
- disabled,
54
- checkboxSize,
55
- // kept for backwards compatibility
56
- checkboxStyle,
57
- // kept for backwards compatibility
58
- checkboxLabelStyle,
59
- // kept for backwards compatibility
60
- checkboxComponentStyles,
61
- // kept for backwards compatibility
62
- checkboxComponent,
63
- // kept for backwards compatibility
48
+ disabled = false,
64
49
  listHeaderComponent,
65
50
  listFooterComponent,
66
51
  listComponentStyles,
67
52
  listEmptyComponent,
68
- modalProps,
69
- // kept for backwards compatibility
70
- hideModal = false,
71
53
  listControls,
72
54
  searchControls,
73
55
  modalControls,
74
56
  checkboxControls,
75
57
  autoCloseOnSelect = true,
58
+ maxSelectableItems,
76
59
  ...rest
77
- }) => {
78
- const [newOptions, setNewOptions] = (0, _react.useState)([]);
79
- const [open, setOpen] = (0, _react.useState)(false);
80
- const [selectAll, setSelectAll] = (0, _react.useState)(false);
81
- const [selectedItem, setSelectedItem] = (0, _react.useState)(''); // for single selection
82
- const [selectedItems, setSelectedItems] = (0, _react.useState)([]); // for multiple selection
83
- const [searchValue, setSearchValue] = (0, _react.useState)('');
84
- const [listIndex, setListIndex] = (0, _react.useState)({
85
- itemIndex: -1,
86
- sectionIndex: -1
87
- }); // for scrollToIndex in Sectionlist and Flatlist
88
-
89
- (0, _react.useEffect)(() => {
90
- setNewOptions(options);
91
- return () => {};
92
- }, [options]);
93
- (0, _react.useEffect)(() => {
94
- isMultiple ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : []) : setSelectedItem(selectedValue || '');
95
- return () => {};
96
- }, [selectedValue, isMultiple, onValueChange]);
97
-
60
+ }, ref) => {
98
61
  /*===========================================
99
- * List type
62
+ * Expose the methods to the parent using
63
+ * useImperativeHandle
100
64
  *==========================================*/
101
-
102
- // check the structure of the new options array to determine if it is a section list or a
103
- const isSectionList = newOptions?.some(item => item.title && item.data && Array.isArray(item.data));
104
- const ListTypeComponent = isSectionList ? _DropdownSectionList.default : _DropdownFlatList.default;
105
- const modifiedSectionData = (0, _utils.extractPropertyFromArray)(newOptions, 'data')?.flat();
106
-
107
- /**
108
- * `options` is the original array, it never changes. (Do not use except you really need the original array) .
109
- * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value may change.
110
- * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
111
- */
112
- const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;
65
+ (0, _react.useImperativeHandle)(ref, () => ({
66
+ open: () => openModal(),
67
+ close: () => closeModal()
68
+ }));
113
69
 
114
70
  /*===========================================
115
- * Selection handlers
71
+ * Search
116
72
  *==========================================*/
117
- const handleSingleSelection = value => {
118
- if (selectedItem === value) {
119
- setSelectedItem('');
120
- onValueChange(null); // send value to parent
121
- } else {
122
- setSelectedItem(value);
123
- onValueChange(value); // send value to parent
73
+ const {
74
+ searchValue,
75
+ setSearchValue,
76
+ setFilteredOptions,
77
+ filteredOptions,
78
+ isSectionList
79
+ } = (0, _hooks.useSearch)({
80
+ initialOptions: options,
81
+ optionLabel,
82
+ optionValue,
83
+ searchCallback: (0, _react.useCallback)(value => searchControls?.searchCallback?.(value), [searchControls])
84
+ });
124
85
 
125
- if (autoCloseOnSelect) {
126
- setOpen(false); // close modal upon selection
127
- }
128
- }
129
- };
130
- const handleMultipleSelections = value => {
131
- setSelectedItems(prevVal => {
132
- let selectedValues = [...prevVal];
133
- if (selectedValues?.includes(value)) {
134
- selectedValues = selectedValues.filter(item => item !== value);
135
- } else {
136
- selectedValues.push(value);
137
- }
138
- onValueChange(selectedValues); // send value to parent
139
- return selectedValues;
140
- });
141
- };
142
- const removeDisabledItems = items => {
143
- return items?.filter(item => !item.disabled);
144
- };
145
- const handleSelectAll = () => {
146
- setSelectAll(prevVal => {
147
- let selectedValues = [];
86
+ /*===========================================
87
+ * setIndexOfSelectedItem - For ScrollToIndex
88
+ *==========================================*/
89
+ const {
90
+ listIndex,
91
+ setListIndex,
92
+ setIndexOfSelectedItem
93
+ } = (0, _hooks.useIndexOfSelectedItem)({
94
+ options,
95
+ optionLabel,
96
+ isSectionList
97
+ });
148
98
 
149
- // don't select disabled items
150
- const filteredOptions = removeDisabledItems(isSectionList ? (0, _utils.extractPropertyFromArray)(options, 'data').flat() : options);
151
- if (!prevVal) {
152
- selectedValues = filteredOptions.map(obj => obj[optionValue]);
153
- }
154
- setSelectedItems(selectedValues);
155
- onValueChange(selectedValues); // send value to parent
156
- return !prevVal;
99
+ /*===========================================
100
+ * Reset component states
101
+ *==========================================*/
102
+ const resetOptionsRelatedState = (0, _react.useCallback)(() => {
103
+ setSearchValue('');
104
+ setFilteredOptions(options);
105
+ setListIndex({
106
+ itemIndex: -1,
107
+ sectionIndex: -1
157
108
  });
158
- if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {
159
- listControls.selectAllCallback();
160
- }
161
- if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {
162
- listControls.unselectAllCallback();
163
- }
164
- };
109
+ }, [options, setFilteredOptions, setListIndex, setSearchValue]);
165
110
 
166
111
  /*===========================================
167
- * Handle side effects
112
+ * Modal
168
113
  *==========================================*/
169
- const checkSelectAll = (0, _react.useCallback)(selectedValues => {
170
- //if the list contains disabled values, those values will not be selected
171
- if (removeDisabledItems(modifiedOptions)?.length === selectedValues?.length) {
172
- setSelectAll(true);
173
- } else {
174
- setSelectAll(false);
175
- }
176
- }, [modifiedOptions]);
177
-
178
- // anytime the selected items change, check if it is time to set `selectAll` to true
179
- (0, _react.useEffect)(() => {
180
- if (isMultiple) {
181
- checkSelectAll(selectedItems);
182
- }
183
- return () => {};
184
- }, [checkSelectAll, isMultiple, selectedItems]);
114
+ const {
115
+ isVisible,
116
+ openModal,
117
+ closeModal
118
+ } = (0, _hooks.useModal)({
119
+ resetOptionsRelatedState,
120
+ disabled,
121
+ modalControls
122
+ });
185
123
 
186
124
  /*===========================================
187
- * Get label handler
125
+ * Single and multiple selection Hook
188
126
  *==========================================*/
189
- const getSelectedItemsLabel = () => {
190
- if (isMultiple && Array.isArray(selectedItems)) {
191
- let selectedLabels = [];
192
- selectedItems?.forEach(element => {
193
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
194
- selectedLabels.push(selectedItemLabel);
195
- });
196
- return selectedLabels;
197
- }
198
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
199
- return selectedItemLabel?.[optionLabel];
200
- };
127
+ const {
128
+ selectedItem,
129
+ selectedItems,
130
+ setSelectedItem,
131
+ setSelectedItems,
132
+ handleSingleSelection,
133
+ handleMultipleSelections
134
+ } = (0, _hooks.useSelectionHandler)({
135
+ initialSelectedValue: selectedValue,
136
+ isMultiple,
137
+ maxSelectableItems,
138
+ onValueChange,
139
+ closeModal: () => closeModal(),
140
+ autoCloseOnSelect
141
+ });
142
+ (0, _react.useEffect)(() => {
143
+ isMultiple ? setSelectedItems(selectedValue) : setSelectedItem(selectedValue);
144
+ return () => {};
145
+ }, [selectedValue, setSelectedItems, setSelectedItem, isMultiple, onValueChange]);
201
146
 
202
147
  /*===========================================
203
- * Search
148
+ * List type
204
149
  *==========================================*/
205
- const onSearch = value => {
206
- setSearchValue(value);
207
- searchControls?.searchCallback?.(value);
208
- let searchText = (0, _utils.escapeRegExp)(value).toString().toLocaleLowerCase().trim();
209
- const regexFilter = new RegExp(searchText, 'i');
210
-
211
- // Because the options array will be mutated while searching, we have to search with the original array
212
- const searchResults = isSectionList ? searchSectionList(options, regexFilter) : searchFlatList(options, regexFilter);
213
- setNewOptions(searchResults);
214
- };
215
- const searchFlatList = (flatList, regexFilter) => {
216
- const searchResults = flatList.filter(item => {
217
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
218
- return true;
219
- }
220
- return false;
221
- });
222
- return searchResults;
223
- };
224
- const searchSectionList = (sectionList, regexFilter) => {
225
- const searchResults = sectionList.map(listItem => {
226
- const filteredData = listItem.data.filter(item => {
227
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
228
- return true;
229
- }
230
- return false;
231
- });
232
- return {
233
- ...listItem,
234
- data: filteredData
235
- };
236
- });
237
- return searchResults;
238
- };
239
-
240
- /**
241
- * To prevent triggering on modalProps.onDismiss on first render, we perform this check
242
- */
243
- const hasComponentBeenRendered = (0, _react.useRef)(false);
150
+ const ListTypeComponent = isSectionList ? _DropdownSectionList.default : _DropdownFlatList.default;
151
+ const modifiedSectionData = (0, _utils.extractPropertyFromArray)(filteredOptions, 'data')?.flat();
244
152
 
245
153
  /**
246
- * Explicitly adding this here because the onDismiss only works on iOS Modals
247
- * https://reactnative.dev/docs/modal#ondismiss-ios
154
+ * `options` is the original array, it never changes. (Do not use except you really need the original array) .
155
+ * `filteredOptions` is a copy of options but can be mutated by `setFilteredOptions`, as a result, the value may change.
156
+ * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
248
157
  */
249
- (0, _react.useEffect)(() => {
250
- if (hasComponentBeenRendered.current && !open && _reactNative.Platform.OS === 'android') {
251
- modalControls?.modalProps?.onDismiss?.();
252
- }
253
- hasComponentBeenRendered.current = true;
254
- }, [open]);
158
+ const modifiedOptions = isSectionList ? modifiedSectionData : filteredOptions;
255
159
 
256
160
  /*===========================================
257
- * Modal
258
- *==========================================*/
259
- const openModal = () => {
260
- if (disabled) {
261
- return;
262
- }
263
- setOpen(true);
264
- resetComponent();
265
- };
266
- const closeModal = () => {
267
- setOpen(false);
268
- resetComponent();
269
- };
270
- const resetComponent = () => {
271
- setSearchValue('');
272
- setNewOptions(options);
273
- setListIndex({
274
- itemIndex: -1,
275
- sectionIndex: -1
276
- });
277
- };
278
- (0, _react.useEffect)(() => {
279
- if (hideModal) {
280
- setOpen(false);
281
- }
282
- return () => {};
283
- }, [hideModal]);
284
-
285
- /*===========================================
286
- * setIndexOfSelectedItem - For ScrollToIndex
161
+ * Select all Hook
287
162
  *==========================================*/
288
- const setIndexOfSelectedItem = selectedLabel => {
289
- isSectionList ? options?.map((item, sectionIndex) => {
290
- item?.data?.find((dataItem, itemIndex) => {
291
- if (dataItem[optionLabel] === selectedLabel) {
292
- setListIndex({
293
- sectionIndex,
294
- itemIndex
295
- });
296
- }
297
- });
298
- }) : options?.find((item, itemIndex) => {
299
- if (item[optionLabel] === selectedLabel) {
300
- setListIndex({
301
- itemIndex
302
- });
303
- }
304
- });
305
- };
163
+ const {
164
+ selectAll,
165
+ handleSelectAll
166
+ } = (0, _hooks.useSelectAll)({
167
+ options: modifiedOptions,
168
+ selectedItems,
169
+ isMultiple,
170
+ onValueChange,
171
+ listControls,
172
+ optionValue
173
+ });
306
174
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Dropdown.default, _extends({
307
175
  testID: testID,
308
176
  label: label,
309
177
  placeholder: placeholder,
310
178
  helperText: helperText,
311
179
  error: error,
312
- getSelectedItemsLabel: getSelectedItemsLabel,
180
+ labelsOfSelectedItems: (0, _utils.getLabelsOfSelectedItems)({
181
+ isMultiple,
182
+ optionLabel,
183
+ optionValue,
184
+ selectedItem,
185
+ selectedItems,
186
+ modifiedOptions
187
+ }),
313
188
  selectedItem: selectedItem,
314
189
  selectedItems: selectedItems,
315
- openModal: openModal,
316
- closeModal: closeModal,
190
+ openModal: () => openModal(),
191
+ closeModal: () => closeModal(),
317
192
  labelStyle: labelStyle,
318
193
  dropdownIcon: dropdownIcon,
319
194
  dropdownStyle: dropdownStyle,
@@ -330,41 +205,32 @@ const DropdownSelect = ({
330
205
  placeholderStyle: placeholderStyle,
331
206
  setIndexOfSelectedItem: setIndexOfSelectedItem
332
207
  }, rest)), /*#__PURE__*/_react.default.createElement(_CustomModal.default, {
333
- visible: open,
334
- modalBackgroundStyle: modalBackgroundStyle // kept for backwards compatibility
335
- ,
336
- modalOptionsContainerStyle: modalOptionsContainerStyle // kept for backwards compatibility
337
- ,
338
- closeModal: closeModal,
339
- modalControls: modalControls,
340
- modalProps: modalProps // kept for backwards compatibility
208
+ visible: isVisible,
209
+ onRequestClose: () => closeModal(),
210
+ modalControls: modalControls
341
211
  }, /*#__PURE__*/_react.default.createElement(ListTypeComponent, {
342
212
  ListHeaderComponent: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && /*#__PURE__*/_react.default.createElement(_Input.default, _extends({
343
213
  value: searchValue,
344
- onChangeText: text => onSearch(text),
345
- style: searchControls?.textInputStyle || searchInputStyle,
214
+ onChangeText: text => setSearchValue(text),
215
+ style: searchControls?.textInputStyle,
346
216
  primaryColor: primaryColor,
347
217
  textInputContainerStyle: searchControls?.textInputContainerStyle,
348
- placeholder: searchControls?.textInputProps?.placeholder || 'Search'
218
+ placeholder: searchControls?.textInputProps?.placeholder || 'Search',
219
+ "aria-label": searchControls?.textInputProps?.placeholder || 'Search'
349
220
  }, searchControls?.textInputProps)), listHeaderComponent, !listControls?.hideSelectAll && isMultiple && modifiedOptions?.length > 1 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
350
221
  style: styles.optionsContainerStyle
351
222
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
352
- onPress: () => {}
223
+ accessible: false
353
224
  }, /*#__PURE__*/_react.default.createElement(_CheckBox.default, {
354
225
  value: selectAll,
355
226
  label: selectAll ? listControls?.unselectAllText || 'Clear all' : listControls?.selectAllText || 'Select all',
356
227
  onChange: () => handleSelectAll(),
357
228
  primaryColor: primaryColor,
358
- checkboxControls: checkboxControls,
359
- checkboxSize: checkboxSize,
360
- checkboxStyle: checkboxStyle,
361
- checkboxLabelStyle: checkboxLabelStyle,
362
- checkboxComponentStyles: checkboxComponentStyles,
363
- checkboxComponent: checkboxComponent
229
+ checkboxControls: checkboxControls
364
230
  })))),
365
231
  ListFooterComponent: listFooterComponent,
366
232
  listComponentStyles: listComponentStyles,
367
- options: newOptions,
233
+ options: filteredOptions,
368
234
  optionLabel: optionLabel,
369
235
  optionValue: optionValue,
370
236
  isMultiple: isMultiple,
@@ -374,18 +240,12 @@ const DropdownSelect = ({
374
240
  handleMultipleSelections: handleMultipleSelections,
375
241
  handleSingleSelection: handleSingleSelection,
376
242
  primaryColor: primaryColor,
377
- checkboxSize: checkboxSize,
378
- checkboxStyle: checkboxStyle,
379
- checkboxLabelStyle: checkboxLabelStyle,
380
- checkboxComponentStyles: checkboxComponentStyles,
381
- checkboxComponent: checkboxComponent,
382
243
  checkboxControls: checkboxControls,
383
244
  listIndex: listIndex,
384
245
  listEmptyComponent: listEmptyComponent,
385
246
  emptyListMessage: listControls?.emptyListMessage
386
247
  })));
387
- };
388
- exports.DropdownSelect = DropdownSelect;
248
+ });
389
249
  const styles = _reactNative.StyleSheet.create({
390
250
  optionsContainerStyle: {
391
251
  paddingHorizontal: 20,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Input","_interopRequireDefault","_CheckBox","_Dropdown","_DropdownFlatList","_DropdownSectionList","_CustomModal","_colors","_constants","_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","DropdownSelect","testID","placeholder","label","error","helperText","options","optionLabel","DEFAULT_OPTION_LABEL","optionValue","DEFAULT_OPTION_VALUE","onValueChange","selectedValue","isMultiple","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainerStyle","searchInputStyle","primaryColor","colors","gray","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","listEmptyComponent","modalProps","hideModal","listControls","searchControls","modalControls","checkboxControls","autoCloseOnSelect","rest","newOptions","setNewOptions","useState","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","searchValue","setSearchValue","listIndex","setListIndex","itemIndex","sectionIndex","useEffect","Array","isArray","isSectionList","some","item","title","data","ListTypeComponent","DropdownSectionList","DropdownFlatList","modifiedSectionData","extractPropertyFromArray","flat","modifiedOptions","handleSingleSelection","value","handleMultipleSelections","prevVal","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","map","obj","selectAllCallback","unselectAllCallback","checkSelectAll","useCallback","getSelectedItemsLabel","selectedLabels","forEach","element","selectedItemLabel","find","onSearch","searchCallback","searchText","escapeRegExp","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","listItem","filteredData","hasComponentBeenRendered","useRef","current","Platform","OS","onDismiss","openModal","resetComponent","closeModal","setIndexOfSelectedItem","selectedLabel","dataItem","createElement","Fragment","visible","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","View","styles","optionsContainerStyle","TouchableOpacity","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","exports","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Input","_interopRequireDefault","_CheckBox","_Dropdown","_DropdownFlatList","_DropdownSectionList","_CustomModal","_colors","_constants","_utils","_hooks","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","DropdownSelect","exports","forwardRef","testID","placeholder","label","error","helperText","options","optionLabel","DEFAULT_OPTION_LABEL","optionValue","DEFAULT_OPTION_VALUE","onValueChange","isMultiple","selectedValue","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","primaryColor","colors","gray","disabled","listHeaderComponent","listFooterComponent","listComponentStyles","listEmptyComponent","listControls","searchControls","modalControls","checkboxControls","autoCloseOnSelect","maxSelectableItems","rest","ref","useImperativeHandle","open","openModal","close","closeModal","searchValue","setSearchValue","setFilteredOptions","filteredOptions","isSectionList","useSearch","initialOptions","searchCallback","useCallback","value","listIndex","setListIndex","setIndexOfSelectedItem","useIndexOfSelectedItem","resetOptionsRelatedState","itemIndex","sectionIndex","isVisible","useModal","selectedItem","selectedItems","setSelectedItem","setSelectedItems","handleSingleSelection","handleMultipleSelections","useSelectionHandler","initialSelectedValue","useEffect","ListTypeComponent","DropdownSectionList","DropdownFlatList","modifiedSectionData","extractPropertyFromArray","flat","modifiedOptions","selectAll","handleSelectAll","useSelectAll","createElement","Fragment","labelsOfSelectedItems","getLabelsOfSelectedItems","visible","onRequestClose","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","View","styles","optionsContainerStyle","TouchableOpacity","accessible","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,11 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.extractPropertyFromArray = exports.escapeRegExp = void 0;
7
- /**
8
- * Extract property from array
9
- */
10
-
6
+ exports.removeDisabledItems = exports.isSectionList = exports.getLabelsOfSelectedItems = exports.extractPropertyFromArray = exports.escapeRegExp = void 0;
11
7
  const extractPropertyFromArray = (arr, property) => {
12
8
  let extractedValue = arr?.map(item => item[property]);
13
9
  return extractedValue;
@@ -17,4 +13,43 @@ const escapeRegExp = text => {
17
13
  return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
18
14
  };
19
15
  exports.escapeRegExp = escapeRegExp;
16
+ const removeDisabledItems = items => {
17
+ return items?.filter(item => !item.disabled);
18
+ };
19
+ exports.removeDisabledItems = removeDisabledItems;
20
+ const isSectionList = options => {
21
+ return options.some(item => item.title && item.data && Array.isArray(item.data));
22
+ };
23
+
24
+ /**
25
+ *
26
+ * @description get the labels of the items that were selected from the options array for either multiple or single selections
27
+ * @returns
28
+ */
29
+ exports.isSectionList = isSectionList;
30
+ const getLabelsOfSelectedItems = ({
31
+ isMultiple,
32
+ optionLabel,
33
+ optionValue,
34
+ selectedItem,
35
+ selectedItems,
36
+ modifiedOptions
37
+ }) => {
38
+ // Multiple select
39
+ if (isMultiple && Array.isArray(selectedItems)) {
40
+ let selectedLabels = [];
41
+ selectedItems?.forEach(element => {
42
+ let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
43
+ if (selectedItemLabel !== '') {
44
+ selectedLabels.push(selectedItemLabel);
45
+ }
46
+ });
47
+ return selectedLabels;
48
+ }
49
+
50
+ // Single select
51
+ let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
52
+ return selectedItemLabel?.[optionLabel];
53
+ };
54
+ exports.getLabelsOfSelectedItems = getLabelsOfSelectedItems;
20
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","exports","escapeRegExp","text","replace"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEO,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;AAACG,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEK,MAAMO,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC;AAACH,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","exports","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":";;;;;;AAQO,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;AAACG,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEK,MAAMO,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC;AAACH,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEK,MAAMG,mBAAmB,GAAIC,KAAgB,IAAK;EACvD,OAAOA,KAAK,EAAEC,MAAM,CAAEP,IAAmB,IAAK,CAACA,IAAI,CAACQ,QAAQ,CAAC;AAC/D,CAAC;AAACP,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAEK,MAAMI,aAAa,GAAIC,OAAiC,IAAc;EAC3E,OAAQA,OAAO,CAAkBC,IAAI,CAClCX,IAAI,IAAKA,IAAI,CAACY,KAAK,IAAIZ,IAAI,CAACa,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACf,IAAI,CAACa,IAAI,CAC9D,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAZ,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAKO,MAAMO,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,CAC1C3B,IAAmB,IAAKA,IAAI,CAACmB,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,CAC1C3B,IAAmB,IAAKA,IAAI,CAACmB,WAAW,CAAC,KAAKC,YACjD,CAAC;EACD,OAAOM,iBAAiB,GAAGR,WAAW,CAAC;AACzC,CAAC;AAACjB,OAAA,CAAAe,wBAAA,GAAAA,wBAAA","ignoreList":[]}