react-native-input-select 1.1.7 → 1.1.9

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 (33) hide show
  1. package/README.md +3 -2
  2. package/lib/commonjs/components/CheckBox/index.js +1 -1
  3. package/lib/commonjs/components/CheckBox/index.js.map +1 -1
  4. package/lib/commonjs/components/Dropdown/DropdownFlatList.js +4 -2
  5. package/lib/commonjs/components/Dropdown/DropdownFlatList.js.map +1 -1
  6. package/lib/commonjs/components/Dropdown/DropdownSectionList.js +6 -5
  7. package/lib/commonjs/components/Dropdown/DropdownSectionList.js.map +1 -1
  8. package/lib/commonjs/components/Input/index.js +0 -2
  9. package/lib/commonjs/components/Input/index.js.map +1 -1
  10. package/lib/commonjs/index.js +27 -25
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/utils/index.js +1 -1
  13. package/lib/commonjs/utils/index.js.map +1 -1
  14. package/lib/module/components/CheckBox/index.js +1 -1
  15. package/lib/module/components/CheckBox/index.js.map +1 -1
  16. package/lib/module/components/Dropdown/DropdownFlatList.js +4 -2
  17. package/lib/module/components/Dropdown/DropdownFlatList.js.map +1 -1
  18. package/lib/module/components/Dropdown/DropdownSectionList.js +6 -5
  19. package/lib/module/components/Dropdown/DropdownSectionList.js.map +1 -1
  20. package/lib/module/components/Input/index.js +0 -2
  21. package/lib/module/components/Input/index.js.map +1 -1
  22. package/lib/module/index.js +27 -25
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/utils/index.js +1 -1
  25. package/lib/module/utils/index.js.map +1 -1
  26. package/lib/typescript/components/Input/index.d.ts +1 -1
  27. package/package.json +1 -1
  28. package/src/components/CheckBox/index.tsx +1 -1
  29. package/src/components/Dropdown/DropdownFlatList.tsx +5 -3
  30. package/src/components/Dropdown/DropdownSectionList.tsx +12 -12
  31. package/src/components/Input/index.tsx +0 -2
  32. package/src/index.tsx +36 -35
  33. package/src/utils/index.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","Text","StyleSheet","Image","View","colors","CHECKBOX_SIZE","CheckBox","_ref","_checkboxComponentSty","_checkboxComponentSty2","label","value","disabled","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","onChange","fillColor","backgroundColor","borderColor","styles","checkbox","createElement","onPress","style","checkboxContainer","source","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","marginLeft"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\n/**\n * Individual props `checkboxSize`, `checkboxStyle`, `checkboxLabelStyle` would be replaced in future releases\n * and replaced with a single object `checkboxComponentStyles` e.g\n\n```js\nconst checkboxComponentStyles = {\n checkboxSize: 20,\n checkboxStyle: {\n backgroundColor: 'purple',\n borderRadius: 30,\n padding: 10,\n borderColor: 'red',\n },\n checkboxLabelStyle: { color: 'red', fontSize: 20 },\n};\n```\n */\n\nconst CheckBox = ({\n label,\n value,\n disabled,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n checkboxComponentStyles,\n checkboxComponent,\n onChange,\n}: CheckboxProps) => {\n // const { checkboxSize, checkboxStyle, checkboxLabelStyle } =\n // checkboxComponentStyles || undefined;\n const fillColor = {\n backgroundColor: disabled\n ? '#d3d3d3'\n : value\n ? checkboxComponentStyles?.checkboxStyle?.backgroundColor ||\n checkboxStyle?.backgroundColor ||\n primaryColor ||\n 'green'\n : 'white',\n borderColor: disabled\n ? colors.disabled\n : checkboxComponentStyles?.checkboxStyle?.borderColor ||\n checkboxStyle?.borderColor ||\n styles.checkbox.borderColor,\n };\n\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : null}\n style={[styles.checkboxContainer]}\n disabled={disabled}\n >\n <View\n style={[\n styles.checkbox,\n checkboxComponentStyles?.checkboxStyle || checkboxStyle,\n fillColor,\n ]}\n >\n {checkboxComponent || (\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n width:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n },\n ]}\n />\n )}\n </View>\n {label && (\n <Text\n style={[\n checkboxComponentStyles?.checkboxLabelStyle || checkboxLabelStyle,\n styles.labelStyle,\n ]}\n >\n {label}\n </Text>\n )}\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n checkboxContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n checkbox: {\n padding: 4,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 4,\n borderColor: 'black',\n },\n labelStyle: { marginLeft: 10 },\n});\n\nexport default CheckBox;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Pressable","Text","StyleSheet","Image","View","colors","CHECKBOX_SIZE","CheckBox","_ref","_checkboxComponentSty","_checkboxComponentSty2","label","value","disabled","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","onChange","fillColor","backgroundColor","borderColor","styles","checkbox","createElement","onPress","style","checkboxContainer","source","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","marginLeft"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\n/**\n * Individual props `checkboxSize`, `checkboxStyle`, `checkboxLabelStyle` would be replaced in future releases\n * and replaced with a single object `checkboxComponentStyles` e.g\n\n```js\nconst checkboxComponentStyles = {\n checkboxSize: 20,\n checkboxStyle: {\n backgroundColor: 'purple',\n borderRadius: 30,\n padding: 10,\n borderColor: 'red',\n },\n checkboxLabelStyle: { color: 'red', fontSize: 20 },\n};\n```\n */\n\nconst CheckBox = ({\n label,\n value,\n disabled,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n checkboxComponentStyles,\n checkboxComponent,\n onChange,\n}: CheckboxProps) => {\n // const { checkboxSize, checkboxStyle, checkboxLabelStyle } =\n // checkboxComponentStyles || undefined;\n const fillColor = {\n backgroundColor: disabled\n ? '#d3d3d3'\n : value\n ? checkboxComponentStyles?.checkboxStyle?.backgroundColor ||\n checkboxStyle?.backgroundColor ||\n primaryColor ||\n 'green'\n : 'white',\n borderColor: disabled\n ? colors.disabled\n : checkboxComponentStyles?.checkboxStyle?.borderColor ||\n checkboxStyle?.borderColor ||\n styles.checkbox.borderColor,\n };\n\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : null}\n style={[styles.checkboxContainer]}\n disabled={disabled}\n >\n <View\n style={[\n styles.checkbox,\n checkboxComponentStyles?.checkboxStyle || checkboxStyle,\n fillColor,\n ]}\n >\n {checkboxComponent || (\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n width:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n },\n ]}\n />\n )}\n </View>\n {label && label !== '' && (\n <Text\n style={[\n checkboxComponentStyles?.checkboxLabelStyle || checkboxLabelStyle,\n styles.labelStyle,\n ]}\n >\n {label}\n </Text>\n )}\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n checkboxContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n checkbox: {\n padding: 4,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 4,\n borderColor: 'black',\n },\n labelStyle: { marginLeft: 10 },\n});\n\nexport default CheckBox;\n"],"mappings":"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"}
@@ -37,8 +37,10 @@ const DropdownFlatList = _ref => {
37
37
  });
