react-native-input-select 1.3.1 → 1.3.2

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.
@@ -68,7 +68,8 @@ const DropdownSelectedItemsView = _ref => {
68
68
  style: [styles.selectedItems, {
69
69
  backgroundColor: primaryColor
70
70
  }, multipleSelectedItemStyle],
71
- label: label
71
+ label: label,
72
+ disabled: disabled
72
73
  })) : /*#__PURE__*/_react.default.createElement(DropdownContent, {
73
74
  onPress: () => {
74
75
  handleToggleModal();
@@ -76,11 +77,13 @@ const DropdownSelectedItemsView = _ref => {
76
77
  },
77
78
 
78
79
  style: [styles.blackText, selectedItemStyle],
79
- label: getSelectedItemsLabel()
80
+ label: getSelectedItemsLabel(),
81
+ disabled: disabled
80
82
  }), !selectedItem && (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) === 0 && /*#__PURE__*/_react.default.createElement(DropdownContent, {
81
83
  onPress: () => handleToggleModal(),
82
84
  style: [styles.blackText, placeholderStyle],
83
- label: placeholder ?? 'Select an option'
85
+ label: placeholder ?? 'Select an option',
86
+ disabled: disabled
84
87
  }))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
85
88
  style: [styles.iconStyle, dropdownIconStyle]
86
89
  }, dropdownIcon || /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_input","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","DropdownSelectedItemsView","_ref","_getSelectedItemsLabe","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownIcon","dropdownStyle","dropdownIconStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","setIndexOfSelectedItem","createElement","Pressable","onPress","style","_ref2","pressed","inputStyles","inputFocusState","borderColor","input","inputFocusErrorState","ScrollView","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","View","styles","selectedItemsContainer","onStartShouldSetResponder","map","label","DropdownContent","Math","random","backgroundColor","blackText","iconStyle","Image","_ref3","rest","TouchableOpacity","Text","StyleSheet","create","position","right","top","flexDirection","flexWrap","alignItems","color","colors","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","overflow","black","_default","exports"],"sources":["DropdownSelectedItemsView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n View,\n Text,\n Pressable,\n ScrollView,\n StyleSheet,\n Image,\n TouchableOpacity,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { inputStyles } from '../../styles/input';\n\nconst DropdownSelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownIcon,\n dropdownStyle,\n dropdownIconStyle,\n selectedItemStyle,\n placeholderStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n setIndexOfSelectedItem,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n { ...inputStyles.input, ...dropdownStyle },\n error && //this must be last\n error !== '' &&\n !pressed && {\n ...inputStyles.inputFocusErrorState,\n ...dropdownErrorStyle,\n },\n ]}\n disabled={disabled}\n >\n <ScrollView\n horizontal\n alwaysBounceHorizontal\n showsHorizontalScrollIndicator={false}\n >\n <View\n style={styles.selectedItemsContainer}\n onStartShouldSetResponder={() => true}\n >\n {isMultiple ? (\n getSelectedItemsLabel()?.map((label: string, i: Number) => (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(label); // immediately scrolls to list item with the specified label when modal\n }}\n key={`react-native-input-select-${Math.random()}-${i}`}\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n label={label}\n />\n ))\n ) : (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(getSelectedItemsLabel()); // immediately scrolls to list item with the specified label when modal\n }}\n style={[styles.blackText, selectedItemStyle]}\n label={getSelectedItemsLabel()}\n />\n )}\n {!selectedItem && selectedItems?.length === 0 && (\n <DropdownContent\n onPress={() => handleToggleModal()}\n style={[styles.blackText, placeholderStyle]}\n label={placeholder ?? 'Select an option'}\n />\n )}\n </View>\n </ScrollView>\n <View style={[styles.iconStyle, dropdownIconStyle]}>\n {dropdownIcon || (\n <Image source={require('../../asset/arrow-down.png')} />\n )}\n </View>\n </Pressable>\n );\n};\n\nconst DropdownContent = ({ onPress, style, label, ...rest }: any) => {\n return (\n <TouchableOpacity onPress={() => onPress()} {...rest}>\n <Text style={style}>{label}</Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n overflow: 'hidden',\n },\n blackText: { color: colors.black },\n});\n\nexport default DropdownSelectedItemsView;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_input","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","DropdownSelectedItemsView","_ref","_getSelectedItemsLabe","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownIcon","dropdownStyle","dropdownIconStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","setIndexOfSelectedItem","createElement","Pressable","onPress","style","_ref2","pressed","inputStyles","inputFocusState","borderColor","input","inputFocusErrorState","ScrollView","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","View","styles","selectedItemsContainer","onStartShouldSetResponder","map","label","DropdownContent","Math","random","backgroundColor","blackText","iconStyle","Image","_ref3","rest","TouchableOpacity","Text","StyleSheet","create","position","right","top","flexDirection","flexWrap","alignItems","color","colors","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","overflow","black","_default","exports"],"sources":["DropdownSelectedItemsView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n View,\n Text,\n Pressable,\n ScrollView,\n StyleSheet,\n Image,\n TouchableOpacity,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { inputStyles } from '../../styles/input';\n\nconst DropdownSelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownIcon,\n dropdownStyle,\n dropdownIconStyle,\n selectedItemStyle,\n placeholderStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n setIndexOfSelectedItem,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n { ...inputStyles.input, ...dropdownStyle },\n error && //this must be last\n error !== '' &&\n !pressed && {\n ...inputStyles.inputFocusErrorState,\n ...dropdownErrorStyle,\n },\n ]}\n disabled={disabled}\n >\n <ScrollView\n horizontal\n alwaysBounceHorizontal\n showsHorizontalScrollIndicator={false}\n >\n <View\n style={styles.selectedItemsContainer}\n onStartShouldSetResponder={() => true}\n >\n {isMultiple ? (\n getSelectedItemsLabel()?.map((label: string, i: Number) => (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(label); // immediately scrolls to list item with the specified label when modal\n }}\n key={`react-native-input-select-${Math.random()}-${i}`}\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n label={label}\n disabled={disabled}\n />\n ))\n ) : (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(getSelectedItemsLabel()); // immediately scrolls to list item with the specified label when modal\n }}\n style={[styles.blackText, selectedItemStyle]}\n label={getSelectedItemsLabel()}\n disabled={disabled}\n />\n )}\n {!selectedItem && selectedItems?.length === 0 && (\n <DropdownContent\n onPress={() => handleToggleModal()}\n style={[styles.blackText, placeholderStyle]}\n label={placeholder ?? 'Select an option'}\n disabled={disabled}\n />\n )}\n </View>\n </ScrollView>\n <View style={[styles.iconStyle, dropdownIconStyle]}>\n {dropdownIcon || (\n <Image source={require('../../asset/arrow-down.png')} />\n )}\n </View>\n </Pressable>\n );\n};\n\nconst DropdownContent = ({ onPress, style, label, ...rest }: any) => {\n return (\n <TouchableOpacity onPress={() => onPress()} {...rest}>\n <Text style={style}>{label}</Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n overflow: 'hidden',\n },\n blackText: { color: colors.black },\n});\n\nexport default DropdownSelectedItemsView;\n"],"mappings":"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"}
