react-native-input-select 1.3.17 → 2.0.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 (122) hide show
  1. package/README.md +38 -36
  2. package/lib/commonjs/components/CheckBox/index.js +4 -2
  3. package/lib/commonjs/components/CheckBox/index.js.map +1 -1
  4. package/lib/commonjs/components/CustomModal/index.js +11 -9
  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 +1 -1
  9. package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +1 -1
  10. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js +13 -13
  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 -5
  14. package/lib/commonjs/components/List/DropdownFlatList.js.map +1 -0
  15. package/lib/commonjs/components/{Dropdown → List}/DropdownSectionList.js +6 -4
  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 +40 -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 +118 -226
  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 +4 -2
  34. package/lib/module/components/CheckBox/index.js.map +1 -1
  35. package/lib/module/components/CustomModal/index.js +11 -8
  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 +1 -1
  40. package/lib/module/components/Dropdown/DropdownListItem.js.map +1 -1
  41. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js +13 -13
  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 -5
  45. package/lib/module/components/List/DropdownFlatList.js.map +1 -0
  46. package/lib/module/components/{Dropdown → List}/DropdownSectionList.js +6 -4
  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 +33 -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 +121 -228
  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 +1 -1
  67. package/lib/typescript/src/components/CheckBox/index.d.ts.map +1 -1
  68. package/lib/typescript/src/components/CustomModal/index.d.ts +4 -2
  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.map +1 -1
  73. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsView.d.ts +1 -1
  74. package/lib/typescript/src/components/Input/index.d.ts +5 -1
  75. package/lib/typescript/src/components/Input/index.d.ts.map +1 -1
  76. package/lib/typescript/src/components/{Dropdown → List}/DropdownFlatList.d.ts +1 -1
  77. package/lib/typescript/src/components/List/DropdownFlatList.d.ts.map +1 -0
  78. package/lib/typescript/src/components/List/DropdownSectionList.d.ts.map +1 -0
  79. package/lib/typescript/src/hooks/index.d.ts +6 -0
  80. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  81. package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts +23 -0
  82. package/lib/typescript/src/hooks/use-index-of-selected-item.d.ts.map +1 -0
  83. package/lib/typescript/src/hooks/use-modal.d.ts +15 -0
  84. package/lib/typescript/src/hooks/use-modal.d.ts.map +1 -0
  85. package/lib/typescript/src/hooks/use-search.d.ts +16 -0
  86. package/lib/typescript/src/hooks/use-search.d.ts.map +1 -0
  87. package/lib/typescript/src/hooks/use-select-all.d.ts +18 -0
  88. package/lib/typescript/src/hooks/use-select-all.d.ts.map +1 -0
  89. package/lib/typescript/src/hooks/use-selection-handler.d.ts +19 -0
  90. package/lib/typescript/src/hooks/use-selection-handler.d.ts.map +1 -0
  91. package/lib/typescript/src/index.d.ts +19 -2
  92. package/lib/typescript/src/index.d.ts.map +1 -1
  93. package/lib/typescript/src/types/index.types.d.ts +55 -38
  94. package/lib/typescript/src/types/index.types.d.ts.map +1 -1
  95. package/lib/typescript/src/utils/index.d.ts +17 -3
  96. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  97. package/package.json +21 -7
  98. package/src/components/CheckBox/checkbox.types.ts +2 -2
  99. package/src/components/CheckBox/index.tsx +8 -6
  100. package/src/components/CustomModal/index.tsx +14 -17
  101. package/src/components/Dropdown/Dropdown.tsx +3 -2
  102. package/src/components/Dropdown/DropdownListItem.tsx +1 -3
  103. package/src/components/Dropdown/DropdownSelectedItemsView.tsx +12 -12
  104. package/src/components/Input/index.tsx +13 -2
  105. package/src/components/{Dropdown → List}/DropdownFlatList.tsx +11 -8
  106. package/src/components/{Dropdown → List}/DropdownSectionList.tsx +10 -7
  107. package/src/hooks/index.ts +5 -0
  108. package/src/hooks/use-index-of-selected-item.ts +49 -0
  109. package/src/hooks/use-modal.ts +44 -0
  110. package/src/hooks/use-search.ts +95 -0
  111. package/src/hooks/use-select-all.ts +79 -0
  112. package/src/hooks/use-selection-handler.ts +81 -0
  113. package/src/index.tsx +301 -443
  114. package/src/types/index.types.ts +69 -47
  115. package/src/utils/index.ts +60 -3
  116. package/lib/commonjs/components/Dropdown/DropdownFlatList.js.map +0 -1
  117. package/lib/commonjs/components/Dropdown/DropdownSectionList.js.map +0 -1
  118. package/lib/module/components/Dropdown/DropdownFlatList.js.map +0 -1
  119. package/lib/module/components/Dropdown/DropdownSectionList.js.map +0 -1
  120. package/lib/typescript/src/components/Dropdown/DropdownFlatList.d.ts.map +0 -1
  121. package/lib/typescript/src/components/Dropdown/DropdownSectionList.d.ts.map +0 -1
  122. /package/lib/typescript/src/components/{Dropdown → List}/DropdownSectionList.d.ts +0 -0