38
38
  };
39
39
  useEffect(() => {
40
- scrollToItem(listIndex.itemIndex);
41
- }, [listIndex]);
40
+ if (options !== null && options !== void 0 && options.length) {
41
+ scrollToItem(listIndex.itemIndex);
42
+ }
43
+ }, [listIndex, options]);
42
44
  return /*#__PURE__*/React.createElement(FlatList, _extends({
43
45
  data: options,
44
46
  extraData: isMultiple ? selectedItems : selectedItem,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","FlatList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","DropdownFlatList","_ref","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listComponentStyles","listIndex","rest","flatlistRef","scrollToItem","index","_flatlistRef$current","current","scrollToIndex","animated","itemIndex","createElement","_extends","data","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","ref","onScrollToIndexFailed","_ref2","setTimeout","_ref3","props","create"],"sources":["DropdownFlatList.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useRef } from 'react';\nimport { FlatList, StyleSheet } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { ItemSeparatorComponent, ListEmptyComponent } from '../Others';\nimport { TFlatList } from 'src/types/index.types';\n\nconst DropdownFlatList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n isSearchable,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize, // kept for backwards compatibility to be removed in future release\n checkboxStyle, // kept for backwards compatibility to be removed in future release\n checkboxLabelStyle, // kept for backwards compatibility to be removed in future release\n checkboxComponentStyles,\n checkboxComponent,\n listComponentStyles,\n listIndex,\n ...rest\n}: any) => {\n const flatlistRef = useRef<FlatList<TFlatList>>(null);\n\n const scrollToItem = (index: number) => {\n flatlistRef.current?.scrollToIndex({\n index,\n animated: true,\n });\n };\n\n useEffect(() => {\n scrollToItem(listIndex.itemIndex);\n }, [listIndex]);\n\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <ListEmptyComponent\n listEmptyComponentStyle={listComponentStyles?.listEmptyComponentStyle}\n />\n }\n contentContainerStyle={[\n isSearchable ? { paddingTop: 0 } : styles.contentContainerStyle,\n ]}\n ItemSeparatorComponent={() => (\n <ItemSeparatorComponent\n itemSeparatorStyle={listComponentStyles?.itemSeparatorStyle}\n />\n )}\n renderItem={(item) =>\n _renderItem(item, {\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption: isMultiple ? selectedItems : selectedItem,\n onChange: isMultiple\n ? handleMultipleSelections\n : handleSingleSelection,\n scrollToItem,\n primaryColor,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\n ref={flatlistRef}\n onScrollToIndexFailed={({ index }) => {\n setTimeout(() => {\n scrollToItem(index);\n }, 500);\n }}\n {...rest}\n />\n );\n};\n\nconst _renderItem = ({ item }: any, props: any) => {\n return (\n <DropdownListItem\n item={item}\n optionLabel={props.optionLabel}\n optionValue={props.optionValue}\n isMultiple={props.isMultiple}\n selectedOption={props.selectedOption}\n onChange={props.onChange}\n primaryColor={props.primaryColor}\n checkboxSize={props.checkboxSize}\n checkboxStyle={props.checkboxStyle}\n checkboxLabelStyle={props.checkboxLabelStyle}\n scrollToItem={props.scrollToItem}\n checkboxComponentStyles={props.checkboxComponentStyles}\n checkboxComponent={props.checkboxComponent}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n contentContainerStyle: { paddingTop: 20 },\n});\n\nexport default DropdownFlatList;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useRef","FlatList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","DropdownFlatList","_ref","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listComponentStyles","listIndex","rest","flatlistRef","scrollToItem","index","_flatlistRef$current","current","scrollToIndex","animated","length","itemIndex","createElement","_extends","data","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","ref","onScrollToIndexFailed","_ref2","setTimeout","_ref3","props","create"],"sources":["DropdownFlatList.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useRef } from 'react';\nimport { FlatList, StyleSheet } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { ItemSeparatorComponent, ListEmptyComponent } from '../Others';\nimport { TFlatList } from 'src/types/index.types';\n\nconst DropdownFlatList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n isSearchable,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize, // kept for backwards compatibility to be removed in future release\n checkboxStyle, // kept for backwards compatibility to be removed in future release\n checkboxLabelStyle, // kept for backwards compatibility to be removed in future release\n checkboxComponentStyles,\n checkboxComponent,\n listComponentStyles,\n listIndex,\n ...rest\n}: any) => {\n const flatlistRef = useRef<FlatList<TFlatList>>(null);\n\n const scrollToItem = (index: number) => {\n flatlistRef.current?.scrollToIndex({\n index,\n animated: true,\n });\n };\n\n useEffect(() => {\n if (options?.length) {\n scrollToItem(listIndex.itemIndex);\n }\n }, [listIndex, options]);\n\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <ListEmptyComponent\n listEmptyComponentStyle={listComponentStyles?.listEmptyComponentStyle}\n />\n }\n contentContainerStyle={[\n isSearchable ? { paddingTop: 0 } : styles.contentContainerStyle,\n ]}\n ItemSeparatorComponent={() => (\n <ItemSeparatorComponent\n itemSeparatorStyle={listComponentStyles?.itemSeparatorStyle}\n />\n )}\n renderItem={(item) =>\n _renderItem(item, {\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption: isMultiple ? selectedItems : selectedItem,\n onChange: isMultiple\n ? handleMultipleSelections\n : handleSingleSelection,\n scrollToItem,\n primaryColor,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\n ref={flatlistRef}\n onScrollToIndexFailed={({ index }) => {\n setTimeout(() => {\n scrollToItem(index);\n }, 500);\n }}\n {...rest}\n />\n );\n};\n\nconst _renderItem = ({ item }: any, props: any) => {\n return (\n <DropdownListItem\n item={item}\n optionLabel={props.optionLabel}\n optionValue={props.optionValue}\n isMultiple={props.isMultiple}\n selectedOption={props.selectedOption}\n onChange={props.onChange}\n primaryColor={props.primaryColor}\n checkboxSize={props.checkboxSize}\n checkboxStyle={props.checkboxStyle}\n checkboxLabelStyle={props.checkboxLabelStyle}\n scrollToItem={props.scrollToItem}\n checkboxComponentStyles={props.checkboxComponentStyles}\n checkboxComponent={props.checkboxComponent}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n contentContainerStyle: { paddingTop: 20 },\n});\n\nexport default DropdownFlatList;\n"],"mappings":"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"}
@@ -66,8 +66,10 @@ const DropdownSectionList = _ref => {
66
66
  });
67
67
  };