@@ -237,6 +237,10 @@ const DropdownSelect = _ref => {
237
237
  * Modal
238
238
  *==========================================*/
239
239
  const handleToggleModal = () => {
240
+ if (disabled) {
241
+ // protecting any toggleModal invocation when Dropdown is disabled by not activating state
242
+ return;
243
+ }
240
244
  setOpen(!open);
241
245
  setSearchValue('');
242
246
  setNewOptions(options);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Input","_interopRequireDefault","_CheckBox","_Dropdown","_DropdownFlatList","_DropdownSectionList","_CustomModal","_colors","_constants","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","DropdownSelect","_ref","_extractPropertyFromA","_searchControls$textI","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","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","modalProps","hideModal","listControls","searchControls","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","optLabel","DEFAULT_OPTION_LABEL","optValue","DEFAULT_OPTION_VALUE","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","selectAllCallback","unselectAllCallback","checkSelectAll","useCallback","_removeDisabledItems","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","filteredData","handleToggleModal","primary","colors","gray","setIndexOfSelectedItem","selectedLabel","_item$data","dataItem","createElement","Fragment","onRequestClose","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"],"sources":["index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Input from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownFlatList from './components/Dropdown/DropdownFlatList';\nimport DropdownSectionList from './components/Dropdown/DropdownSectionList';\nimport CustomModal from './components/CustomModal';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type {\n DropdownProps,\n TFlatList,\n TFlatListItem,\n TSectionList,\n TSectionListItem,\n} from './types/index.types';\nimport { extractPropertyFromArray } from './utils';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle, // kept for backwards compatibility\n primaryColor,\n disabled,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n listHeaderComponent,\n listFooterComponent,\n listComponentStyles,\n modalProps,\n hideModal = false,\n listControls,\n searchControls,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<TFlatList | TSectionList>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); // for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); // for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n const [listIndex, setListIndex] = useState<{\n sectionIndex?: number;\n itemIndex: number;\n }>({ itemIndex: -1, sectionIndex: -1 }); // for scrollToIndex in Sectionlist and Flatlist\n\n useEffect(() => {\n setNewOptions(options);\n return () => {};\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n\n return () => {};\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * List type\n *==========================================*/\n\n // check the structure of the new options array to determine if it is a section list or a\n const isSectionList = newOptions?.some(\n (item) => item.title && item.data && Array.isArray(item.data)\n );\n\n const ListTypeComponent = isSectionList\n ? DropdownSectionList\n : DropdownFlatList;\n const modifiedSectionData = extractPropertyFromArray(\n newOptions,\n 'data'\n )?.flat();\n\n /**\n * `options` is the original array, it never changes. (Do not use except you really need the original array) .\n * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value many change.\n * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`\n */\n const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;\n\n const optLabel = optionLabel || DEFAULT_OPTION_LABEL;\n const optValue = optionValue || DEFAULT_OPTION_VALUE;\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: string | number) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); // send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); // send value to parent\n setOpen(false); // close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: string[] | number[]) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n onValueChange(selectedValues); // send value to parent\n return selectedValues;\n });\n };\n\n const removeDisabledItems = (items: TFlatList) => {\n return items?.filter((item: TFlatListItem) => !item.disabled);\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n // don't select disabled items\n const filteredOptions = removeDisabledItems(\n isSectionList\n ? extractPropertyFromArray(options, 'data').flat()\n : options\n );\n\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); // send value to parent\n return !prevVal;\n });\n\n if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {\n listControls.selectAllCallback();\n }\n\n if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {\n listControls.unselectAllCallback();\n }\n };\n\n /*===========================================\n * Handle side effects\n *==========================================*/\n const checkSelectAll = useCallback(\n (selectedValues: any[]) => {\n //if the list contains disabled values, those values will not be selected\n if (\n removeDisabledItems(modifiedOptions)?.length === selectedValues?.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n },\n [modifiedOptions]\n );\n\n // anytime the selected items change, check if it is time to set `selectAll` to true\n useEffect(() => {\n if (isMultiple) {\n checkSelectAll(selectedItems);\n }\n return () => {};\n }, [checkSelectAll, isMultiple, selectedItems]);\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n\n selectedItems?.forEach((element: number | string) => {\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === element\n )?.[optLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === selectedItem\n );\n return selectedItemLabel?.[optLabel];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n // Because the options array will be mutated while searching, we have to search with the original array\n const searchResults = isSectionList\n ? searchSectionList(options as TSectionList, regexFilter)\n : searchFlatList(options as TFlatList, regexFilter);\n\n setNewOptions(searchResults);\n };\n\n const searchFlatList = (flatList: TFlatList, regexFilter: RegExp) => {\n const searchResults = flatList.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n const filteredData = listItem.data.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n\n return { ...listItem, data: filteredData };\n });\n\n return searchResults;\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n setListIndex({ itemIndex: -1, sectionIndex: -1 });\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n return () => {};\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n\n /*===========================================\n * setIndexOfSelectedItem - For ScrollToIndex\n *==========================================*/\n const setIndexOfSelectedItem = (selectedLabel: string) => {\n isSectionList\n ? (options as TSectionListItem[] | undefined)?.map(\n (item: TSectionListItem, sectionIndex: number) => {\n item?.data?.find((dataItem: TFlatListItem, itemIndex: number) => {\n if (dataItem[optLabel] === selectedLabel) {\n setListIndex({ sectionIndex, itemIndex });\n }\n });\n }\n )\n : (options as TFlatListItem[] | undefined)?.find(\n (item: TFlatListItem, itemIndex: number) => {\n if (item[optLabel] === selectedLabel) {\n setListIndex({ itemIndex });\n }\n }\n );\n };\n\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n setIndexOfSelectedItem={setIndexOfSelectedItem}\n {...rest}\n />\n <CustomModal\n open={open}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => handleToggleModal()}\n modalProps={modalProps}\n >\n <ListTypeComponent\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchControls?.textInputStyle || searchInputStyle}\n primaryColor={primary}\n textInputContainerStyle={\n searchControls?.textInputContainerStyle\n }\n placeholder={\n searchControls?.textInputProps?.placeholder || 'Search'\n }\n {...searchControls?.textInputProps}\n />\n )}\n {listHeaderComponent}\n {!listControls?.hideSelectAll &&\n isMultiple &&\n modifiedOptions?.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={\n selectAll\n ? listControls?.unselectAllText || 'Clear all'\n : listControls?.selectAllText || 'Select all'\n }\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n listComponentStyles={listComponentStyles}\n options={newOptions}\n optionLabel={optLabel}\n optionValue={optValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n listIndex={listIndex}\n emptyListMessage={listControls?.emptyListMessage}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Input","_interopRequireDefault","_CheckBox","_Dropdown","_DropdownFlatList","_DropdownSectionList","_CustomModal","_colors","_constants","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","DropdownSelect","_ref","_extractPropertyFromA","_searchControls$textI","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","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","modalProps","hideModal","listControls","searchControls","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","optLabel","DEFAULT_OPTION_LABEL","optValue","DEFAULT_OPTION_VALUE","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","selectAllCallback","unselectAllCallback","checkSelectAll","useCallback","_removeDisabledItems","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","filteredData","handleToggleModal","primary","colors","gray","setIndexOfSelectedItem","selectedLabel","_item$data","dataItem","createElement","Fragment","onRequestClose","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"],"sources":["index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Input from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownFlatList from './components/Dropdown/DropdownFlatList';\nimport DropdownSectionList from './components/Dropdown/DropdownSectionList';\nimport CustomModal from './components/CustomModal';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type {\n DropdownProps,\n TFlatList,\n TFlatListItem,\n TSectionList,\n TSectionListItem,\n} from './types/index.types';\nimport { extractPropertyFromArray } from './utils';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle, // kept for backwards compatibility\n primaryColor,\n disabled,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n listHeaderComponent,\n listFooterComponent,\n listComponentStyles,\n modalProps,\n hideModal = false,\n listControls,\n searchControls,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<TFlatList | TSectionList>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); // for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); // for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n const [listIndex, setListIndex] = useState<{\n sectionIndex?: number;\n itemIndex: number;\n }>({ itemIndex: -1, sectionIndex: -1 }); // for scrollToIndex in Sectionlist and Flatlist\n\n useEffect(() => {\n setNewOptions(options);\n return () => {};\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n\n return () => {};\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * List type\n *==========================================*/\n\n // check the structure of the new options array to determine if it is a section list or a\n const isSectionList = newOptions?.some(\n (item) => item.title && item.data && Array.isArray(item.data)\n );\n\n const ListTypeComponent = isSectionList\n ? DropdownSectionList\n : DropdownFlatList;\n const modifiedSectionData = extractPropertyFromArray(\n newOptions,\n 'data'\n )?.flat();\n\n /**\n * `options` is the original array, it never changes. (Do not use except you really need the original array) .\n * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value many change.\n * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`\n */\n const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;\n\n const optLabel = optionLabel || DEFAULT_OPTION_LABEL;\n const optValue = optionValue || DEFAULT_OPTION_VALUE;\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: string | number) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); // send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); // send value to parent\n setOpen(false); // close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: string[] | number[]) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n onValueChange(selectedValues); // send value to parent\n return selectedValues;\n });\n };\n\n const removeDisabledItems = (items: TFlatList) => {\n return items?.filter((item: TFlatListItem) => !item.disabled);\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n // don't select disabled items\n const filteredOptions = removeDisabledItems(\n isSectionList\n ? extractPropertyFromArray(options, 'data').flat()\n : options\n );\n\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); // send value to parent\n return !prevVal;\n });\n\n if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {\n listControls.selectAllCallback();\n }\n\n if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {\n listControls.unselectAllCallback();\n }\n };\n\n /*===========================================\n * Handle side effects\n *==========================================*/\n const checkSelectAll = useCallback(\n (selectedValues: any[]) => {\n //if the list contains disabled values, those values will not be selected\n if (\n removeDisabledItems(modifiedOptions)?.length === selectedValues?.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n },\n [modifiedOptions]\n );\n\n // anytime the selected items change, check if it is time to set `selectAll` to true\n useEffect(() => {\n if (isMultiple) {\n checkSelectAll(selectedItems);\n }\n return () => {};\n }, [checkSelectAll, isMultiple, selectedItems]);\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n\n selectedItems?.forEach((element: number | string) => {\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === element\n )?.[optLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === selectedItem\n );\n return selectedItemLabel?.[optLabel];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n // Because the options array will be mutated while searching, we have to search with the original array\n const searchResults = isSectionList\n ? searchSectionList(options as TSectionList, regexFilter)\n : searchFlatList(options as TFlatList, regexFilter);\n\n setNewOptions(searchResults);\n };\n\n const searchFlatList = (flatList: TFlatList, regexFilter: RegExp) => {\n const searchResults = flatList.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n const filteredData = listItem.data.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n\n return { ...listItem, data: filteredData };\n });\n\n return searchResults;\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n if (disabled){ // protecting any toggleModal invocation when Dropdown is disabled by not activating state\n return; \n }\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n setListIndex({ itemIndex: -1, sectionIndex: -1 });\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n return () => {};\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n\n /*===========================================\n * setIndexOfSelectedItem - For ScrollToIndex\n *==========================================*/\n const setIndexOfSelectedItem = (selectedLabel: string) => {\n isSectionList\n ? (options as TSectionListItem[] | undefined)?.map(\n (item: TSectionListItem, sectionIndex: number) => {\n item?.data?.find((dataItem: TFlatListItem, itemIndex: number) => {\n if (dataItem[optLabel] === selectedLabel) {\n setListIndex({ sectionIndex, itemIndex });\n }\n });\n }\n )\n : (options as TFlatListItem[] | undefined)?.find(\n (item: TFlatListItem, itemIndex: number) => {\n if (item[optLabel] === selectedLabel) {\n setListIndex({ itemIndex });\n }\n }\n );\n };\n\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n setIndexOfSelectedItem={setIndexOfSelectedItem}\n {...rest}\n />\n <CustomModal\n open={open}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => handleToggleModal()}\n modalProps={modalProps}\n >\n <ListTypeComponent\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchControls?.textInputStyle || searchInputStyle}\n primaryColor={primary}\n textInputContainerStyle={\n searchControls?.textInputContainerStyle\n }\n placeholder={\n searchControls?.textInputProps?.placeholder || 'Search'\n }\n {...searchControls?.textInputProps}\n />\n )}\n {listHeaderComponent}\n {!listControls?.hideSelectAll &&\n isMultiple &&\n modifiedOptions?.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={\n selectAll\n ? listControls?.unselectAllText || 'Clear all'\n : listControls?.selectAllText || 'Select all'\n }\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n listComponentStyles={listComponentStyles}\n options={newOptions}\n optionLabel={optLabel}\n optionValue={optValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n listIndex={listIndex}\n emptyListMessage={listControls?.emptyListMessage}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"],"mappings":"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"}
@@ -61,7 +61,8 @@ const DropdownSelectedItemsView = _ref => {
61
61
  style: [styles.selectedItems, {
62
62
  backgroundColor: primaryColor
63
63
  }, multipleSelectedItemStyle],
64
- label: label
64
+ label: label,
65
+ disabled: disabled
65
66
  })) : /*#__PURE__*/React.createElement(DropdownContent, {
66
67
  onPress: () => {
67
68
  handleToggleModal();
@@ -69,11 +70,13 @@ const DropdownSelectedItemsView = _ref => {
69
70
  },
70
71
 
71
72
  style: [styles.blackText, selectedItemStyle],
72
- label: getSelectedItemsLabel()
73
+ label: getSelectedItemsLabel(),
74
+ disabled: disabled
73
75
  }), !selectedItem && (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) === 0 && /*#__PURE__*/React.createElement(DropdownContent, {
74
76
  onPress: () => handleToggleModal(),
75
77
  style: [styles.blackText, placeholderStyle],
76
- label: placeholder ?? 'Select an option'
78
+ label: placeholder ?? 'Select an option',
79
+ disabled: disabled
77
80
  }))), /*#__PURE__*/React.createElement(View, {
78
81
  style: [styles.iconStyle, dropdownIconStyle]
79
82
  }, dropdownIcon || /*#__PURE__*/React.createElement(Image, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Pressable","ScrollView","StyleSheet","Image","TouchableOpacity","colors","inputStyles","DropdownSelectedItemsView","_ref","_getSelectedItemsLabe","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownIcon","dropdownStyle","dropdownIconStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","setIndexOfSelectedItem","createElement","onPress","style","_ref2","pressed","inputFocusState","borderColor","input","inputFocusErrorState","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","styles","selectedItemsContainer","onStartShouldSetResponder","map","label","i","DropdownContent","key","Math","random","backgroundColor","blackText","length","iconStyle","source","require","_ref3","rest","_extends","create","position","right","top","flexDirection","flexWrap","alignItems","color","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","overflow","black"],"sources":["DropdownSelectedItemsView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n View,\n Text,\n Pressable,\n ScrollView,\n StyleSheet,\n Image,\n TouchableOpacity,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { inputStyles } from '../../styles/input';\n\nconst DropdownSelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownIcon,\n dropdownStyle,\n dropdownIconStyle,\n selectedItemStyle,\n placeholderStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n setIndexOfSelectedItem,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n { ...inputStyles.input, ...dropdownStyle },\n error && //this must be last\n error !== '' &&\n !pressed && {\n ...inputStyles.inputFocusErrorState,\n ...dropdownErrorStyle,\n },\n ]}\n disabled={disabled}\n >\n <ScrollView\n horizontal\n alwaysBounceHorizontal\n showsHorizontalScrollIndicator={false}\n >\n <View\n style={styles.selectedItemsContainer}\n onStartShouldSetResponder={() => true}\n >\n {isMultiple ? (\n getSelectedItemsLabel()?.map((label: string, i: Number) => (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(label); // immediately scrolls to list item with the specified label when modal\n }}\n key={`react-native-input-select-${Math.random()}-${i}`}\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n label={label}\n />\n ))\n ) : (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(getSelectedItemsLabel()); // immediately scrolls to list item with the specified label when modal\n }}\n style={[styles.blackText, selectedItemStyle]}\n label={getSelectedItemsLabel()}\n />\n )}\n {!selectedItem && selectedItems?.length === 0 && (\n <DropdownContent\n onPress={() => handleToggleModal()}\n style={[styles.blackText, placeholderStyle]}\n label={placeholder ?? 'Select an option'}\n />\n )}\n </View>\n </ScrollView>\n <View style={[styles.iconStyle, dropdownIconStyle]}>\n {dropdownIcon || (\n <Image source={require('../../asset/arrow-down.png')} />\n )}\n </View>\n </Pressable>\n );\n};\n\nconst DropdownContent = ({ onPress, style, label, ...rest }: any) => {\n return (\n <TouchableOpacity onPress={() => onPress()} {...rest}>\n <Text style={style}>{label}</Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n overflow: 'hidden',\n },\n blackText: { color: colors.black },\n});\n\nexport default DropdownSelectedItemsView;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","Pressable","ScrollView","StyleSheet","Image","TouchableOpacity","colors","inputStyles","DropdownSelectedItemsView","_ref","_getSelectedItemsLabe","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownIcon","dropdownStyle","dropdownIconStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","setIndexOfSelectedItem","createElement","onPress","style","_ref2","pressed","inputFocusState","borderColor","input","inputFocusErrorState","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","styles","selectedItemsContainer","onStartShouldSetResponder","map","label","i","DropdownContent","key","Math","random","backgroundColor","blackText","length","iconStyle","source","require","_ref3","rest","_extends","create","position","right","top","flexDirection","flexWrap","alignItems","color","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","overflow","black"],"sources":["DropdownSelectedItemsView.tsx"],"sourcesContent":["import React from 'react';\nimport {\n View,\n Text,\n Pressable,\n ScrollView,\n StyleSheet,\n Image,\n TouchableOpacity,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { inputStyles } from '../../styles/input';\n\nconst DropdownSelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownIcon,\n dropdownStyle,\n dropdownIconStyle,\n selectedItemStyle,\n placeholderStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n setIndexOfSelectedItem,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n { ...inputStyles.input, ...dropdownStyle },\n error && //this must be last\n error !== '' &&\n !pressed && {\n ...inputStyles.inputFocusErrorState,\n ...dropdownErrorStyle,\n },\n ]}\n disabled={disabled}\n >\n <ScrollView\n horizontal\n alwaysBounceHorizontal\n showsHorizontalScrollIndicator={false}\n >\n <View\n style={styles.selectedItemsContainer}\n onStartShouldSetResponder={() => true}\n >\n {isMultiple ? (\n getSelectedItemsLabel()?.map((label: string, i: Number) => (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(label); // immediately scrolls to list item with the specified label when modal\n }}\n key={`react-native-input-select-${Math.random()}-${i}`}\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n label={label}\n disabled={disabled}\n />\n ))\n ) : (\n <DropdownContent\n onPress={() => {\n handleToggleModal();\n setIndexOfSelectedItem(getSelectedItemsLabel()); // immediately scrolls to list item with the specified label when modal\n }}\n style={[styles.blackText, selectedItemStyle]}\n label={getSelectedItemsLabel()}\n disabled={disabled}\n />\n )}\n {!selectedItem && selectedItems?.length === 0 && (\n <DropdownContent\n onPress={() => handleToggleModal()}\n style={[styles.blackText, placeholderStyle]}\n label={placeholder ?? 'Select an option'}\n disabled={disabled}\n />\n )}\n </View>\n </ScrollView>\n <View style={[styles.iconStyle, dropdownIconStyle]}>\n {dropdownIcon || (\n <Image source={require('../../asset/arrow-down.png')} />\n )}\n </View>\n </Pressable>\n );\n};\n\nconst DropdownContent = ({ onPress, style, label, ...rest }: any) => {\n return (\n <TouchableOpacity onPress={() => onPress()} {...rest}>\n <Text style={style}>{label}</Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n overflow: 'hidden',\n },\n blackText: { color: colors.black },\n});\n\nexport default DropdownSelectedItemsView;\n"],"mappings":"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"}
@@ -228,6 +228,10 @@ export const DropdownSelect = _ref => {
228
228
  * Modal
229
229
  *==========================================*/
230
230
  const handleToggleModal = () => {
231
+ if (disabled) {
232
+ // protecting any toggleModal invocation when Dropdown is disabled by not activating state
233
+ return;
234
+ }
231
235
  setOpen(!open);
232
236
  setSearchValue('');
233
237
  setNewOptions(options);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useCallback","TouchableOpacity","StyleSheet","View","Input","CheckBox","Dropdown","DropdownFlatList","DropdownSectionList","CustomModal","colors","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","extractPropertyFromArray","DropdownSelect","_ref","_extractPropertyFromA","_searchControls$textI","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","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","modalProps","hideModal","listControls","searchControls","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","optLabel","optValue","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","i","length","selectAllCallback","unselectAllCallback","checkSelectAll","_removeDisabledItems","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","filteredData","handleToggleModal","primary","gray","setIndexOfSelectedItem","selectedLabel","_item$data","dataItem","createElement","Fragment","_extends","onRequestClose","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","styles","optionsContainerStyle","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","create","paddingHorizontal","paddingVertical","flexDirection"],"sources":["index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Input from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownFlatList from './components/Dropdown/DropdownFlatList';\nimport DropdownSectionList from './components/Dropdown/DropdownSectionList';\nimport CustomModal from './components/CustomModal';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type {\n DropdownProps,\n TFlatList,\n TFlatListItem,\n TSectionList,\n TSectionListItem,\n} from './types/index.types';\nimport { extractPropertyFromArray } from './utils';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle, // kept for backwards compatibility\n primaryColor,\n disabled,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n listHeaderComponent,\n listFooterComponent,\n listComponentStyles,\n modalProps,\n hideModal = false,\n listControls,\n searchControls,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<TFlatList | TSectionList>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); // for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); // for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n const [listIndex, setListIndex] = useState<{\n sectionIndex?: number;\n itemIndex: number;\n }>({ itemIndex: -1, sectionIndex: -1 }); // for scrollToIndex in Sectionlist and Flatlist\n\n useEffect(() => {\n setNewOptions(options);\n return () => {};\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n\n return () => {};\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * List type\n *==========================================*/\n\n // check the structure of the new options array to determine if it is a section list or a\n const isSectionList = newOptions?.some(\n (item) => item.title && item.data && Array.isArray(item.data)\n );\n\n const ListTypeComponent = isSectionList\n ? DropdownSectionList\n : DropdownFlatList;\n const modifiedSectionData = extractPropertyFromArray(\n newOptions,\n 'data'\n )?.flat();\n\n /**\n * `options` is the original array, it never changes. (Do not use except you really need the original array) .\n * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value many change.\n * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`\n */\n const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;\n\n const optLabel = optionLabel || DEFAULT_OPTION_LABEL;\n const optValue = optionValue || DEFAULT_OPTION_VALUE;\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: string | number) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); // send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); // send value to parent\n setOpen(false); // close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: string[] | number[]) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n onValueChange(selectedValues); // send value to parent\n return selectedValues;\n });\n };\n\n const removeDisabledItems = (items: TFlatList) => {\n return items?.filter((item: TFlatListItem) => !item.disabled);\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n // don't select disabled items\n const filteredOptions = removeDisabledItems(\n isSectionList\n ? extractPropertyFromArray(options, 'data').flat()\n : options\n );\n\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); // send value to parent\n return !prevVal;\n });\n\n if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {\n listControls.selectAllCallback();\n }\n\n if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {\n listControls.unselectAllCallback();\n }\n };\n\n /*===========================================\n * Handle side effects\n *==========================================*/\n const checkSelectAll = useCallback(\n (selectedValues: any[]) => {\n //if the list contains disabled values, those values will not be selected\n if (\n removeDisabledItems(modifiedOptions)?.length === selectedValues?.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n },\n [modifiedOptions]\n );\n\n // anytime the selected items change, check if it is time to set `selectAll` to true\n useEffect(() => {\n if (isMultiple) {\n checkSelectAll(selectedItems);\n }\n return () => {};\n }, [checkSelectAll, isMultiple, selectedItems]);\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n\n selectedItems?.forEach((element: number | string) => {\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === element\n )?.[optLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === selectedItem\n );\n return selectedItemLabel?.[optLabel];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n // Because the options array will be mutated while searching, we have to search with the original array\n const searchResults = isSectionList\n ? searchSectionList(options as TSectionList, regexFilter)\n : searchFlatList(options as TFlatList, regexFilter);\n\n setNewOptions(searchResults);\n };\n\n const searchFlatList = (flatList: TFlatList, regexFilter: RegExp) => {\n const searchResults = flatList.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n const filteredData = listItem.data.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n\n return { ...listItem, data: filteredData };\n });\n\n return searchResults;\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n setListIndex({ itemIndex: -1, sectionIndex: -1 });\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n return () => {};\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n\n /*===========================================\n * setIndexOfSelectedItem - For ScrollToIndex\n *==========================================*/\n const setIndexOfSelectedItem = (selectedLabel: string) => {\n isSectionList\n ? (options as TSectionListItem[] | undefined)?.map(\n (item: TSectionListItem, sectionIndex: number) => {\n item?.data?.find((dataItem: TFlatListItem, itemIndex: number) => {\n if (dataItem[optLabel] === selectedLabel) {\n setListIndex({ sectionIndex, itemIndex });\n }\n });\n }\n )\n : (options as TFlatListItem[] | undefined)?.find(\n (item: TFlatListItem, itemIndex: number) => {\n if (item[optLabel] === selectedLabel) {\n setListIndex({ itemIndex });\n }\n }\n );\n };\n\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n setIndexOfSelectedItem={setIndexOfSelectedItem}\n {...rest}\n />\n <CustomModal\n open={open}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => handleToggleModal()}\n modalProps={modalProps}\n >\n <ListTypeComponent\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchControls?.textInputStyle || searchInputStyle}\n primaryColor={primary}\n textInputContainerStyle={\n searchControls?.textInputContainerStyle\n }\n placeholder={\n searchControls?.textInputProps?.placeholder || 'Search'\n }\n {...searchControls?.textInputProps}\n />\n )}\n {listHeaderComponent}\n {!listControls?.hideSelectAll &&\n isMultiple &&\n modifiedOptions?.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={\n selectAll\n ? listControls?.unselectAllText || 'Clear all'\n : listControls?.selectAllText || 'Select all'\n }\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n listComponentStyles={listComponentStyles}\n options={newOptions}\n optionLabel={optLabel}\n optionValue={optValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n listIndex={listIndex}\n emptyListMessage={listControls?.emptyListMessage}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","useEffect","useCallback","TouchableOpacity","StyleSheet","View","Input","CheckBox","Dropdown","DropdownFlatList","DropdownSectionList","CustomModal","colors","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","extractPropertyFromArray","DropdownSelect","_ref","_extractPropertyFromA","_searchControls$textI","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","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listHeaderComponent","listFooterComponent","listComponentStyles","modalProps","hideModal","listControls","searchControls","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","optLabel","optValue","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","i","length","selectAllCallback","unselectAllCallback","checkSelectAll","_removeDisabledItems","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","filteredData","handleToggleModal","primary","gray","setIndexOfSelectedItem","selectedLabel","_item$data","dataItem","createElement","Fragment","_extends","onRequestClose","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","textInputProps","hideSelectAll","styles","optionsContainerStyle","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","emptyListMessage","create","paddingHorizontal","paddingVertical","flexDirection"],"sources":["index.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Input from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownFlatList from './components/Dropdown/DropdownFlatList';\nimport DropdownSectionList from './components/Dropdown/DropdownSectionList';\nimport CustomModal from './components/CustomModal';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type {\n DropdownProps,\n TFlatList,\n TFlatListItem,\n TSectionList,\n TSectionListItem,\n} from './types/index.types';\nimport { extractPropertyFromArray } from './utils';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle, // kept for backwards compatibility\n primaryColor,\n disabled,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n listHeaderComponent,\n listFooterComponent,\n listComponentStyles,\n modalProps,\n hideModal = false,\n listControls,\n searchControls,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<TFlatList | TSectionList>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); // for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); // for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n const [listIndex, setListIndex] = useState<{\n sectionIndex?: number;\n itemIndex: number;\n }>({ itemIndex: -1, sectionIndex: -1 }); // for scrollToIndex in Sectionlist and Flatlist\n\n useEffect(() => {\n setNewOptions(options);\n return () => {};\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n\n return () => {};\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * List type\n *==========================================*/\n\n // check the structure of the new options array to determine if it is a section list or a\n const isSectionList = newOptions?.some(\n (item) => item.title && item.data && Array.isArray(item.data)\n );\n\n const ListTypeComponent = isSectionList\n ? DropdownSectionList\n : DropdownFlatList;\n const modifiedSectionData = extractPropertyFromArray(\n newOptions,\n 'data'\n )?.flat();\n\n /**\n * `options` is the original array, it never changes. (Do not use except you really need the original array) .\n * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value many change.\n * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`\n */\n const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;\n\n const optLabel = optionLabel || DEFAULT_OPTION_LABEL;\n const optValue = optionValue || DEFAULT_OPTION_VALUE;\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: string | number) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); // send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); // send value to parent\n setOpen(false); // close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: string[] | number[]) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n onValueChange(selectedValues); // send value to parent\n return selectedValues;\n });\n };\n\n const removeDisabledItems = (items: TFlatList) => {\n return items?.filter((item: TFlatListItem) => !item.disabled);\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n // don't select disabled items\n const filteredOptions = removeDisabledItems(\n isSectionList\n ? extractPropertyFromArray(options, 'data').flat()\n : options\n );\n\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); // send value to parent\n return !prevVal;\n });\n\n if (typeof listControls?.selectAllCallback === 'function' && !selectAll) {\n listControls.selectAllCallback();\n }\n\n if (typeof listControls?.unselectAllCallback === 'function' && selectAll) {\n listControls.unselectAllCallback();\n }\n };\n\n /*===========================================\n * Handle side effects\n *==========================================*/\n const checkSelectAll = useCallback(\n (selectedValues: any[]) => {\n //if the list contains disabled values, those values will not be selected\n if (\n removeDisabledItems(modifiedOptions)?.length === selectedValues?.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n },\n [modifiedOptions]\n );\n\n // anytime the selected items change, check if it is time to set `selectAll` to true\n useEffect(() => {\n if (isMultiple) {\n checkSelectAll(selectedItems);\n }\n return () => {};\n }, [checkSelectAll, isMultiple, selectedItems]);\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n\n selectedItems?.forEach((element: number | string) => {\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === element\n )?.[optLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === selectedItem\n );\n return selectedItemLabel?.[optLabel];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n // Because the options array will be mutated while searching, we have to search with the original array\n const searchResults = isSectionList\n ? searchSectionList(options as TSectionList, regexFilter)\n : searchFlatList(options as TFlatList, regexFilter);\n\n setNewOptions(searchResults);\n };\n\n const searchFlatList = (flatList: TFlatList, regexFilter: RegExp) => {\n const searchResults = flatList.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n const filteredData = listItem.data.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return true;\n }\n return false;\n });\n\n return { ...listItem, data: filteredData };\n });\n\n return searchResults;\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n if (disabled){ // protecting any toggleModal invocation when Dropdown is disabled by not activating state\n return; \n }\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n setListIndex({ itemIndex: -1, sectionIndex: -1 });\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n return () => {};\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n\n /*===========================================\n * setIndexOfSelectedItem - For ScrollToIndex\n *==========================================*/\n const setIndexOfSelectedItem = (selectedLabel: string) => {\n isSectionList\n ? (options as TSectionListItem[] | undefined)?.map(\n (item: TSectionListItem, sectionIndex: number) => {\n item?.data?.find((dataItem: TFlatListItem, itemIndex: number) => {\n if (dataItem[optLabel] === selectedLabel) {\n setListIndex({ sectionIndex, itemIndex });\n }\n });\n }\n )\n : (options as TFlatListItem[] | undefined)?.find(\n (item: TFlatListItem, itemIndex: number) => {\n if (item[optLabel] === selectedLabel) {\n setListIndex({ itemIndex });\n }\n }\n );\n };\n\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n setIndexOfSelectedItem={setIndexOfSelectedItem}\n {...rest}\n />\n <CustomModal\n open={open}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => handleToggleModal()}\n modalProps={modalProps}\n >\n <ListTypeComponent\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchControls?.textInputStyle || searchInputStyle}\n primaryColor={primary}\n textInputContainerStyle={\n searchControls?.textInputContainerStyle\n }\n placeholder={\n searchControls?.textInputProps?.placeholder || 'Search'\n }\n {...searchControls?.textInputProps}\n />\n )}\n {listHeaderComponent}\n {!listControls?.hideSelectAll &&\n isMultiple &&\n modifiedOptions?.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={\n selectAll\n ? listControls?.unselectAllText || 'Clear all'\n : listControls?.selectAllText || 'Select all'\n }\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n listComponentStyles={listComponentStyles}\n options={newOptions}\n optionLabel={optLabel}\n optionValue={optValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n checkboxComponent={checkboxComponent}\n listIndex={listIndex}\n emptyListMessage={listControls?.emptyListMessage}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-input-select",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "A customizable dropdown selection package for react-native for android and iOS with multiple select and search capabilities.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -71,6 +71,7 @@ const DropdownSelectedItemsView = ({
71
71
  multipleSelectedItemStyle,
72
72
  ]}
73
73
  label={label}
74
+ disabled={disabled}
74
75
  />
75
76
  ))
76
77
  ) : (
@@ -81,6 +82,7 @@ const DropdownSelectedItemsView = ({
81
82
  }}
82
83
  style={[styles.blackText, selectedItemStyle]}
83
84
  label={getSelectedItemsLabel()}
85
+ disabled={disabled}
84
86
  />
85
87
  )}
86
88
  {!selectedItem && selectedItems?.length === 0 && (
@@ -88,6 +90,7 @@ const DropdownSelectedItemsView = ({
88
90
  onPress={() => handleToggleModal()}
89
91
  style={[styles.blackText, placeholderStyle]}
90
92
  label={placeholder ?? 'Select an option'}
93
+ disabled={disabled}
91
94
  />
92
95
  )}
93
96
  </View>
package/src/index.tsx CHANGED
@@ -276,6 +276,9 @@ export const DropdownSelect: React.FC<DropdownProps> = ({
276
276
  * Modal
277
277
  *==========================================*/
278
278
  const handleToggleModal = () => {
279
+ if (disabled){ // protecting any toggleModal invocation when Dropdown is disabled by not activating state
280
+ return;
281
+ }
279
282
  setOpen(!open);
280
283
  setSearchValue('');
281
284
  setNewOptions(options);