react-native-input-select 1.3.18 → 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 -224
  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 -226
  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 +54 -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 +300 -443
  114. package/src/types/index.types.ts +67 -40
  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,253 +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('');
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
- let 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
- selectedValues = filteredOptions.map(obj => obj[optionValue]);
144
- }
145
- setSelectedItems(selectedValues);
146
- onValueChange(selectedValues); // send value to parent
147
- 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
148
117
  });
149
- if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {
150
- listControls.selectAllCallback();
151
- }
152
- if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {
153
- listControls.unselectAllCallback();
154
- }
155
- };
118
+ }, [options, setFilteredOptions, setListIndex, setSearchValue]);
156
119
 
157
120
  /*===========================================
158
- * Handle side effects
121
+ * Modal
159
122
  *==========================================*/
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]);
123
+ const {
124
+ isVisible,
125
+ openModal,
126
+ closeModal
127
+ } = useModal({
128
+ resetOptionsRelatedState,
129
+ disabled,
130
+ modalProps,
131
+ modalControls
132
+ });
176
133
 
177
134
  /*===========================================
178
- * Get label handler
135
+ * Single and multiple selection Hook
179
136
  *==========================================*/
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
- };
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]);
192
156
 
193
157
  /*===========================================
194
- * Search
158
+ * List type
195
159
  *==========================================*/
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);
160
+ const ListTypeComponent = isSectionList ? DropdownSectionList : DropdownFlatList;
161
+ const modifiedSectionData = extractPropertyFromArray(filteredOptions, 'data')?.flat();
235
162
 
236
163
  /**
237
- * Explicitly adding this here because the onDismiss only works on iOS Modals
238
- * 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`
239
167
  */
240
- useEffect(() => {
241
- if (hasComponentBeenRendered.current && !open && Platform.OS === 'android') {
242
- modalControls?.modalProps?.onDismiss?.();
243
- }
244
- hasComponentBeenRendered.current = true;
245
- }, [open]);
168
+ const modifiedOptions = isSectionList ? modifiedSectionData : filteredOptions;
246
169
 
247
170
  /*===========================================
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
171
+ * Select all Hook
278
172
  *==========================================*/
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
- };
173
+ const {
174
+ selectAll,
175
+ handleSelectAll
176
+ } = useSelectAll({
177
+ options: modifiedOptions,
178
+ selectedItems,
179
+ isMultiple,
180
+ onValueChange,
181
+ listControls,
182
+ optionValue
183
+ });
297
184
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, _extends({
298
185
  testID: testID,
299
186
  label: label,
300
187
  placeholder: placeholder,
301
188
  helperText: helperText,
302
189
  error: error,
303
- getSelectedItemsLabel: getSelectedItemsLabel,
190
+ labelsOfSelectedItems: getLabelsOfSelectedItems({
191
+ isMultiple,
192
+ optionLabel,
193
+ optionValue,
194
+ selectedItem,
195
+ selectedItems,
196
+ modifiedOptions
197
+ }),
304
198
  selectedItem: selectedItem,
305
199
  selectedItems: selectedItems,
306
- openModal: openModal,
307
- closeModal: closeModal,
200
+ openModal: () => openModal(),
201
+ closeModal: () => closeModal(),
308
202
  labelStyle: labelStyle,
309
203
  dropdownIcon: dropdownIcon,
310
204
  dropdownStyle: dropdownStyle,
@@ -321,26 +215,27 @@ export const DropdownSelect = ({
321
215
  placeholderStyle: placeholderStyle,
322
216
  setIndexOfSelectedItem: setIndexOfSelectedItem
323
217
  }, rest)), /*#__PURE__*/React.createElement(CustomModal, {
324
- visible: open,
218
+ visible: isVisible,
219
+ onRequestClose: () => closeModal(),
325
220
  modalBackgroundStyle: modalBackgroundStyle // kept for backwards compatibility
326
221
  ,
327
222
  modalOptionsContainerStyle: modalOptionsContainerStyle // kept for backwards compatibility
328
223
  ,
329
- closeModal: closeModal,
330
224
  modalControls: modalControls,
331
225
  modalProps: modalProps // kept for backwards compatibility
332
226
  }, /*#__PURE__*/React.createElement(ListTypeComponent, {
333
227
  ListHeaderComponent: /*#__PURE__*/React.createElement(React.Fragment, null, isSearchable && /*#__PURE__*/React.createElement(Input, _extends({
334
228
  value: searchValue,
335
- onChangeText: text => onSearch(text),
229
+ onChangeText: text => setSearchValue(text),
336
230
  style: searchControls?.textInputStyle || searchInputStyle,
337
231
  primaryColor: primaryColor,
338
232
  textInputContainerStyle: searchControls?.textInputContainerStyle,
339
- placeholder: searchControls?.textInputProps?.placeholder || 'Search'
233
+ placeholder: searchControls?.textInputProps?.placeholder || 'Search',
234
+ "aria-label": searchControls?.textInputProps?.placeholder || 'Search'
340
235
  }, searchControls?.textInputProps)), listHeaderComponent, !listControls?.hideSelectAll && isMultiple && modifiedOptions?.length > 1 && /*#__PURE__*/React.createElement(View, {
341
236
  style: styles.optionsContainerStyle
342
237
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
343
- onPress: () => {}
238
+ accessible: false
344
239
  }, /*#__PURE__*/React.createElement(CheckBox, {
345
240
  value: selectAll,
346
241
  label: selectAll ? listControls?.unselectAllText || 'Clear all' : listControls?.selectAllText || 'Select all',
@@ -355,7 +250,7 @@ export const DropdownSelect = ({
355
250
  })))),
356
251
  ListFooterComponent: listFooterComponent,
357
252
  listComponentStyles: listComponentStyles,
358
- options: newOptions,
253
+ options: filteredOptions,
359
254
  optionLabel: optionLabel,
360
255
  optionValue: optionValue,
361
256
  isMultiple: isMultiple,
@@ -375,7 +270,7 @@ export const DropdownSelect = ({
375
270
  listEmptyComponent: listEmptyComponent,
376
271
  emptyListMessage: listControls?.emptyListMessage
377
272
  })));
378
- };
273
+ });
379
274
  const styles = StyleSheet.create({
380
275
  optionsContainerStyle: {
381
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","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","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