68
68
  useEffect(() => {
69
- scrollToLocation(listIndex);
70
- }, [listIndex]);
69
+ if (options !== null && options !== void 0 && options.length) {
70
+ scrollToLocation(listIndex);
71
+ }
72
+ }, [listIndex, options]);
71
73
  return /*#__PURE__*/React.createElement(SectionList, _extends({
72
74
  sections: options,
73
75
  extraData: isMultiple ? selectedItems : selectedItem,
@@ -101,11 +103,10 @@ const DropdownSectionList = _ref => {
101
103
  renderSectionHeader: _ref2 => {
102
104
  let {
103
105
  section: {
104
- title,
105
- data
106
+ title
106
107
  }
107
108
  } = _ref2;
108
- return data.length > 0 && /*#__PURE__*/React.createElement(SectionHeaderTitle, {
109
+ return /*#__PURE__*/React.createElement(SectionHeaderTitle, {
109
110
  title: title,
110
111
  sectionHeaderStyle: listComponentStyles === null || listComponentStyles === void 0 ? void 0 : listComponentStyles.sectionHeaderStyle,
111
112
  onPress: () => handleToggleListExpansion(title),
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","useRef","SectionList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","SectionHeaderTitle","extractPropertyFromArray","DropdownSectionList","_ref","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listComponentStyles","listIndex","rest","expandedSections","setExpandedSections","Set","initialState","handleToggleListExpansion","title","expandedSectionsState","next","has","delete","add","sectionlistRef","scrollToLocation","_sectionlistRef$curre","current","sectionIndex","animated","itemIndex","createElement","_extends","sections","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","renderSectionHeader","_ref2","section","data","length","sectionHeaderStyle","onPress","isExpanded","keyExtractor","_item","index","stickySectionHeadersEnabled","ref","onScrollToIndexFailed","setTimeout","_ref3","props","create"],"sources":["DropdownSectionList.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { SectionList, StyleSheet } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport {\n ItemSeparatorComponent,\n ListEmptyComponent,\n SectionHeaderTitle,\n} from '../Others';\nimport { extractPropertyFromArray } from '../../utils';\nimport { TSectionList } from 'src/types/index.types';\n\nconst DropdownSectionList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n isSearchable,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n checkboxComponentStyles,\n checkboxComponent,\n listComponentStyles,\n listIndex,\n ...rest\n}: any) => {\n const [expandedSections, setExpandedSections] = useState(new Set());\n\n /**\n * Expand all sections\n */\n useEffect(() => {\n let initialState = new Set(extractPropertyFromArray(options, 'title'));\n setExpandedSections(initialState);\n }, [options]);\n\n /**\n * @param title\n */\n const handleToggleListExpansion = (title: string) => {\n setExpandedSections((expandedSectionsState) => {\n // Using Set here but you can use an array too\n const next = new Set(expandedSectionsState);\n if (next.has(title)) {\n next.delete(title);\n } else {\n next.add(title);\n }\n return next;\n });\n };\n\n /**\n * @description Scroll to item location\n */\n\n const sectionlistRef = useRef<SectionList<TSectionList>>(null);\n\n const scrollToLocation = (listIndex: any) => {\n sectionlistRef.current?.scrollToLocation({\n sectionIndex: listIndex.sectionIndex,\n animated: true,\n itemIndex: listIndex.itemIndex,\n });\n };\n\n useEffect(() => {\n scrollToLocation(listIndex);\n }, [listIndex]);\n\n return (\n <SectionList\n sections={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <ListEmptyComponent\n listEmptyComponentStyle={listComponentStyles?.listEmptyComponentStyle}\n />\n }\n contentContainerStyle={[\n isSearchable ? { paddingTop: 0 } : styles.contentContainerStyle,\n ]}\n ItemSeparatorComponent={() => (\n <ItemSeparatorComponent\n itemSeparatorStyle={listComponentStyles?.itemSeparatorStyle}\n />\n )}\n renderItem={(item) =>\n _renderItem(item, {\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption: isMultiple ? selectedItems : selectedItem,\n onChange: isMultiple\n ? handleMultipleSelections\n : handleSingleSelection,\n primaryColor,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n expandedSections,\n })\n }\n renderSectionHeader={({ section: { title, data } }) =>\n data.length > 0 && (\n <SectionHeaderTitle\n title={title}\n sectionHeaderStyle={listComponentStyles?.sectionHeaderStyle}\n onPress={() => handleToggleListExpansion(title)}\n isExpanded={expandedSections.has(title)}\n />\n )\n }\n keyExtractor={(_item, index) => `Options${index}`}\n stickySectionHeadersEnabled={false}\n ref={sectionlistRef}\n onScrollToIndexFailed={() => {\n setTimeout(() => {\n scrollToLocation(listIndex);\n }, 500);\n }}\n {...rest}\n />\n );\n};\n\nconst _renderItem = ({ section: { title }, item }: any, props: any) => {\n const isExpanded = props?.expandedSections.has(title);\n\n //return null if it is not expanded\n if (!isExpanded) return null;\n\n return (\n <DropdownListItem\n item={item}\n optionLabel={props.optionLabel}\n optionValue={props.optionValue}\n isMultiple={props.isMultiple}\n selectedOption={props.selectedOption}\n onChange={props.onChange}\n primaryColor={props.primaryColor}\n checkboxSize={props.checkboxSize}\n checkboxStyle={props.checkboxStyle}\n checkboxLabelStyle={props.checkboxLabelStyle}\n checkboxComponentStyles={props.checkboxComponentStyles}\n checkboxComponent={props.checkboxComponent}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n contentContainerStyle: { paddingTop: 20 },\n});\n\nexport default DropdownSectionList;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","useRef","SectionList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","SectionHeaderTitle","extractPropertyFromArray","DropdownSectionList","_ref","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","checkboxComponent","listComponentStyles","listIndex","rest","expandedSections","setExpandedSections","Set","initialState","handleToggleListExpansion","title","expandedSectionsState","next","has","delete","add","sectionlistRef","scrollToLocation","_sectionlistRef$curre","current","sectionIndex","animated","itemIndex","length","createElement","_extends","sections","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","renderSectionHeader","_ref2","section","sectionHeaderStyle","onPress","isExpanded","keyExtractor","_item","index","stickySectionHeadersEnabled","ref","onScrollToIndexFailed","setTimeout","_ref3","props","create"],"sources":["DropdownSectionList.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { SectionList, StyleSheet } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport {\n ItemSeparatorComponent,\n ListEmptyComponent,\n SectionHeaderTitle,\n} from '../Others';\nimport { extractPropertyFromArray } from '../../utils';\nimport { TSectionList } from 'src/types/index.types';\n\nconst DropdownSectionList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n isSearchable,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n checkboxComponentStyles,\n checkboxComponent,\n listComponentStyles,\n listIndex,\n ...rest\n}: any) => {\n const [expandedSections, setExpandedSections] = useState(new Set());\n\n /**\n * Expand all sections\n */\n useEffect(() => {\n let initialState = new Set(extractPropertyFromArray(options, 'title'));\n setExpandedSections(initialState);\n }, [options]);\n\n /**\n * @param title\n */\n const handleToggleListExpansion = (title: string) => {\n setExpandedSections((expandedSectionsState) => {\n // Using Set here but you can use an array too\n const next = new Set(expandedSectionsState);\n if (next.has(title)) {\n next.delete(title);\n } else {\n next.add(title);\n }\n return next;\n });\n };\n\n /**\n * @description Scroll to item location\n */\n\n const sectionlistRef = useRef<SectionList<TSectionList>>(null);\n\n const scrollToLocation = (listIndex: any) => {\n sectionlistRef.current?.scrollToLocation({\n sectionIndex: listIndex.sectionIndex,\n animated: true,\n itemIndex: listIndex.itemIndex,\n });\n };\n\n useEffect(() => {\n if (options?.length) {\n scrollToLocation(listIndex);\n }\n }, [listIndex, options]);\n\n return (\n <SectionList\n sections={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <ListEmptyComponent\n listEmptyComponentStyle={listComponentStyles?.listEmptyComponentStyle}\n />\n }\n contentContainerStyle={[\n isSearchable ? { paddingTop: 0 } : styles.contentContainerStyle,\n ]}\n ItemSeparatorComponent={() => (\n <ItemSeparatorComponent\n itemSeparatorStyle={listComponentStyles?.itemSeparatorStyle}\n />\n )}\n renderItem={(item) =>\n _renderItem(item, {\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption: isMultiple ? selectedItems : selectedItem,\n onChange: isMultiple\n ? handleMultipleSelections\n : handleSingleSelection,\n primaryColor,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n checkboxComponent,\n expandedSections,\n })\n }\n renderSectionHeader={({ section: { title } }) => (\n <SectionHeaderTitle\n title={title}\n sectionHeaderStyle={listComponentStyles?.sectionHeaderStyle}\n onPress={() => handleToggleListExpansion(title)}\n isExpanded={expandedSections.has(title)}\n />\n )}\n keyExtractor={(_item, index) => `Options${index}`}\n stickySectionHeadersEnabled={false}\n ref={sectionlistRef}\n onScrollToIndexFailed={() => {\n setTimeout(() => {\n scrollToLocation(listIndex);\n }, 500);\n }}\n {...rest}\n />\n );\n};\n\nconst _renderItem = ({ section: { title }, item }: any, props: any) => {\n const isExpanded = props?.expandedSections.has(title);\n\n //return null if it is not expanded\n if (!isExpanded) return null;\n\n return (\n <DropdownListItem\n item={item}\n optionLabel={props.optionLabel}\n optionValue={props.optionValue}\n isMultiple={props.isMultiple}\n selectedOption={props.selectedOption}\n onChange={props.onChange}\n primaryColor={props.primaryColor}\n checkboxSize={props.checkboxSize}\n checkboxStyle={props.checkboxStyle}\n checkboxLabelStyle={props.checkboxLabelStyle}\n checkboxComponentStyles={props.checkboxComponentStyles}\n checkboxComponent={props.checkboxComponent}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n contentContainerStyle: { paddingTop: 20 },\n});\n\nexport default DropdownSectionList;\n"],"mappings":";AAAA;AACA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC1D,SAASC,WAAW,EAAEC,UAAU,QAAQ,cAAc;AACtD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SACEC,sBAAsB,EACtBC,kBAAkB,EAClBC,kBAAkB,QACb,WAAW;AAClB,SAASC,wBAAwB,QAAQ,aAAa;AAGtD,MAAMC,mBAAmB,GAAGC,IAAA,IAmBjB;EAAA,IAnBkB;IAC3BC,OAAO;IACPC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,wBAAwB;IACxBC,qBAAqB;IACrBC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC,kBAAkB;IAClBC,uBAAuB;IACvBC,iBAAiB;IACjBC,mBAAmB;IACnBC,SAAS;IACT,GAAGC;EACA,CAAC,GAAAlB,IAAA;EACJ,MAAM,CAACmB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG9B,QAAQ,CAAC,IAAI+B,GAAG,CAAC,CAAC,CAAC;;EAEnE;AACF;AACA;EACEhC,SAAS,CAAC,MAAM;IACd,IAAIiC,YAAY,GAAG,IAAID,GAAG,CAACvB,wBAAwB,CAACG,OAAO,EAAE,OAAO,CAAC,CAAC;IACtEmB,mBAAmB,CAACE,YAAY,CAAC;EACnC,CAAC,EAAE,CAACrB,OAAO,CAAC,CAAC;;EAEb;AACF;AACA;EACE,MAAMsB,yBAAyB,GAAIC,KAAa,IAAK;IACnDJ,mBAAmB,CAAEK,qBAAqB,IAAK;MAC7C;MACA,MAAMC,IAAI,GAAG,IAAIL,GAAG,CAACI,qBAAqB,CAAC;MAC3C,IAAIC,IAAI,CAACC,GAAG,CAACH,KAAK,CAAC,EAAE;QACnBE,IAAI,CAACE,MAAM,CAACJ,KAAK,CAAC;MACpB,CAAC,MAAM;QACLE,IAAI,CAACG,GAAG,CAACL,KAAK,CAAC;MACjB;MACA,OAAOE,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;;EAED;AACF;AACA;;EAEE,MAAMI,cAAc,GAAGvC,MAAM,CAA4B,IAAI,CAAC;EAE9D,MAAMwC,gBAAgB,GAAId,SAAc,IAAK;IAAA,IAAAe,qBAAA;IAC3C,CAAAA,qBAAA,GAAAF,cAAc,CAACG,OAAO,cAAAD,qBAAA,uBAAtBA,qBAAA,CAAwBD,gBAAgB,CAAC;MACvCG,YAAY,EAAEjB,SAAS,CAACiB,YAAY;MACpCC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAEnB,SAAS,CAACmB;IACvB,CAAC,CAAC;EACJ,CAAC;EAED/C,SAAS,CAAC,MAAM;IACd,IAAIY,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEoC,MAAM,EAAE;MACnBN,gBAAgB,CAACd,SAAS,CAAC;IAC7B;EACF,CAAC,EAAE,CAACA,SAAS,EAAEhB,OAAO,CAAC,CAAC;EAExB,oBACEb,KAAA,CAAAkD,aAAA,CAAC9C,WAAW,EAAA+C,QAAA;IACVC,QAAQ,EAAEvC,OAAQ;IAClBwC,SAAS,EAAErC,UAAU,GAAGE,aAAa,GAAGC,YAAa;IACrDmC,kBAAkB,EAAE,CAAE;IACtB9C,kBAAkB,eAChBR,KAAA,CAAAkD,aAAA,CAAC1C,kBAAkB;MACjB+C,uBAAuB,EAAE3B,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAE2B;IAAwB,CACvE,CACF;IACDC,qBAAqB,EAAE,CACrBvC,YAAY,GAAG;MAAEwC,UAAU,EAAE;IAAE,CAAC,GAAGC,MAAM,CAACF,qBAAqB,CAC/D;IACFjD,sBAAsB,EAAEA,CAAA,kBACtBP,KAAA,CAAAkD,aAAA,CAAC3C,sBAAsB;MACrBoD,kBAAkB,EAAE/B,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAE+B;IAAmB,CAC7D,CACD;IACFC,UAAU,EAAGC,IAAI,IACfC,WAAW,CAACD,IAAI,EAAE;MAChB/C,WAAW;MACXC,WAAW;MACXC,UAAU;MACV+C,cAAc,EAAE/C,UAAU,GAAGE,aAAa,GAAGC,YAAY;MACzD6C,QAAQ,EAAEhD,UAAU,GAChBI,wBAAwB,GACxBC,qBAAqB;MACzBC,YAAY;MACZC,YAAY;MAAE;MACdC,aAAa;MAAE;MACfC,kBAAkB;MAAE;MACpBC,uBAAuB;MACvBC,iBAAiB;MACjBI;IACF,CAAC,CACF;IACDkC,mBAAmB,EAAEC,KAAA;MAAA,IAAC;QAAEC,OAAO,EAAE;UAAE/B;QAAM;MAAE,CAAC,GAAA8B,KAAA;MAAA,oBAC1ClE,KAAA,CAAAkD,aAAA,CAACzC,kBAAkB;QACjB2B,KAAK,EAAEA,KAAM;QACbgC,kBAAkB,EAAExC,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEwC,kBAAmB;QAC5DC,OAAO,EAAEA,CAAA,KAAMlC,yBAAyB,CAACC,KAAK,CAAE;QAChDkC,UAAU,EAAEvC,gBAAgB,CAACQ,GAAG,CAACH,KAAK;MAAE,CACzC,CAAC;IAAA,CACF;IACFmC,YAAY,EAAEA,CAACC,KAAK,EAAEC,KAAK,KAAM,UAASA,KAAM,EAAE;IAClDC,2BAA2B,EAAE,KAAM;IACnCC,GAAG,EAAEjC,cAAe;IACpBkC,qBAAqB,EAAEA,CAAA,KAAM;MAC3BC,UAAU,CAAC,MAAM;QACflC,gBAAgB,CAACd,SAAS,CAAC;MAC7B,CAAC,EAAE,GAAG,CAAC;IACT;EAAE,GACEC,IAAI,CACT,CAAC;AAEN,CAAC;AAED,MAAMgC,WAAW,GAAGA,CAAAgB,KAAA,EAAoCC,KAAU,KAAK;EAAA,IAAlD;IAAEZ,OAAO,EAAE;MAAE/B;IAAM,CAAC;IAAEyB;EAAU,CAAC,GAAAiB,KAAA;EACpD,MAAMR,UAAU,GAAGS,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEhD,gBAAgB,CAACQ,GAAG,CAACH,KAAK,CAAC;;EAErD;EACA,IAAI,CAACkC,UAAU,EAAE,OAAO,IAAI;EAE5B,oBACEtE,KAAA,CAAAkD,aAAA,CAAC5C,gBAAgB;IACfuD,IAAI,EAAEA,IAAK;IACX/C,WAAW,EAAEiE,KAAK,CAACjE,WAAY;IAC/BC,WAAW,EAAEgE,KAAK,CAAChE,WAAY;IAC/BC,UAAU,EAAE+D,KAAK,CAAC/D,UAAW;IAC7B+C,cAAc,EAAEgB,KAAK,CAAChB,cAAe;IACrCC,QAAQ,EAAEe,KAAK,CAACf,QAAS;IACzB1C,YAAY,EAAEyD,KAAK,CAACzD,YAAa;IACjCC,YAAY,EAAEwD,KAAK,CAACxD,YAAa;IACjCC,aAAa,EAAEuD,KAAK,CAACvD,aAAc;IACnCC,kBAAkB,EAAEsD,KAAK,CAACtD,kBAAmB;IAC7CC,uBAAuB,EAAEqD,KAAK,CAACrD,uBAAwB;IACvDC,iBAAiB,EAAEoD,KAAK,CAACpD;EAAkB,CAC5C,CAAC;AAEN,CAAC;AAED,MAAM+B,MAAM,GAAGrD,UAAU,CAAC2E,MAAM,CAAC;EAC/BxB,qBAAqB,EAAE;IAAEC,UAAU,EAAE;EAAG;AAC1C,CAAC,CAAC;AAEF,eAAe9C,mBAAmB"}
@@ -10,7 +10,6 @@ export const Input = _ref => {
10
10
  style,
11
11
  primaryColor,
12
12
  textInputContainerStyle,
13
- openModal,
14
13
  ...rest
15
14
  } = _ref;
16
15
  const [isFocused, setFocus] = useState(false);
@@ -27,7 +26,6 @@ export const Input = _ref => {
27
26
  }, style],
28
27
  onFocus: () => {
29
28
  setFocus(true);
30
- openModal();
31
29
  },
32
30
  onBlur: () => setFocus(false),
33
31
  value: value,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","TextInput","StyleSheet","View","Platform","inputStyles","Input","_ref","placeholder","value","onChangeText","style","primaryColor","textInputContainerStyle","openModal","rest","isFocused","setFocus","createElement","styles","container","_extends","input","select","web","outlineColor","borderColor","onFocus","onBlur","create","margin"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TextInput, StyleSheet, View, Platform } from 'react-native';\nimport { inputStyles } from '../../styles/input';\n\nexport const Input = ({\n placeholder,\n value,\n onChangeText,\n style,\n primaryColor,\n textInputContainerStyle,\n openModal,\n ...rest\n}: any) => {\n const [isFocused, setFocus] = useState(false);\n\n return (\n <View style={[styles.container, textInputContainerStyle]}>\n <TextInput\n placeholder={placeholder}\n style={[\n inputStyles.input,\n Platform.select({\n web: {\n outlineColor: primaryColor,\n },\n }),\n isFocused && { borderColor: primaryColor },\n style,\n ]}\n onFocus={() => {\n setFocus(true);\n openModal();\n }}\n onBlur={() => setFocus(false)}\n value={value}\n onChangeText={onChangeText}\n {...rest}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { margin: 23 },\n});\n\nexport default Input;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,cAAc;AACpE,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAO,MAAMC,KAAK,GAAGC,IAAA,IASV;EAAA,IATW;IACpBC,WAAW;IACXC,KAAK;IACLC,YAAY;IACZC,KAAK;IACLC,YAAY;IACZC,uBAAuB;IACvBC,SAAS;IACT,GAAGC;EACA,CAAC,GAAAR,IAAA;EACJ,MAAM,CAACS,SAAS,EAAEC,QAAQ,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EAE7C,oBACED,KAAA,CAAAmB,aAAA,CAACf,IAAI;IAACQ,KAAK,EAAE,CAACQ,MAAM,CAACC,SAAS,EAAEP,uBAAuB;EAAE,gBACvDd,KAAA,CAAAmB,aAAA,CAACjB,SAAS,EAAAoB,QAAA;IACRb,WAAW,EAAEA,WAAY;IACzBG,KAAK,EAAE,CACLN,WAAW,CAACiB,KAAK,EACjBlB,QAAQ,CAACmB,MAAM,CAAC;MACdC,GAAG,EAAE;QACHC,YAAY,EAAEb;MAChB;IACF,CAAC,CAAC,EACFI,SAAS,IAAI;MAAEU,WAAW,EAAEd;IAAa,CAAC,EAC1CD,KAAK,CACL;IACFgB,OAAO,EAAEA,CAAA,KAAM;MACbV,QAAQ,CAAC,IAAI,CAAC;MACdH,SAAS,CAAC,CAAC;IACb,CAAE;IACFc,MAAM,EAAEA,CAAA,KAAMX,QAAQ,CAAC,KAAK,CAAE;IAC9BR,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA;EAAa,GACvBK,IAAI,CACT,CACG,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGjB,UAAU,CAAC2B,MAAM,CAAC;EAC/BT,SAAS,EAAE;IAAEU,MAAM,EAAE;EAAG;AAC1B,CAAC,CAAC;AAEF,eAAexB,KAAK"}
1
+ {"version":3,"names":["React","useState","TextInput","StyleSheet","View","Platform","inputStyles","Input","_ref","placeholder","value","onChangeText","style","primaryColor","textInputContainerStyle","rest","isFocused","setFocus","createElement","styles","container","_extends","input","select","web","outlineColor","borderColor","onFocus","onBlur","create","margin"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TextInput, StyleSheet, View, Platform } from 'react-native';\nimport { inputStyles } from '../../styles/input';\n\nexport const Input = ({\n placeholder,\n value,\n onChangeText,\n style,\n primaryColor,\n textInputContainerStyle,\n ...rest\n}: any) => {\n const [isFocused, setFocus] = useState(false);\n\n return (\n <View style={[styles.container, textInputContainerStyle]}>\n <TextInput\n placeholder={placeholder}\n style={[\n inputStyles.input,\n Platform.select({\n web: {\n outlineColor: primaryColor,\n },\n }),\n isFocused && { borderColor: primaryColor },\n style,\n ]}\n onFocus={() => {\n setFocus(true);\n }}\n onBlur={() => setFocus(false)}\n value={value}\n onChangeText={onChangeText}\n {...rest}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { margin: 23 },\n});\n\nexport default Input;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,cAAc;AACpE,SAASC,WAAW,QAAQ,oBAAoB;AAEhD,OAAO,MAAMC,KAAK,GAAGC,IAAA,IAQV;EAAA,IARW;IACpBC,WAAW;IACXC,KAAK;IACLC,YAAY;IACZC,KAAK;IACLC,YAAY;IACZC,uBAAuB;IACvB,GAAGC;EACA,CAAC,GAAAP,IAAA;EACJ,MAAM,CAACQ,SAAS,EAAEC,QAAQ,CAAC,GAAGhB,QAAQ,CAAC,KAAK,CAAC;EAE7C,oBACED,KAAA,CAAAkB,aAAA,CAACd,IAAI;IAACQ,KAAK,EAAE,CAACO,MAAM,CAACC,SAAS,EAAEN,uBAAuB;EAAE,gBACvDd,KAAA,CAAAkB,aAAA,CAAChB,SAAS,EAAAmB,QAAA;IACRZ,WAAW,EAAEA,WAAY;IACzBG,KAAK,EAAE,CACLN,WAAW,CAACgB,KAAK,EACjBjB,QAAQ,CAACkB,MAAM,CAAC;MACdC,GAAG,EAAE;QACHC,YAAY,EAAEZ;MAChB;IACF,CAAC,CAAC,EACFG,SAAS,IAAI;MAAEU,WAAW,EAAEb;IAAa,CAAC,EAC1CD,KAAK,CACL;IACFe,OAAO,EAAEA,CAAA,KAAM;MACbV,QAAQ,CAAC,IAAI,CAAC;IAChB,CAAE;IACFW,MAAM,EAAEA,CAAA,KAAMX,QAAQ,CAAC,KAAK,CAAE;IAC9BP,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA;EAAa,GACvBI,IAAI,CACT,CACG,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGhB,UAAU,CAAC0B,MAAM,CAAC;EAC/BT,SAAS,EAAE;IAAEU,MAAM,EAAE;EAAG;AAC1B,CAAC,CAAC;AAEF,eAAevB,KAAK"}
@@ -11,6 +11,7 @@ import { colors } from './styles/colors';
11
11
  import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
12
12
  import { extractPropertyFromArray } from './utils';
13
13
  export const DropdownSelect = _ref => {
14
+ var _extractPropertyFromA, _searchControls$textI;
14
15
  let {
15
16
  placeholder,
16
17
  label,
@@ -64,12 +65,10 @@ export const DropdownSelect = _ref => {
64
65
  const [selectedItems, setSelectedItems] = useState([]); // for multiple selection
65
66
  const [searchValue, setSearchValue] = useState('');
66
67
  const [listIndex, setListIndex] = useState({
67
- itemIndex: 0
68
+ itemIndex: 0,
69
+ sectionIndex: 0
68
70
  }); // for scrollToIndex in Sectionlist and Flatlist
69
71
 
70
- if (!options || options.length === 0) {
71
- throw new Error('Options array cannot be empty or undefined');
72
- }
73
72
  useEffect(() => {
74
73
  setNewOptions(options);
75
74
  return () => {};
@@ -84,18 +83,18 @@ export const DropdownSelect = _ref => {
84
83
  *==========================================*/
85
84
 
86
85
  // check the structure of the new options array to determine if it is a section list or a
87
- const isSectionList = newOptions.some(item => item.title && item.data && Array.isArray(item.data));
86
+ const isSectionList = newOptions === null || newOptions === void 0 ? void 0 : newOptions.some(item => item.title && item.data && Array.isArray(item.data));
88
87
  const ListTypeComponent = isSectionList ? DropdownSectionList : DropdownFlatList;
89
- const modifiedSectionData = extractPropertyFromArray(newOptions, 'data').flat();
88
+ const modifiedSectionData = (_extractPropertyFromA = extractPropertyFromArray(newOptions, 'data')) === null || _extractPropertyFromA === void 0 ? void 0 : _extractPropertyFromA.flat();
90
89
 
91
90
  /**
92
- *`modifiedOptions` should only be used for computations newOptions remains the default array.
93
- * At this point modifiedOptions now has the same structure for both `FlatList` and `SectionList`
91
+ * `options` is the original array, it never changes. (Do not use except you really need the original array) .
92
+ * `newOptions` is a copy of options but can be mutated by `setNewOptions`, as a result, the value many change.
93
+ * `modifiedOptions` should only be used for computations. It has the same structure for both `FlatList` and `SectionList`
94
94
  */
95
95
  const modifiedOptions = isSectionList ? modifiedSectionData : newOptions;
96
96
  const optLabel = optionLabel || DEFAULT_OPTION_LABEL;
97
97
  const optValue = optionValue || DEFAULT_OPTION_VALUE;
98
- const optionsCopy = JSON.parse(JSON.stringify(options)); // copy of the original options array
99
98
 
100
99
  /*===========================================
101
100
  * Selection handlers
@@ -125,14 +124,14 @@ export const DropdownSelect = _ref => {
125
124
  });
126
125
  };
127
126
  const removeDisabledItems = items => {
128
- return items.filter(item => !item.disabled);
127
+ return items === null || items === void 0 ? void 0 : items.filter(item => !item.disabled);
129
128
  };
130
129
  const handleSelectAll = () => {
131
130
  setSelectAll(prevVal => {
132
131
  const selectedValues = [];
133
132
 
134
133
  // don't select disabled items
135
- const filteredOptions = removeDisabledItems(isSectionList ? extractPropertyFromArray(optionsCopy, 'data').flat() : optionsCopy);
134
+ const filteredOptions = removeDisabledItems(isSectionList ? extractPropertyFromArray(options, 'data').flat() : options);
136
135
  if (!prevVal) {
137
136
  for (let i = 0; i < filteredOptions.length; i++) {
138
137
  selectedValues.push(filteredOptions[i][optValue]);
@@ -154,8 +153,9 @@ export const DropdownSelect = _ref => {
154
153
  * Handle side effects
155
154
  *==========================================*/
156
155
  const checkSelectAll = useCallback(selectedValues => {
156
+ var _removeDisabledItems;
157
157
  //if the list contains disabled values, those values will not be selected
158
- if (removeDisabledItems(modifiedOptions).length === selectedValues.length) {
158
+ if (((_removeDisabledItems = removeDisabledItems(modifiedOptions)) === null || _removeDisabledItems === void 0 ? void 0 : _removeDisabledItems.length) === (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length)) {
159
159
  setSelectAll(true);
160
160
  } else {
161
161
  setSelectAll(false);
@@ -195,8 +195,8 @@ export const DropdownSelect = _ref => {
195
195
  let searchText = value.toString().toLocaleLowerCase().trim();
196
196
  const regexFilter = new RegExp(searchText, 'i');
197
197
 
198
- // Because the options array will be mutated after Search, we have to search with a copy of the original array
199
- const searchResults = isSectionList ? searchSectionList(optionsCopy, regexFilter) : searchFlatList(optionsCopy, regexFilter);
198
+ // Because the options array will be mutated while searching, we have to search with the original array
199
+ const searchResults = isSectionList ? searchSectionList(options, regexFilter) : searchFlatList(options, regexFilter);
200
200
  setNewOptions(searchResults);
201
201
  };
202
202
  const searchFlatList = (flatList, regexFilter) => {
@@ -204,19 +204,22 @@ export const DropdownSelect = _ref => {
204
204
  if (item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optValue].toString().toLowerCase().search(regexFilter) !== -1) {
205
205
  return true;
206
206
  }
207
- return;
207
+ return false;
208
208
  });
209
209
  return searchResults;
210
210
  };
211
211
  const searchSectionList = (sectionList, regexFilter) => {
212
212
  const searchResults = sectionList.map(listItem => {
213
- listItem.data = listItem.data.filter(item => {
213
+ const filteredData = listItem.data.filter(item => {
214
214
  if (item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optValue].toString().toLowerCase().search(regexFilter) !== -1) {
215
- return listItem.data.push(item);
215
+ return true;
216
216
  }
217
- return;
217
+ return false;
218
218
  });
219
- return listItem;
219
+ return {
220
+ ...listItem,
221
+ data: filteredData
222
+ };
220
223
  });
221
224
  return searchResults;
222
225
  };
@@ -245,9 +248,9 @@ export const DropdownSelect = _ref => {
245
248
  * setIndexOfSelectedItem - For ScrollToIndex
246
249
  *==========================================*/
247
250
  const setIndexOfSelectedItem = selectedLabel => {
248
- isSectionList ? optionsCopy.map((item, sectionIndex) => {
251
+ isSectionList ? options === null || options === void 0 ? void 0 : options.map((item, sectionIndex) => {
249
252
  var _item$data;
250
- (_item$data = item.data) === null || _item$data === void 0 ? void 0 : _item$data.find((dataItem, itemIndex) => {
253
+ item === null || item === void 0 || (_item$data = item.data) === null || _item$data === void 0 ? void 0 : _item$data.find((dataItem, itemIndex) => {
251
254
  if (dataItem[optLabel] === selectedLabel) {
252
255
  setListIndex({
253
256
  sectionIndex,
@@ -255,7 +258,7 @@ export const DropdownSelect = _ref => {
255
258
  });
256
259
  }
257
260
  });
258
- }) : optionsCopy === null || optionsCopy === void 0 ? void 0 : optionsCopy.find((item, itemIndex) => {
261
+ }) : options === null || options === void 0 ? void 0 : options.find((item, itemIndex) => {
259
262
  if (item[optLabel] === selectedLabel) {
260
263
  setListIndex({
261
264
  itemIndex
@@ -294,15 +297,14 @@ export const DropdownSelect = _ref => {
294
297
  onRequestClose: () => handleToggleModal(),
295
298
  modalProps: modalProps
296
299
  }, /*#__PURE__*/React.createElement(ListTypeComponent, {
297
- removeClippedSubviews: false,
298
300
  ListHeaderComponent: /*#__PURE__*/React.createElement(React.Fragment, null, isSearchable && /*#__PURE__*/React.createElement(Input, _extends({
299
301
  value: searchValue,
300
302
  onChangeText: text => onSearch(text),
301
303
  style: (searchControls === null || searchControls === void 0 ? void 0 : searchControls.textInputStyle) || searchInputStyle,
302
304
  primaryColor: primary,
303
305
  textInputContainerStyle: searchControls === null || searchControls === void 0 ? void 0 : searchControls.textInputContainerStyle,
304
- openModal: () => setOpen(true) // There seems to a known issue on expo web that closes the modal when the input is focused
305
- }, searchControls === null || searchControls === void 0 ? void 0 : searchControls.textInputProps)), listHeaderComponent, isMultiple && modifiedOptions.length > 1 && /*#__PURE__*/React.createElement(View, {
306
+ placeholder: (searchControls === null || searchControls === void 0 || (_searchControls$textI = searchControls.textInputProps) === null || _searchControls$textI === void 0 ? void 0 : _searchControls$textI.placeholder) || 'Search'
307
+ }, searchControls === null || searchControls === void 0 ? void 0 : searchControls.textInputProps)), listHeaderComponent, isMultiple && (modifiedOptions === null || modifiedOptions === void 0 ? void 0 : modifiedOptions.length) > 1 && /*#__PURE__*/React.createElement(View, {
306
308
  style: styles.optionsContainerStyle
307
309
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
308
310
  onPress: () => {}
@@ -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","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","length","Error","Array","isArray","isSectionList","some","item","title","data","ListTypeComponent","modifiedSectionData","flat","modifiedOptions","optLabel","optValue","optionsCopy","JSON","parse","stringify","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","removeDisabledItems","items","handleSelectAll","filteredOptions","i","selectAllCallback","unselectAllCallback","checkSelectAll","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","handleToggleModal","sectionIndex","primary","gray","setIndexOfSelectedItem","selectedLabel","_item$data","dataItem","createElement","Fragment","_extends","onRequestClose","removeClippedSubviews","ListHeaderComponent","onChangeText","text","style","textInputStyle","textInputContainerStyle","openModal","textInputProps","styles","optionsContainerStyle","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","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: 0 }); // for scrollToIndex in Sectionlist and Flatlist\n\n if (!options || options.length === 0) {\n throw new Error('Options array cannot be empty or undefined');\n }\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 *`modifiedOptions` should only be used for computations newOptions remains the default array.\n * At this point modifiedOptions now 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 const optionsCopy = JSON.parse(JSON.stringify(options)); // copy of the original options array\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(optionsCopy, 'data').flat()\n : optionsCopy\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 after Search, we have to search with a copy of the original array\n const searchResults = isSectionList\n ? searchSectionList(optionsCopy as TSectionList, regexFilter)\n : searchFlatList(optionsCopy 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;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n listItem.data = 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 listItem.data.push(item);\n }\n return;\n });\n\n return listItem;\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: 0, sectionIndex: 0 });\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 ? optionsCopy.map((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 : optionsCopy?.find((item: TFlatListItem, itemIndex: number) => {\n if (item[optLabel] === selectedLabel) {\n setListIndex({ itemIndex });\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 removeClippedSubviews={false}\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 openModal={() => setOpen(true)} // There seems to a known issue on expo web that closes the modal when the input is focused\n {...searchControls?.textInputProps}\n />\n )}\n {listHeaderComponent}\n {isMultiple && 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 />\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","styles","optionsContainerStyle","onPress","unselectAllText","selectAllText","onChange","ListFooterComponent","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: 0, sectionIndex: 0 }); // 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: 0, sectionIndex: 0 });\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 {isMultiple && 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 />\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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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  export const extractPropertyFromArray = (arr, property) => {
6
- let extractedValue = arr.map(item => item[property]);
6
+ let extractedValue = arr === null || arr === void 0 ? void 0 : arr.map(item => item[property]);
7
7
  return extractedValue;
8
8
  };
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item"],"sources":["index.ts"],"sourcesContent":["/**\n * Extract property from array\n */\n\nexport const extractPropertyFromArray = (arr: any, property: string) => {\n let extractedValue = arr.map((item: any) => item[property]);\n\n return extractedValue;\n};\n"],"mappings":"AAAA;AACA;AACA;;AAEA,OAAO,MAAMA,wBAAwB,GAAGA,CAACC,GAAQ,EAAEC,QAAgB,KAAK;EACtE,IAAIC,cAAc,GAAGF,GAAG,CAACG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE3D,OAAOC,cAAc;AACvB,CAAC"}
1
+ {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item"],"sources":["index.ts"],"sourcesContent":["/**\n * Extract property from array\n */\n\nexport const extractPropertyFromArray = (arr: any, property: string) => {\n let extractedValue = arr?.map((item: any) => item[property]);\n\n return extractedValue;\n};\n"],"mappings":"AAAA;AACA;AACA;;AAEA,OAAO,MAAMA,wBAAwB,GAAGA,CAACC,GAAQ,EAAEC,QAAgB,KAAK;EACtE,IAAIC,cAAc,GAAGF,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE5D,OAAOC,cAAc;AACvB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- export declare const Input: ({ placeholder, value, onChangeText, style, primaryColor, textInputContainerStyle, openModal, ...rest }: any) => JSX.Element;
2
+ export declare const Input: ({ placeholder, value, onChangeText, style, primaryColor, textInputContainerStyle, ...rest }: any) => JSX.Element;
3
3
  export default Input;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-input-select",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
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",
@@ -83,7 +83,7 @@ const CheckBox = ({
83
83
  />
84
84
  )}
85
85
  </View>
86
- {label && (
86
+ {label && label !== '' && (
87
87
  <Text
88
88
  style={[
89
89
  checkboxComponentStyles?.checkboxLabelStyle || checkboxLabelStyle,
@@ -35,8 +35,10 @@ const DropdownFlatList = ({
35
35
  };
36
36
 
37
37
  useEffect(() => {
38
- scrollToItem(listIndex.itemIndex);
39
- }, [listIndex]);
38
+ if (options?.length) {
39
+ scrollToItem(listIndex.itemIndex);
40
+ }
41
+ }, [listIndex, options]);
40
42
 
41
43
  return (
42
44
  <FlatList
@@ -71,7 +73,7 @@ const DropdownFlatList = ({
71
73
  checkboxStyle, // kept for backwards compatibility
72
74
  checkboxLabelStyle, // kept for backwards compatibility
73
75
  checkboxComponentStyles,
74
- checkboxComponent
76
+ checkboxComponent,
75
77
  })
76
78
  }
77
79
  keyExtractor={(_item, index) => `Options${index}`}
@@ -71,8 +71,10 @@ const DropdownSectionList = ({
71
71
  };
72
72
 
73
73
  useEffect(() => {
74
- scrollToLocation(listIndex);
75
- }, [listIndex]);
74
+ if (options?.length) {
75
+ scrollToLocation(listIndex);
76
+ }
77
+ }, [listIndex, options]);
76
78
 
77
79
  return (
78
80
  <SectionList
@@ -110,16 +112,14 @@ const DropdownSectionList = ({
110
112
  expandedSections,
111
113
  })
112
114
  }
113
- renderSectionHeader={({ section: { title, data } }) =>
114
- data.length > 0 && (
115
- <SectionHeaderTitle
116
- title={title}
117
- sectionHeaderStyle={listComponentStyles?.sectionHeaderStyle}
118
- onPress={() => handleToggleListExpansion(title)}
119
- isExpanded={expandedSections.has(title)}
120
- />
121
- )
122
- }
115
+ renderSectionHeader={({ section: { title } }) => (
116
+ <SectionHeaderTitle
117
+ title={title}
118
+ sectionHeaderStyle={listComponentStyles?.sectionHeaderStyle}
119
+ onPress={() => handleToggleListExpansion(title)}
120
+ isExpanded={expandedSections.has(title)}
121
+ />
122
+ )}
123
123
  keyExtractor={(_item, index) => `Options${index}`}
124
124
  stickySectionHeadersEnabled={false}
125
125
  ref={sectionlistRef}