@@ -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,
@@ -41,7 +42,7 @@ export const DropdownSelect = ({
41
42
  searchInputStyle,
42
43
  // kept for backwards compatibility
43
44
  primaryColor = colors.gray,
44
- disabled,
45
+ disabled = false,
45
46
  checkboxSize,
46
47
  // kept for backwards compatibility
47
48
  checkboxStyle,
@@ -58,255 +59,146 @@ export const DropdownSelect = ({
58
59
  listEmptyComponent,
59
60
  modalProps,
60
61
  // kept for backwards compatibility
61
- hideModal = false,
62
62
  listControls,
63
63
  searchControls,
64
64
  modalControls,
65
65
  checkboxControls,
66
66
  autoCloseOnSelect = true,
67
+ maxSelectableItems,
67
68
  ...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
-
69
+ }, ref) => {
89
70
  /*===========================================
90
- * List type
71
+ * Expose the methods to the parent using
72
+ * useImperativeHandle
91
73
  *==========================================*/
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;
74
+ useImperativeHandle(ref, () => ({
75
+ open: () => openModal(),
76
+ close: () => closeModal()
77
+ }));
104
78
 
105
79
  /*===========================================
106
- * Selection handlers
80
+ * Search
107
81
  *==========================================*/
108
- const handleSingleSelection = value => {
109
- if (selectedItem === value) {
110
- setSelectedItem(null);
111
- onValueChange(null); // send value to parent
112
- } else {
113
- setSelectedItem(value);
114
- onValueChange(value); // send value to parent
82
+ const {
83
+ searchValue,
84
+ setSearchValue,
85
+ setFilteredOptions,
86
+ filteredOptions,
87
+ isSectionList
88
+ } = useSearch({
89
+ initialOptions: options,
90
+ optionLabel,
91
+ optionValue,
92
+ searchCallback: useCallback(value => searchControls?.searchCallback?.(value), [searchControls])
93
+ });
115
94
 
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
- const selectedValues = [];
95
+ /*===========================================
96
+ * setIndexOfSelectedItem - For ScrollToIndex
97
+ *==========================================*/
98
+ const {
99
+ listIndex,
100
+ setListIndex,
101
+ setIndexOfSelectedItem
102
+ } = useIndexOfSelectedItem({
103
+ options,
104
+ optionLabel,
105
+ isSectionList
106
+ });
139
107
 
140
- // don't select disabled items
141
- const filteredOptions = removeDisabledItems(isSectionList ? extractPropertyFromArray(options, 'data').flat() : options);
142
- if (!prevVal) {
143
- for (let i = 0; i < filteredOptions.length; i++) {
144
- selectedValues.push(filteredOptions[i][optionValue]);
145
- }
146
- }
147
- setSelectedItems(selectedValues);
148
- onValueChange(selectedValues); // send value to parent
149
- return !prevVal;
108
+ /*===========================================
109
+ * Reset component states
110
+ *==========================================*/
111
+ const resetOptionsRelatedState = useCallback(() => {
112
+ setSearchValue('');
113
+ setFilteredOptions(options);
114
+ setListIndex({
115
+ itemIndex: -1,
116
+ sectionIndex: -1
150
117
  });
151
- if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {
152
- listControls.selectAllCallback();
153
- }
154
- if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {
155
- listControls.unselectAllCallback();
156
- }
157
- };
118
+ }, [options, setFilteredOptions, setListIndex, setSearchValue]);
158
119
 
159
120
  /*===========================================
160
- * Handle side effects
121
+ * Modal
161
122
  *==========================================*/
162
- const checkSelectAll = useCallback(selectedValues => {
163
- //if the list contains disabled values, those values will not be selected
164
- if (removeDisabledItems(modifiedOptions)?.length === selectedValues?.length) {
165
- setSelectAll(true);
166
- } else {
167
- setSelectAll(false);
168
- }
169
- }, [modifiedOptions]);
170
-
171
- // anytime the selected items change, check if it is time to set `selectAll` to true
172
- useEffect(() => {
173
- if (isMultiple) {
174
- checkSelectAll(selectedItems);
175
- }
176
- return () => {};
177
- }, [checkSelectAll, isMultiple, selectedItems]);
123
+ const {
124
+ isVisible,
125
+ openModal,
126
+ closeModal
127
+ } = useModal({
128
+ resetOptionsRelatedState,
129
+ disabled,
130
+ modalProps,
131
+ modalControls
132
+ });
178
133
 
179
134
  /*===========================================
180
- * Get label handler
135
+ * Single and multiple selection Hook
181
136
  *==========================================*/
182
- const getSelectedItemsLabel = () => {
183
- if (isMultiple && Array.isArray(selectedItems)) {
184
- let selectedLabels = [];
185
- selectedItems?.forEach(element => {
186
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
187
- selectedLabels.push(selectedItemLabel);
188
- });
189
- return selectedLabels;
190
- }
191
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
192
- return selectedItemLabel?.[optionLabel];
193
- };
137
+ const {
138
+ selectedItem,
139
+ selectedItems,
140
+ setSelectedItem,
141
+ setSelectedItems,
142
+ handleSingleSelection,
143
+ handleMultipleSelections
144
+ } = useSelectionHandler({
145
+ initialSelectedValue: selectedValue,
146
+ isMultiple,
147
+ maxSelectableItems,
148
+ onValueChange,
149
+ closeModal: () => closeModal(),
150
+ autoCloseOnSelect
151
+ });
152
+ useEffect(() => {
153
+ isMultiple ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : []) : setSelectedItem(selectedValue || '');
154
+ return () => {};
155
+ }, [selectedValue, setSelectedItems, setSelectedItem, isMultiple, onValueChange]);
194
156
 
195
157
  /*===========================================
196
- * Search
158
+ * List type
197
159
  *==========================================*/
198
- const onSearch = value => {
199
- setSearchValue(value);
200
- searchControls?.searchCallback?.(value);
201
- let searchText = escapeRegExp(value).toString().toLocaleLowerCase().trim();
202
- const regexFilter = new RegExp(searchText, 'i');
203
-
204
- // Because the options array will be mutated while searching, we have to search with the original array
205
- const searchResults = isSectionList ? searchSectionList(options, regexFilter) : searchFlatList(options, regexFilter);
206
- setNewOptions(searchResults);
207
- };
208
- const searchFlatList = (flatList, regexFilter) => {
209
- const searchResults = flatList.filter(item => {
210
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
211
- return true;
212
- }
213
- return false;
214
- });
215
- return searchResults;
216
- };
217
- const searchSectionList = (sectionList, regexFilter) => {
218
- const searchResults = sectionList.map(listItem => {
219
- const filteredData = listItem.data.filter(item => {
220
- if (item[optionLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue].toString().toLowerCase().search(regexFilter) !== -1) {
221
- return true;
222
- }
223
- return false;
224
- });
225
- return {
226
- ...listItem,
227
- data: filteredData
228
- };
229
- });
230
- return searchResults;
231
- };
232
-
233
- /**
234
- * To prevent triggering on modalProps.onDismiss on first render, we perform this check
235
- */
236
- const hasComponentBeenRendered = useRef(false);
160
+ const ListTypeComponent = isSectionList ? DropdownSectionList : DropdownFlatList;
161
+ const modifiedSectionData = extractPropertyFromArray(filteredOptions, 'data')?.flat();
237
162
 
238
163
  /**
239
- * Explicitly adding this here because the onDismiss only works on iOS Modals
240
- * https://reactnative.dev/docs/modal#ondismiss-ios
164
+ * `options` is the original array, it never changes. (Do not use except you really need the original array) .
165
+ * `filteredOptions` is a copy of options but can be mutated by `setFilteredOptions`, as a result, the value may change.
166
+ * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
241
167
  */
242
- useEffect(() => {
243
- if (hasComponentBeenRendered.current && !open && Platform.OS === 'android') {
244
- modalControls?.modalProps?.onDismiss?.();
245
- }
246
- hasComponentBeenRendered.current = true;
247
- }, [open]);
168
+ const modifiedOptions = isSectionList ? modifiedSectionData : filteredOptions;
248
169
 
249
170
  /*===========================================
250
- * Modal
251
- *==========================================*/
252
- const openModal = () => {
253
- if (disabled) {
254
- return;
255
- }
256
- setOpen(true);
257
- resetComponent();
258
- };
259
- const closeModal = () => {
260
- setOpen(false);
261
- resetComponent();
262
- };
263
- const resetComponent = () => {
264
- setSearchValue('');
265
- setNewOptions(options);
266
- setListIndex({
267
- itemIndex: -1,
268
- sectionIndex: -1
269
- });
270
- };
271
- useEffect(() => {
272
- if (hideModal) {
273
- setOpen(false);
274
- }
275
- return () => {};
276
- }, [hideModal]);
277
-
278
- /*===========================================
279
- * setIndexOfSelectedItem - For ScrollToIndex
171
+ * Select all Hook
280
172
  *==========================================*/
281
- const setIndexOfSelectedItem = selectedLabel => {
282
- isSectionList ? options?.map((item, sectionIndex) => {
283
- item?.data?.find((dataItem, itemIndex) => {
284
- if (dataItem[optionLabel] === selectedLabel) {
285
- setListIndex({
286
- sectionIndex,
287
- itemIndex
288
- });
289
- }
290
- });
291
- }) : options?.find((item, itemIndex) => {
292
- if (item[optionLabel] === selectedLabel) {
293
- setListIndex({
294
- itemIndex
295
- });
296
- }
297
- });
298
- };
173
+ const {
174
+ selectAll,
175
+ handleSelectAll
176
+ } = useSelectAll({
177
+ options: modifiedOptions,
178
+ selectedItems,
179
+ isMultiple,
180
+ onValueChange,
181
+ listControls,
182
+ optionValue
183
+ });
299
184
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, _extends({
300
185
  testID: testID,
301
186
  label: label,
302
187
  placeholder: placeholder,
303
188
  helperText: helperText,
304
189
  error: error,
305
- getSelectedItemsLabel: getSelectedItemsLabel,
190
+ labelsOfSelectedItems: getLabelsOfSelectedItems({
191
+ isMultiple,
192
+ optionLabel,
193
+ optionValue,
194
+ selectedItem,
195
+ selectedItems,
196
+ modifiedOptions
197
+ }),
306
198
  selectedItem: selectedItem,
307
199
  selectedItems: selectedItems,
308
- openModal: openModal,
309
- closeModal: closeModal,
200
+ openModal: () => openModal(),
201
+ closeModal: () => closeModal(),
310
202
  labelStyle: labelStyle,
311
203
  dropdownIcon: dropdownIcon,
312
204
  dropdownStyle: dropdownStyle,
@@ -323,26 +215,27 @@ export const DropdownSelect = ({
323
215
  placeholderStyle: placeholderStyle,
324
216
  setIndexOfSelectedItem: setIndexOfSelectedItem
325
217
  }, rest)), /*#__PURE__*/React.createElement(CustomModal, {
326
- visible: open,
218
+ visible: isVisible,
219
+ onRequestClose: () => closeModal(),
327
220
  modalBackgroundStyle: modalBackgroundStyle // kept for backwards compatibility
328
221
  ,
329
222
  modalOptionsContainerStyle: modalOptionsContainerStyle // kept for backwards compatibility
330
223
  ,
331
- closeModal: closeModal,
332
224
  modalControls: modalControls,
333
225
  modalProps: modalProps // kept for backwards compatibility
334
226
  }, /*#__PURE__*/React.createElement(ListTypeComponent, {
335
227
  ListHeaderComponent: /*#__PURE__*/React.createElement(React.Fragment, null, isSearchable && /*#__PURE__*/React.createElement(Input, _extends({
336
228
  value: searchValue,
337
- onChangeText: text => onSearch(text),
229
+ onChangeText: text => setSearchValue(text),
338
230
  style: searchControls?.textInputStyle || searchInputStyle,
339
231
  primaryColor: primaryColor,
340
232
  textInputContainerStyle: searchControls?.textInputContainerStyle,
341
- placeholder: searchControls?.textInputProps?.placeholder || 'Search'
233
+ placeholder: searchControls?.textInputProps?.placeholder || 'Search',
234
+ "aria-label": searchControls?.textInputProps?.placeholder || 'Search'
342
235
  }, searchControls?.textInputProps)), listHeaderComponent, !listControls?.hideSelectAll && isMultiple && modifiedOptions?.length > 1 && /*#__PURE__*/React.createElement(View, {
343
236
  style: styles.optionsContainerStyle
344
237
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
345
- onPress: () => {}
238
+ accessible: false
346
239
  }, /*#__PURE__*/React.createElement(CheckBox, {
347
240
  value: selectAll,
348
241
  label: selectAll ? listControls?.unselectAllText || 'Clear all' : listControls?.selectAllText || 'Select all',
@@ -357,7 +250,7 @@ export const DropdownSelect = ({
357
250
  })))),
358
251
  ListFooterComponent: listFooterComponent,
359
252
  listComponentStyles: listComponentStyles,
360
- options: newOptions,
253
+ options: filteredOptions,
361
254
  optionLabel: optionLabel,
362
255
  optionValue: optionValue,
363
256
  isMultiple: isMultiple,
@@ -377,7 +270,7 @@ export const DropdownSelect = ({
377
270
  listEmptyComponent: listEmptyComponent,
378
271
  emptyListMessage: listControls?.emptyListMessage
379
272
  })));
380
- };
273
+ });
381
274
  const styles = StyleSheet.create({
382
275
  optionsContainerStyle: {
383
276
  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","i","length","selectAllCallback","unselectAllCallback","checkSelectAll","getSelectedItemsLabel","selectedLabels","forEach","element","selectedItemLabel","find","onSearch","searchCallback","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","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","modalBackgroundStyle","modalOptionsContainerStyle","searchInputStyle","primaryColor","gray","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","listEmptyComponent","modalProps","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","Array","isArray","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,EAAE;QACrBH,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, TCheckboxProps } 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
+ } & TCheckboxProps;
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,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE5E,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,GAAG,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { CheckboxProps } from './checkbox.types';
2
+ import { CheckboxProps } from './checkbox.types';
3
3
  declare const CheckBox: ({ label, value, disabled, primaryColor, checkboxSize, checkboxStyle, checkboxLabelStyle, checkboxComponentStyles, checkboxComponent, 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,uKAYX,aAAa,sBAsEf,CAAC;AAkBF,eAAe,QAAQ,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import { ModalProps } from 'react-native';
3
- import { TCustomModalControls } from 'src/types/index.types';
4
- declare const CustomModal: ({ visible, closeModal, modalBackgroundStyle, modalOptionsContainerStyle, modalControls, modalProps, children, }: TCustomModalControls & ModalProps) => React.JSX.Element;
3
+ import { TCustomModalControls, TCustomModalProps } from 'src/types/index.types';
4
+ declare const CustomModal: ({ visible, modalBackgroundStyle, modalOptionsContainerStyle, modalControls, modalProps, children, onRequestClose, }: TCustomModalProps & {
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,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAchF,QAAA,MAAM,WAAW,wHAQd,iBAAiB,GAAG;IACrB,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,GAAG,UAAU,sBAsCb,CAAC;AAiBF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- declare const Dropdown: ({ testID, label, placeholder, helperText, error, getSelectedItemsLabel, openModal, closeModal, isMultiple, selectedItem, selectedItems, dropdownIcon, labelStyle, dropdownStyle, dropdownIconStyle, dropdownContainerStyle, selectedItemStyle, placeholderStyle, multipleSelectedItemStyle, dropdownErrorStyle, dropdownErrorTextStyle, dropdownHelperTextStyle, primaryColor, disabled, setIndexOfSelectedItem, }: any) => React.JSX.Element;
2
+ declare const Dropdown: ({ testID, label, placeholder, helperText, error, labelsOfSelectedItems, openModal, closeModal, isMultiple, selectedItem, selectedItems, dropdownIcon, labelStyle, dropdownStyle, dropdownIconStyle, dropdownContainerStyle, selectedItemStyle, placeholderStyle, multipleSelectedItemStyle, dropdownErrorStyle, dropdownErrorTextStyle, dropdownHelperTextStyle, primaryColor, disabled, setIndexOfSelectedItem, }: any) => React.JSX.Element;
3
3
  export default Dropdown;
4
4
  //# sourceMappingURL=Dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,QAAA,MAAM,QAAQ,uZA0BX,GAAG,sBA2CL,CAAC;AAUF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,QAAA,MAAM,QAAQ,uZA0BX,GAAG,sBA4CL,CAAC;AAUF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/DropdownListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;2PAkBjC,GAAG;AAuCN,wBAAsC"}
1
+ {"version":3,"file":"DropdownListItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/Dropdown/DropdownListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;2PAkBjC,GAAG;AAqCN,wBAAsC"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- declare const DropdownSelectedItemsView: ({ placeholder, error, getSelectedItemsLabel, openModal, isMultiple, selectedItem, selectedItems, dropdownIcon, dropdownStyle, dropdownIconStyle, selectedItemStyle, placeholderStyle, multipleSelectedItemStyle, dropdownErrorStyle, primaryColor, disabled, setIndexOfSelectedItem, }: any) => React.JSX.Element;
2
+ declare const DropdownSelectedItemsView: ({ placeholder, error, labelsOfSelectedItems, openModal, isMultiple, selectedItem, selectedItems, dropdownIcon, dropdownStyle, dropdownIconStyle, selectedItemStyle, placeholderStyle, multipleSelectedItemStyle, dropdownErrorStyle, primaryColor, disabled, setIndexOfSelectedItem, }: any) => React.JSX.Element;
3
3
  export default DropdownSelectedItemsView;
4
4
  //# sourceMappingURL=DropdownSelectedItemsView.d.ts.map