react-native-input-select 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/lib/commonjs/components/CheckBox/index.js +1 -1
  2. package/lib/commonjs/components/CheckBox/index.js.map +1 -1
  3. package/lib/commonjs/components/Dropdown/Dropdown.js +2 -2
  4. package/lib/commonjs/components/Dropdown/Dropdown.js.map +1 -1
  5. package/lib/commonjs/components/Dropdown/DropdownList.js +0 -13
  6. package/lib/commonjs/components/Dropdown/DropdownList.js.map +1 -1
  7. package/lib/commonjs/components/Dropdown/DropdownListItem.js +3 -4
  8. package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +1 -1
  9. package/lib/commonjs/components/Dropdown/{SelectedItemsView.js → DropdownSelectedItemsView.js} +5 -4
  10. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js.map +1 -0
  11. package/lib/commonjs/index.js +43 -2
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/styles/colors.js +1 -1
  14. package/lib/commonjs/styles/colors.js.map +1 -1
  15. package/lib/commonjs/types/index.types.js.map +1 -1
  16. package/lib/module/components/CheckBox/index.js +1 -1
  17. package/lib/module/components/CheckBox/index.js.map +1 -1
  18. package/lib/module/components/Dropdown/Dropdown.js +2 -2
  19. package/lib/module/components/Dropdown/Dropdown.js.map +1 -1
  20. package/lib/module/components/Dropdown/DropdownList.js +0 -13
  21. package/lib/module/components/Dropdown/DropdownList.js.map +1 -1
  22. package/lib/module/components/Dropdown/DropdownListItem.js +3 -4
  23. package/lib/module/components/Dropdown/DropdownListItem.js.map +1 -1
  24. package/lib/module/components/Dropdown/{SelectedItemsView.js → DropdownSelectedItemsView.js} +5 -4
  25. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js.map +1 -0
  26. package/lib/module/index.js +43 -2
  27. package/lib/module/index.js.map +1 -1
  28. package/lib/module/styles/colors.js +1 -1
  29. package/lib/module/styles/colors.js.map +1 -1
  30. package/lib/module/types/index.types.js.map +1 -1
  31. package/lib/typescript/components/Dropdown/DropdownSelectedItemsView.d.ts +3 -0
  32. package/lib/typescript/types/index.types.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/src/components/CheckBox/index.tsx +3 -1
  35. package/src/components/Dropdown/Dropdown.tsx +2 -2
  36. package/src/components/Dropdown/DropdownList.tsx +0 -11
  37. package/src/components/Dropdown/DropdownListItem.tsx +3 -4
  38. package/src/components/Dropdown/{SelectedItemsView.tsx → DropdownSelectedItemsView.tsx} +3 -2
  39. package/src/index.tsx +50 -2
  40. package/src/styles/colors.ts +1 -1
  41. package/src/types/index.types.ts +1 -1
  42. package/lib/commonjs/components/Dropdown/SelectedItemsView.js.map +0 -1
  43. package/lib/module/components/Dropdown/SelectedItemsView.js.map +0 -1
  44. package/lib/typescript/components/Dropdown/SelectedItemsView.d.ts +0 -3
@@ -21,7 +21,7 @@ const CheckBox = _ref => {
21
21
  onChange
22
22
  } = _ref;
23
23
  const fillColor = {
24
- backgroundColor: value ? primaryColor || 'green' : 'white'
24
+ backgroundColor: value ? (checkboxStyle === null || checkboxStyle === void 0 ? void 0 : checkboxStyle.backgroundColor) || primaryColor || 'green' : 'white'
25
25
  };
26
26
  return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
27
27
  onPress: onChange ? () => onChange(!value) : () => {},
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_constants","obj","__esModule","default","CheckBox","_ref","label","value","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","onChange","fillColor","backgroundColor","createElement","Pressable","onPress","style","styles","checkboxContainer","View","checkbox","Image","source","height","CHECKBOX_SIZE","width","Text","labelStyle","StyleSheet","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","borderColor","marginLeft","_default","exports"],"sources":["index.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\nconst CheckBox = ({\n label,\n value,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n onChange,\n}: CheckboxProps) => {\n const fillColor = {\n backgroundColor: value ? primaryColor || 'green' : 'white',\n };\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : () => {}}\n style={[styles.checkboxContainer]}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height: checkboxSize || CHECKBOX_SIZE,\n width: checkboxSize || CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text style={[checkboxLabelStyle, styles.labelStyle]}>{label}</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":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAgD,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAHhD;;AAMA,MAAMG,QAAQ,GAAGC,IAAA,IAQI;EAAA,IARH;IAChBC,KAAK;IACLC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC,kBAAkB;IAClBC;EACa,CAAC,GAAAP,IAAA;EACd,MAAMQ,SAAS,GAAG;IAChBC,eAAe,EAAEP,KAAK,GAAGC,YAAY,IAAI,OAAO,GAAG;EACrD,CAAC;EACD,oBACEZ,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAiB,SAAS;IACRC,OAAO,EAAEL,QAAQ,GAAG,MAAMA,QAAQ,CAAC,CAACL,KAAK,CAAC,GAAG,MAAM,CAAC,CAAE;IACtDW,KAAK,EAAE,CAACC,MAAM,CAACC,iBAAiB;EAAE,gBAElCxB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAsB,IAAI;IAACH,KAAK,EAAE,CAACC,MAAM,CAACG,QAAQ,EAAEZ,aAAa,EAAEG,SAAS;EAAE,gBACvDjB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAwB,KAAK;IACJC,MAAM,EAAE1B,OAAO,CAAC,uBAAuB,CAAE;IACzCoB,KAAK,EAAE,CACL;MACEO,MAAM,EAAEhB,YAAY,IAAIiB,wBAAa;MACrCC,KAAK,EAAElB,YAAY,IAAIiB;IACzB,CAAC;EACD,EACF,CACG,EACNpB,KAAK,iBACJV,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAA6B,IAAI;IAACV,KAAK,EAAE,CAACP,kBAAkB,EAAEQ,MAAM,CAACU,UAAU;EAAE,GAAEvB,KAAK,CAC7D,CACS;AAEhB,CAAC;AAED,MAAMa,MAAM,GAAGW,uBAAU,CAACC,MAAM,CAAC;EAC/BX,iBAAiB,EAAE;IACjBY,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE;EACd,CAAC;EACDZ,QAAQ,EAAE;IACRa,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,OAAO;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACDV,UAAU,EAAE;IAAEW,UAAU,EAAE;EAAG;AAC/B,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYrC,QAAQ;AAAAsC,OAAA,CAAAvC,OAAA,GAAAsC,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_constants","obj","__esModule","default","CheckBox","_ref","label","value","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","onChange","fillColor","backgroundColor","createElement","Pressable","onPress","style","styles","checkboxContainer","View","checkbox","Image","source","height","CHECKBOX_SIZE","width","Text","labelStyle","StyleSheet","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","borderColor","marginLeft","_default","exports"],"sources":["index.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\nconst CheckBox = ({\n label,\n value,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n onChange,\n}: CheckboxProps) => {\n const fillColor = {\n backgroundColor: value\n ? checkboxStyle?.backgroundColor || primaryColor || 'green'\n : 'white',\n };\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : () => {}}\n style={[styles.checkboxContainer]}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height: checkboxSize || CHECKBOX_SIZE,\n width: checkboxSize || CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text style={[checkboxLabelStyle, styles.labelStyle]}>{label}</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":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAAgD,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAHhD;;AAMA,MAAMG,QAAQ,GAAGC,IAAA,IAQI;EAAA,IARH;IAChBC,KAAK;IACLC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC,kBAAkB;IAClBC;EACa,CAAC,GAAAP,IAAA;EACd,MAAMQ,SAAS,GAAG;IAChBC,eAAe,EAAEP,KAAK,GAClB,CAAAG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,eAAe,KAAIN,YAAY,IAAI,OAAO,GACzD;EACN,CAAC;EACD,oBACEZ,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAiB,SAAS;IACRC,OAAO,EAAEL,QAAQ,GAAG,MAAMA,QAAQ,CAAC,CAACL,KAAK,CAAC,GAAG,MAAM,CAAC,CAAE;IACtDW,KAAK,EAAE,CAACC,MAAM,CAACC,iBAAiB;EAAE,gBAElCxB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAsB,IAAI;IAACH,KAAK,EAAE,CAACC,MAAM,CAACG,QAAQ,EAAEZ,aAAa,EAAEG,SAAS;EAAE,gBACvDjB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAAwB,KAAK;IACJC,MAAM,EAAE1B,OAAO,CAAC,uBAAuB,CAAE;IACzCoB,KAAK,EAAE,CACL;MACEO,MAAM,EAAEhB,YAAY,IAAIiB,wBAAa;MACrCC,KAAK,EAAElB,YAAY,IAAIiB;IACzB,CAAC;EACD,EACF,CACG,EACNpB,KAAK,iBACJV,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,YAAA,CAAA6B,IAAI;IAACV,KAAK,EAAE,CAACP,kBAAkB,EAAEQ,MAAM,CAACU,UAAU;EAAE,GAAEvB,KAAK,CAC7D,CACS;AAEhB,CAAC;AAED,MAAMa,MAAM,GAAGW,uBAAU,CAACC,MAAM,CAAC;EAC/BX,iBAAiB,EAAE;IACjBY,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE;EACd,CAAC;EACDZ,QAAQ,EAAE;IACRa,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,OAAO;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACDV,UAAU,EAAE;IAAEW,UAAU,EAAE;EAAG;AAC/B,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYrC,QAAQ;AAAAsC,OAAA,CAAAvC,OAAA,GAAAsC,QAAA"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _SelectedItemsView = _interopRequireDefault(require("./SelectedItemsView"));
9
+ var _DropdownSelectedItemsView = _interopRequireDefault(require("./DropdownSelectedItemsView"));
10
10
  var _colors = require("../../styles/colors");
11
11
  var _typography = require("../../styles/typography");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,7 +36,7 @@ const Dropdown = _ref => {
36
36
  style: [styles.dropdownInputContainer, dropdownContainerStyle]
37
37
  }, label && label !== '' && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
38
38
  style: [styles.label, labelStyle]
39
- }, label), /*#__PURE__*/_react.default.createElement(_SelectedItemsView.default, {
39
+ }, label), /*#__PURE__*/_react.default.createElement(_DropdownSelectedItemsView.default, {
40
40
  placeholder: placeholder,
41
41
  error: error,
42
42
  getSelectedItemsLabel: getSelectedItemsLabel,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_SelectedItemsView","_colors","_typography","obj","__esModule","default","Dropdown","_ref","label","placeholder","helperText","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","labelStyle","dropdownStyle","dropdownContainerStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","createElement","View","style","styles","dropdownInputContainer","Text","helper","StyleSheet","create","marginBottom","color","colors","gray","typography","caption","inputFocusErrorState","borderWidth","borderStyle","borderColor","red","marginTop","primary","width","blackText","black","_default","exports"],"sources":["Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport SelectedItemsView from './SelectedItemsView';\nimport { colors } from '../../styles/colors';\nimport { typography } from '../../styles/typography';\n\nconst Dropdown = ({\n label,\n placeholder,\n helperText,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <View style={[styles.dropdownInputContainer, dropdownContainerStyle]}>\n {label && label !== '' && (\n <Text style={[styles.label, labelStyle]}>{label}</Text>\n )}\n <SelectedItemsView\n placeholder={placeholder}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n handleToggleModal={handleToggleModal}\n isMultiple={isMultiple}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n dropdownStyle={dropdownStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n primaryColor={primaryColor}\n disabled={disabled}\n />\n\n {error && error !== '' && (\n <Text style={[styles.error, dropdownErrorTextStyle]}>{error}</Text>\n )}\n\n {helperText && helperText !== '' && !error && (\n <Text style={[styles.helper, dropdownHelperTextStyle]}>\n {helperText}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n label: { marginBottom: 16, color: colors.gray, ...typography.caption },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n error: { color: colors.red, marginTop: 8, ...typography.caption },\n helper: { marginTop: 8, color: colors.primary, ...typography.caption },\n dropdownInputContainer: { marginBottom: 23, width: '100%' },\n blackText: { color: colors.black },\n});\n\nexport default Dropdown;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DropdownSelectedItemsView","_colors","_typography","obj","__esModule","default","Dropdown","_ref","label","placeholder","helperText","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","labelStyle","dropdownStyle","dropdownContainerStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","createElement","View","style","styles","dropdownInputContainer","Text","helper","StyleSheet","create","marginBottom","color","colors","gray","typography","caption","inputFocusErrorState","borderWidth","borderStyle","borderColor","red","marginTop","primary","width","blackText","black","_default","exports"],"sources":["Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport DropdownSelectedItemsView from './DropdownSelectedItemsView';\nimport { colors } from '../../styles/colors';\nimport { typography } from '../../styles/typography';\n\nconst Dropdown = ({\n label,\n placeholder,\n helperText,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <View style={[styles.dropdownInputContainer, dropdownContainerStyle]}>\n {label && label !== '' && (\n <Text style={[styles.label, labelStyle]}>{label}</Text>\n )}\n <DropdownSelectedItemsView\n placeholder={placeholder}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n handleToggleModal={handleToggleModal}\n isMultiple={isMultiple}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n dropdownStyle={dropdownStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n primaryColor={primaryColor}\n disabled={disabled}\n />\n\n {error && error !== '' && (\n <Text style={[styles.error, dropdownErrorTextStyle]}>{error}</Text>\n )}\n\n {helperText && helperText !== '' && !error && (\n <Text style={[styles.helper, dropdownHelperTextStyle]}>\n {helperText}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n label: { marginBottom: 16, color: colors.gray, ...typography.caption },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n error: { color: colors.red, marginTop: 8, ...typography.caption },\n helper: { marginTop: 8, color: colors.primary, ...typography.caption },\n dropdownInputContainer: { marginBottom: 23, width: '100%' },\n blackText: { color: colors.black },\n});\n\nexport default Dropdown;\n"],"mappings":"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"}
@@ -66,19 +66,6 @@ const _renderItem = (_ref2, props) => {
66
66
  });
67
67
  };
68
68
  const styles = _reactNative.StyleSheet.create({
69
- modalContainer: {
70
- flex: 1,
71
- justifyContent: 'flex-end'
72
- },
73
- modalBackgroundStyle: {
74
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
75
- },
76
- modalOptionsContainer: {
77
- maxHeight: '50%',
78
- backgroundColor: _colors.colors.white,
79
- borderTopLeftRadius: 16,
80
- borderTopRightRadius: 16
81
- },
82
69
  itemSeparatorStyle: {
83
70
  backgroundColor: _colors.colors.gray,
84
71
  height: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DropdownListItem","_colors","obj","__esModule","default","DropdownList","_ref","options","optionLabel","optionValue","isMultiple","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","createElement","FlatList","data","extraData","initialNumToRender","ListEmptyComponent","View","style","styles","emptyListStyle","Text","ItemSeparatorComponent","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","index","_ref2","props","StyleSheet","create","modalContainer","flex","justifyContent","modalBackgroundStyle","backgroundColor","modalOptionsContainer","maxHeight","colors","white","borderTopLeftRadius","borderTopRightRadius","gray","height","opacity","alignItems","width","marginVertical","_default","exports"],"sources":["DropdownList.tsx"],"sourcesContent":["import React from 'react';\nimport { View, FlatList, StyleSheet, Text } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { colors } from '../../styles/colors';\n\nconst DropdownList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <View style={styles.emptyListStyle}>\n <Text>No options available</Text>\n </View>\n }\n ItemSeparatorComponent={() => <View style={styles.itemSeparatorStyle} />}\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,\n checkboxStyle,\n checkboxLabelStyle,\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\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 />\n );\n};\n\nconst styles = StyleSheet.create({\n modalContainer: {\n flex: 1,\n justifyContent: 'flex-end',\n },\n modalBackgroundStyle: { backgroundColor: 'rgba(0, 0, 0, 0.5)' },\n modalOptionsContainer: {\n maxHeight: '50%',\n backgroundColor: colors.white,\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n },\n itemSeparatorStyle: {\n backgroundColor: colors.gray,\n height: 1,\n opacity: 0.15,\n },\n emptyListStyle: { alignItems: 'center', width: '100%', marginVertical: 20 },\n});\n\nexport default DropdownList;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C,MAAMG,YAAY,GAAGC,IAAA,IAaV;EAAA,IAbW;IACpBC,OAAO;IACPC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,aAAa;IACbC,YAAY;IACZC,wBAAwB;IACxBC,qBAAqB;IACrBC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC;EACG,CAAC,GAAAZ,IAAA;EACJ,oBACEV,MAAA,CAAAQ,OAAA,CAAAe,aAAA,CAACpB,YAAA,CAAAqB,QAAQ;IACPC,IAAI,EAAEd,OAAQ;IACde,SAAS,EAAEZ,UAAU,GAAGC,aAAa,GAAGC,YAAa;IACrDW,kBAAkB,EAAE,CAAE;IACtBC,kBAAkB,eAChB5B,MAAA,CAAAQ,OAAA,CAAAe,aAAA,CAACpB,YAAA,CAAA0B,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACC;IAAe,gBACjChC,MAAA,CAAAQ,OAAA,CAAAe,aAAA,CAACpB,YAAA,CAAA8B,IAAI,QAAC,sBAAoB,CAAO,CAEpC;IACDC,sBAAsB,EAAEA,CAAA,kBAAMlC,MAAA,CAAAQ,OAAA,CAAAe,aAAA,CAACpB,YAAA,CAAA0B,IAAI;MAACC,KAAK,EAAEC,MAAM,CAACI;IAAmB,EAAI;IACzEC,UAAU,EAAGC,IAAI,IACfC,WAAW,CAACD,IAAI,EAAE;MAChBzB,WAAW;MACXC,WAAW;MACXC,UAAU;MACVyB,cAAc,EAAEzB,UAAU,GAAGC,aAAa,GAAGC,YAAY;MACzDwB,QAAQ,EAAE1B,UAAU,GAChBG,wBAAwB,GACxBC,qBAAqB;MACzBC,YAAY;MACZC,YAAY;MACZC,aAAa;MACbC;IACF,CAAC,CACF;IACDmB,YAAY,EAAEA,CAACC,KAAK,EAAEC,KAAK,KAAM,UAASA,KAAM;EAAE,EAClD;AAEN,CAAC;AAED,MAAML,WAAW,GAAGA,CAAAM,KAAA,EAAgBC,KAAU,KAAK;EAAA,IAA9B;IAAER;EAAU,CAAC,GAAAO,KAAA;EAChC,oBACE5C,MAAA,CAAAQ,OAAA,CAAAe,aAAA,CAACnB,iBAAA,CAAAI,OAAgB;IACf6B,IAAI,EAAEA,IAAK;IACXzB,WAAW,EAAEiC,KAAK,CAACjC,WAAY;IAC/BC,WAAW,EAAEgC,KAAK,CAAChC,WAAY;IAC/BC,UAAU,EAAE+B,KAAK,CAAC/B,UAAW;IAC7ByB,cAAc,EAAEM,KAAK,CAACN,cAAe;IACrCC,QAAQ,EAAEK,KAAK,CAACL,QAAS;IACzBrB,YAAY,EAAE0B,KAAK,CAAC1B,YAAa;IACjCC,YAAY,EAAEyB,KAAK,CAACzB,YAAa;IACjCC,aAAa,EAAEwB,KAAK,CAACxB,aAAc;IACnCC,kBAAkB,EAAEuB,KAAK,CAACvB;EAAmB,EAC7C;AAEN,CAAC;AAED,MAAMS,MAAM,GAAGe,uBAAU,CAACC,MAAM,CAAC;EAC/BC,cAAc,EAAE;IACdC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EAClB,CAAC;EACDC,oBAAoB,EAAE;IAAEC,eAAe,EAAE;EAAqB,CAAC;EAC/DC,qBAAqB,EAAE;IACrBC,SAAS,EAAE,KAAK;IAChBF,eAAe,EAAEG,cAAM,CAACC,KAAK;IAC7BC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACxB,CAAC;EACDvB,kBAAkB,EAAE;IAClBiB,eAAe,EAAEG,cAAM,CAACI,IAAI;IAC5BC,MAAM,EAAE,CAAC;IACTC,OAAO,EAAE;EACX,CAAC;EACD7B,cAAc,EAAE;IAAE8B,UAAU,EAAE,QAAQ;IAAEC,KAAK,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAG;AAC5E,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYxD,YAAY;AAAAyD,OAAA,CAAA1D,OAAA,GAAAyD,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_DropdownListItem","_colors","obj","__esModule","default","DropdownList","_ref","options","optionLabel","optionValue","isMultiple","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","createElement","FlatList","data","extraData","initialNumToRender","ListEmptyComponent","View","style","styles","emptyListStyle","Text","ItemSeparatorComponent","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","index","_ref2","props","StyleSheet","create","backgroundColor","colors","gray","height","opacity","alignItems","width","marginVertical","_default","exports"],"sources":["DropdownList.tsx"],"sourcesContent":["import React from 'react';\nimport { View, FlatList, StyleSheet, Text } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { colors } from '../../styles/colors';\n\nconst DropdownList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <View style={styles.emptyListStyle}>\n <Text>No options available</Text>\n </View>\n }\n ItemSeparatorComponent={() => <View style={styles.itemSeparatorStyle} />}\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,\n checkboxStyle,\n checkboxLabelStyle,\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\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 />\n );\n};\n\nconst styles = StyleSheet.create({\n itemSeparatorStyle: {\n backgroundColor: colors.gray,\n height: 1,\n opacity: 0.15,\n },\n emptyListStyle: { alignItems: 'center', width: '100%', marginVertical: 20 },\n});\n\nexport default DropdownList;\n"],"mappings":"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"}
@@ -7,7 +7,6 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _CheckBox = _interopRequireDefault(require("../CheckBox"));
10
- var _colors = require("../../styles/colors");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,20 +25,20 @@ const DropdownListItem = _ref => {
26
25
  } = _ref;
27
26
  const selectedOptionValue = optionValue ?? 'value';
28
27
  return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
29
- style: styles.modalOptions,
28
+ style: styles.dropdownModalOptions,
30
29
  onPress: () => onChange(item[selectedOptionValue])
31
30
  }, /*#__PURE__*/_react.default.createElement(_CheckBox.default, {
32
31
  value: isMultiple ? selectedOption.includes(item[selectedOptionValue]) : [selectedOption].includes(item[selectedOptionValue]),
33
32
  label: item[optionLabel ?? ''],
34
33
  onChange: () => onChange(item[selectedOptionValue]),
35
- primaryColor: primaryColor || _colors.colors.primary,
34
+ primaryColor: primaryColor,
36
35
  checkboxSize: checkboxSize,
37
36
  checkboxStyle: checkboxStyle,
38
37
  checkboxLabelStyle: checkboxLabelStyle
39
38
  }));
40
39
  };
41
40
  const styles = _reactNative.StyleSheet.create({
42
- modalOptions: {
41
+ dropdownModalOptions: {
43
42
  paddingHorizontal: 20,
44
43
  paddingVertical: 10,
45
44
  flexDirection: 'row',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CheckBox","_interopRequireDefault","_colors","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DropdownListItem","_ref","item","optionLabel","optionValue","isMultiple","selectedOption","onChange","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","selectedOptionValue","createElement","TouchableOpacity","style","styles","modalOptions","onPress","value","includes","label","colors","primary","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","alignItems","_default","memo","exports"],"sources":["DropdownListItem.tsx"],"sourcesContent":["import React, { memo } from 'react';\nimport { TouchableOpacity, StyleSheet } from 'react-native';\nimport CheckBox from '../CheckBox';\nimport { colors } from '../../styles/colors';\n\nconst DropdownListItem = ({\n item,\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption,\n onChange,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n const selectedOptionValue = optionValue ?? 'value';\n return (\n <TouchableOpacity\n style={styles.modalOptions}\n onPress={() => onChange(item[selectedOptionValue])}\n >\n <CheckBox\n value={\n isMultiple\n ? selectedOption.includes(item[selectedOptionValue])\n : [selectedOption].includes(item[selectedOptionValue])\n }\n label={item[optionLabel ?? '']}\n onChange={() => onChange(item[selectedOptionValue])}\n primaryColor={primaryColor || colors.primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n modalOptions: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n\nexport default memo(DropdownListItem);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_CheckBox","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DropdownListItem","_ref","item","optionLabel","optionValue","isMultiple","selectedOption","onChange","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","selectedOptionValue","createElement","TouchableOpacity","style","styles","dropdownModalOptions","onPress","value","includes","label","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","alignItems","_default","memo","exports"],"sources":["DropdownListItem.tsx"],"sourcesContent":["import React, { memo } from 'react';\nimport { TouchableOpacity, StyleSheet } from 'react-native';\nimport CheckBox from '../CheckBox';\n\nconst DropdownListItem = ({\n item,\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption,\n onChange,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n const selectedOptionValue = optionValue ?? 'value';\n return (\n <TouchableOpacity\n style={styles.dropdownModalOptions}\n onPress={() => onChange(item[selectedOptionValue])}\n >\n <CheckBox\n value={\n isMultiple\n ? selectedOption.includes(item[selectedOptionValue])\n : [selectedOption].includes(item[selectedOptionValue])\n }\n label={item[optionLabel ?? '']}\n onChange={() => onChange(item[selectedOptionValue])}\n primaryColor={primaryColor}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n dropdownModalOptions: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n\nexport default memo(DropdownListItem);\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ var _reactNative = require("react-native");
9
9
  var _colors = require("../../styles/colors");
10
10
  var _input = require("../../styles/input");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- const SelectedItemsView = _ref => {
12
+ const DropdownSelectedItemsView = _ref => {
13
13
  let {
14
14
  placeholder,
15
15
  error,
@@ -86,12 +86,13 @@ const styles = _reactNative.StyleSheet.create({
86
86
  paddingVertical: 5,
87
87
  borderRadius: 10,
88
88
  backgroundColor: _colors.colors.primary,
89
- marginRight: 10
89
+ marginRight: 10,
90
+ overflow: 'hidden'
90
91
  },
91
92
  blackText: {
92
93
  color: _colors.colors.black
93
94
  }
94
95
  });
95
- var _default = SelectedItemsView;
96
+ var _default = DropdownSelectedItemsView;
96
97
  exports.default = _default;
97
- //# sourceMappingURL=SelectedItemsView.js.map
98
+ //# sourceMappingURL=DropdownSelectedItemsView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_input","obj","__esModule","default","DropdownSelectedItemsView","_ref","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","createElement","Pressable","onPress","style","_ref2","pressed","inputStyles","inputFocusState","borderColor","input","inputFocusErrorState","ScrollView","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","View","styles","selectedItemsContainer","onStartShouldSetResponder","map","item","i","TouchableOpacity","key","Math","random","Text","backgroundColor","blackText","length","iconStyle","Image","source","StyleSheet","create","position","right","top","flexDirection","flexWrap","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 dropdownStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n inputStyles.input,\n 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((item: any, i: Number) => (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n key={`react-native-input-select-${Math.random()}-${i}`}\n disabled={disabled}\n >\n <Text\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n >\n {item}\n </Text>\n </TouchableOpacity>\n ))\n ) : (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n disabled={disabled}\n >\n <Text style={[styles.blackText, selectedItemStyle]}>\n {getSelectedItemsLabel()}\n </Text>\n </TouchableOpacity>\n )}\n </View>\n\n {!selectedItem && selectedItems?.length === 0 && (\n <Text style={styles.blackText}>\n {placeholder ?? 'Select an option'}\n </Text>\n )}\n </ScrollView>\n <View style={styles.iconStyle}>\n <Image source={require('../../asset/arrow-down.png')} />\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: { flexDirection: 'row', flexWrap: 'nowrap' },\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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"}
@@ -5,12 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.DropdownSelect = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
8
9
  var _Dropdown = _interopRequireDefault(require("./components/Dropdown/Dropdown"));
9
10
  var _DropdownList = _interopRequireDefault(require("./components/Dropdown/DropdownList"));
10
11
  var _CustomModal = _interopRequireDefault(require("./components/CustomModal"));
11
- var _constants = require("./constants");
12
12
  var _Input = require("./components/Input");
13
+ var _CheckBox = _interopRequireDefault(require("./components/CheckBox"));
13
14
  var _colors = require("./styles/colors");
15
+ var _constants = require("./constants");
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -48,6 +50,7 @@ const DropdownSelect = _ref => {
48
50
  } = _ref;
49
51
  const [newOptions, setNewOptions] = (0, _react.useState)(options ? options : []);
50
52
  const [open, setOpen] = (0, _react.useState)(false);
53
+ const [selectAll, setSelectAll] = (0, _react.useState)(false);
51
54
  const [selectedItem, setSelectedItem] = (0, _react.useState)(selectedValue); //for single selection
52
55
  const [selectedItems, setSelectedItems] = (0, _react.useState)(Array.isArray(selectedValue) ? selectedValue : selectedValue === '' || selectedValue === undefined ? [] : [selectedValue]); //for multiple selection
53
56
  const [searchValue, setSearchValue] = (0, _react.useState)('');
@@ -74,6 +77,25 @@ const DropdownSelect = _ref => {
74
77
  }
75
78
  setSelectedItems(selectedValues);
76
79
  onValueChange(selectedValues); //send value to parent
80
+
81
+ if (newOptions.length === selectedValues.length) {
82
+ setSelectAll(true);
83
+ } else {
84
+ setSelectAll(false);
85
+ }
86
+ };
87
+ const handleSelectAll = () => {
88
+ setSelectAll(prevVal => {
89
+ const selectedValues = [];
90
+ if (!prevVal) {
91
+ for (let i = 0; i < newOptions.length; i++) {
92
+ selectedValues.push(newOptions[i][optionValue]);
93
+ }
94
+ }
95
+ setSelectedItems(selectedValues);
96
+ onValueChange(selectedValues); //send value to parent
97
+ return !prevVal;
98
+ });
77
99
  };
78
100
 
79
101
  /*===========================================
@@ -148,7 +170,19 @@ const DropdownSelect = _ref => {
148
170
  onChangeText: text => onSearch(text),
149
171
  style: searchInputStyle,
150
172
  primaryColor: primary
151
- }), /*#__PURE__*/_react.default.createElement(_DropdownList.default, {
173
+ }), isMultiple && newOptions.length > 1 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
174
+ style: styles.optionsContainerStyle
175
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
176
+ onPress: () => {}
177
+ }, /*#__PURE__*/_react.default.createElement(_CheckBox.default, {
178
+ value: selectAll,
179
+ label: selectAll ? 'Clear all' : 'Select all',
180
+ onChange: () => handleSelectAll(),
181
+ primaryColor: primary,
182
+ checkboxSize: checkboxSize,
183
+ checkboxStyle: checkboxStyle,
184
+ checkboxLabelStyle: checkboxLabelStyle
185
+ }))), /*#__PURE__*/_react.default.createElement(_DropdownList.default, {
152
186
  options: newOptions,
153
187
  optionLabel: optionLabel,
154
188
  optionValue: optionValue,
@@ -164,6 +198,13 @@ const DropdownSelect = _ref => {
164
198
  })));
165
199
  };
166
200
  exports.DropdownSelect = DropdownSelect;
201
+ const styles = _reactNative.StyleSheet.create({
202
+ optionsContainerStyle: {
203
+ paddingHorizontal: 20,
204
+ paddingVertical: 10,
205
+ flexDirection: 'row'
206
+ }
207
+ });
167
208
  var _default = DropdownSelect;
168
209
  exports.default = _default;
169
210
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_Dropdown","_interopRequireDefault","_DropdownList","_CustomModal","_constants","_Input","_colors","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","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","labelStyle","dropdownStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainer","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","rest","newOptions","setNewOptions","useState","open","setOpen","selectedItem","setSelectedItem","selectedItems","setSelectedItems","Array","isArray","undefined","searchValue","setSearchValue","handleSingleSelection","value","handleMultipleSelections","selectedValues","includes","filter","item","push","getSelectedItemsLabel","selectedLabels","forEach","element","_options$find","selectedItemLabel","find","DEFAULT_OPTION_VALUE","DEFAULT_OPTION_LABEL","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","toLowerCase","search","handleToggleModal","primary","colors","gray","createElement","Fragment","onRequestClose","Input","onChangeText","text","style","exports","_default"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownList from './components/Dropdown/DropdownList';\nimport CustomModal from './components/CustomModal';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type { DropdownProps } from './types/index.types';\nimport { Input } from './components/Input';\nimport { colors } from './styles/colors';\n\nexport const DropdownSelect = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainer,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n ...rest\n}: DropdownProps) => {\n const [newOptions, setNewOptions] = useState(options ? options : []);\n const [open, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection\n const [selectedItems, setSelectedItems] = useState(\n Array.isArray(selectedValue)\n ? selectedValue\n : selectedValue === '' || selectedValue === undefined\n ? []\n : [selectedValue]\n ); //for multiple selection\n const [searchValue, setSearchValue] = useState('');\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: any) => {\n if (selectedItem === value) {\n setSelectedItem(null);\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: any) => {\n let selectedValues = [...selectedItems];\n\n if (selectedValues.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple) {\n let selectedLabels: Array<string> = [];\n selectedItems &&\n selectedItems.forEach((element) => {\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === element\n )?.[optionLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === selectedItem\n );\n return selectedItemLabel?.[optionLabel ?? DEFAULT_OPTION_LABEL];\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 const searchResults = options.filter((item: any) => {\n if (\n item[optionLabel ?? DEFAULT_OPTION_LABEL]\n .toString()\n .toLowerCase()\n .search(regexFilter) !== -1 ||\n item[optionValue ?? DEFAULT_OPTION_VALUE]\n .toString(regexFilter)\n .toLowerCase()\n .search(regexFilter) !== -1\n ) {\n return item;\n }\n });\n\n setNewOptions(searchResults);\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n let primary = primaryColor || colors.gray;\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 dropdownStyle={dropdownStyle}\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 {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainer={modalOptionsContainer}\n onRequestClose={() => {}}\n >\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n <DropdownList\n options={newOptions}\n optionLabel={optionLabel}\n optionValue={optionValue}\n isMultiple={isMultiple}\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 />\n </CustomModal>\n </>\n );\n};\n\nexport default DropdownSelect;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Dropdown","_interopRequireDefault","_DropdownList","_CustomModal","_Input","_CheckBox","_colors","_constants","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","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","labelStyle","dropdownStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainer","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","rest","newOptions","setNewOptions","useState","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","Array","isArray","undefined","searchValue","setSearchValue","handleSingleSelection","value","handleMultipleSelections","selectedValues","includes","filter","item","push","handleSelectAll","prevVal","getSelectedItemsLabel","selectedLabels","forEach","element","_options$find","selectedItemLabel","find","DEFAULT_OPTION_VALUE","DEFAULT_OPTION_LABEL","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","toLowerCase","search","handleToggleModal","primary","colors","gray","createElement","Fragment","onRequestClose","Input","onChangeText","text","style","View","styles","optionsContainerStyle","TouchableOpacity","onPress","onChange","exports","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","_default"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownList from './components/Dropdown/DropdownList';\nimport CustomModal from './components/CustomModal';\nimport { Input } from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type { DropdownProps } from './types/index.types';\n\nexport const DropdownSelect = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainer,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n ...rest\n}: DropdownProps) => {\n const [newOptions, setNewOptions] = useState(options ? options : []);\n const [open, setOpen] = useState(false);\n const [selectAll, setSelectAll] = useState(false);\n const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection\n const [selectedItems, setSelectedItems] = useState(\n Array.isArray(selectedValue)\n ? selectedValue\n : selectedValue === '' || selectedValue === undefined\n ? []\n : [selectedValue]\n ); //for multiple selection\n const [searchValue, setSearchValue] = useState('');\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: any) => {\n if (selectedItem === value) {\n setSelectedItem(null);\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: any) => {\n let selectedValues = [...selectedItems];\n\n if (selectedValues.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n\n if (newOptions.length === selectedValues.length) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n if (!prevVal) {\n for (let i = 0; i < newOptions.length; i++) {\n selectedValues.push(newOptions[i][optionValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n return !prevVal;\n });\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple) {\n let selectedLabels: Array<string> = [];\n selectedItems &&\n selectedItems.forEach((element) => {\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === element\n )?.[optionLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === selectedItem\n );\n return selectedItemLabel?.[optionLabel ?? DEFAULT_OPTION_LABEL];\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 const searchResults = options.filter((item: any) => {\n if (\n item[optionLabel ?? DEFAULT_OPTION_LABEL]\n .toString()\n .toLowerCase()\n .search(regexFilter) !== -1 ||\n item[optionValue ?? DEFAULT_OPTION_VALUE]\n .toString(regexFilter)\n .toLowerCase()\n .search(regexFilter) !== -1\n ) {\n return item;\n }\n });\n\n setNewOptions(searchResults);\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n let primary = primaryColor || colors.gray;\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 dropdownStyle={dropdownStyle}\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 {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainer={modalOptionsContainer}\n onRequestClose={() => {}}\n >\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n {isMultiple && newOptions.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={selectAll ? 'Clear all' : 'Select all'}\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n </View>\n )}\n <DropdownList\n options={newOptions}\n optionLabel={optionLabel}\n optionValue={optionValue}\n isMultiple={isMultiple}\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 />\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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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.colors = void 0;
7
7
  const colors = {
8
- primary: '#EF8031',
8
+ primary: 'green',
9
9
  red: '#FA4169',
10
10
  black: '#000000',
11
11
  white: '#FFFFFF',
@@ -1 +1 @@
1
- {"version":3,"names":["colors","primary","red","black","white","dark","gray","lightGray","exports"],"sources":["colors.ts"],"sourcesContent":["export const colors: any = {\n primary: '#EF8031',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAW,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC;AAACC,OAAA,CAAAR,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["colors","primary","red","black","white","dark","gray","lightGray","exports"],"sources":["colors.ts"],"sourcesContent":["export const colors: any = {\n primary: 'green',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAW,GAAG;EACzBC,OAAO,EAAE,OAAO;EAChBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC;AAACC,OAAA,CAAAR,MAAA,GAAAA,MAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.types.ts"],"sourcesContent":["import type { ViewStyle, ColorValue, TextStyle } from 'react-native';\n\nexport type DropdownProps = {\n placeholder?: string;\n label?: string;\n error?: string;\n helperText?: string;\n options: any[];\n optionLabel: string;\n optionValue?: string;\n onValueChange: Function;\n selectedValue?: string | any[] | null;\n isMultiple?: boolean;\n isSearchable?: boolean;\n labelStyle?: TextStyle;\n dropdownStyle?: ViewStyle;\n dropdownContainerStyle?: ViewStyle;\n dropdownErrorStyle?: ViewStyle;\n dropdownErrorTextStyle?: TextStyle;\n dropdownHelperTextStyle?: TextStyle;\n selectedItemStyle?: ViewStyle;\n multipleSelectedItemStyle?: ViewStyle;\n modalBackgroundStyle?: ViewStyle;\n modalOptionsContainer?: ViewStyle;\n searchInputStyle?: ViewStyle;\n primaryColor?: ColorValue;\n disabled?: boolean;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["index.types.ts"],"sourcesContent":["import type { ViewStyle, ColorValue, TextStyle } from 'react-native';\n\nexport type DropdownProps = {\n placeholder?: string;\n label?: string;\n error?: string;\n helperText?: string;\n options: any[];\n optionLabel: string;\n optionValue: string;\n onValueChange: Function;\n selectedValue?: string | any[] | null;\n isMultiple?: boolean;\n isSearchable?: boolean;\n labelStyle?: TextStyle;\n dropdownStyle?: ViewStyle;\n dropdownContainerStyle?: ViewStyle;\n dropdownErrorStyle?: ViewStyle;\n dropdownErrorTextStyle?: TextStyle;\n dropdownHelperTextStyle?: TextStyle;\n selectedItemStyle?: ViewStyle;\n multipleSelectedItemStyle?: ViewStyle;\n modalBackgroundStyle?: ViewStyle;\n modalOptionsContainer?: ViewStyle;\n searchInputStyle?: ViewStyle;\n primaryColor?: ColorValue;\n disabled?: boolean;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n};\n"],"mappings":""}
@@ -13,7 +13,7 @@ const CheckBox = _ref => {
13
13
  onChange
14
14
  } = _ref;
15
15
  const fillColor = {
16
- backgroundColor: value ? primaryColor || 'green' : 'white'
16
+ backgroundColor: value ? (checkboxStyle === null || checkboxStyle === void 0 ? void 0 : checkboxStyle.backgroundColor) || primaryColor || 'green' : 'white'
17
17
  };
18
18
  return /*#__PURE__*/React.createElement(Pressable, {
19
19
  onPress: onChange ? () => onChange(!value) : () => {},
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","Text","StyleSheet","Image","View","CHECKBOX_SIZE","CheckBox","_ref","label","value","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","onChange","fillColor","backgroundColor","createElement","onPress","style","styles","checkboxContainer","checkbox","source","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","borderColor","marginLeft"],"sources":["index.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\nconst CheckBox = ({\n label,\n value,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n onChange,\n}: CheckboxProps) => {\n const fillColor = {\n backgroundColor: value ? primaryColor || 'green' : 'white',\n };\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : () => {}}\n style={[styles.checkboxContainer]}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height: checkboxSize || CHECKBOX_SIZE,\n width: checkboxSize || CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text style={[checkboxLabelStyle, styles.labelStyle]}>{label}</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":"AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AACvE,SAASC,aAAa,QAAQ,iBAAiB;AAG/C,MAAMC,QAAQ,GAAGC,IAAA,IAQI;EAAA,IARH;IAChBC,KAAK;IACLC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC,kBAAkB;IAClBC;EACa,CAAC,GAAAP,IAAA;EACd,MAAMQ,SAAS,GAAG;IAChBC,eAAe,EAAEP,KAAK,GAAGC,YAAY,IAAI,OAAO,GAAG;EACrD,CAAC;EACD,oBACEX,KAAA,CAAAkB,aAAA,CAACjB,SAAS;IACRkB,OAAO,EAAEJ,QAAQ,GAAG,MAAMA,QAAQ,CAAC,CAACL,KAAK,CAAC,GAAG,MAAM,CAAC,CAAE;IACtDU,KAAK,EAAE,CAACC,MAAM,CAACC,iBAAiB;EAAE,gBAElCtB,KAAA,CAAAkB,aAAA,CAACb,IAAI;IAACe,KAAK,EAAE,CAACC,MAAM,CAACE,QAAQ,EAAEV,aAAa,EAAEG,SAAS;EAAE,gBACvDhB,KAAA,CAAAkB,aAAA,CAACd,KAAK;IACJoB,MAAM,EAAEC,OAAO,CAAC,uBAAuB,CAAE;IACzCL,KAAK,EAAE,CACL;MACEM,MAAM,EAAEd,YAAY,IAAIN,aAAa;MACrCqB,KAAK,EAAEf,YAAY,IAAIN;IACzB,CAAC;EACD,EACF,CACG,EACNG,KAAK,iBACJT,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACkB,KAAK,EAAE,CAACN,kBAAkB,EAAEO,MAAM,CAACO,UAAU;EAAE,GAAEnB,KAAK,CAC7D,CACS;AAEhB,CAAC;AAED,MAAMY,MAAM,GAAGlB,UAAU,CAAC0B,MAAM,CAAC;EAC/BP,iBAAiB,EAAE;IACjBQ,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE;EACd,CAAC;EACDT,QAAQ,EAAE;IACRU,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,OAAO;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACDT,UAAU,EAAE;IAAEU,UAAU,EAAE;EAAG;AAC/B,CAAC,CAAC;AAEF,eAAe/B,QAAQ"}
1
+ {"version":3,"names":["React","Pressable","Text","StyleSheet","Image","View","CHECKBOX_SIZE","CheckBox","_ref","label","value","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","onChange","fillColor","backgroundColor","createElement","onPress","style","styles","checkboxContainer","checkbox","source","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","borderColor","marginLeft"],"sources":["index.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\nconst CheckBox = ({\n label,\n value,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n onChange,\n}: CheckboxProps) => {\n const fillColor = {\n backgroundColor: value\n ? checkboxStyle?.backgroundColor || primaryColor || 'green'\n : 'white',\n };\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : () => {}}\n style={[styles.checkboxContainer]}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height: checkboxSize || CHECKBOX_SIZE,\n width: checkboxSize || CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text style={[checkboxLabelStyle, styles.labelStyle]}>{label}</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":"AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AACvE,SAASC,aAAa,QAAQ,iBAAiB;AAG/C,MAAMC,QAAQ,GAAGC,IAAA,IAQI;EAAA,IARH;IAChBC,KAAK;IACLC,KAAK;IACLC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC,kBAAkB;IAClBC;EACa,CAAC,GAAAP,IAAA;EACd,MAAMQ,SAAS,GAAG;IAChBC,eAAe,EAAEP,KAAK,GAClB,CAAAG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,eAAe,KAAIN,YAAY,IAAI,OAAO,GACzD;EACN,CAAC;EACD,oBACEX,KAAA,CAAAkB,aAAA,CAACjB,SAAS;IACRkB,OAAO,EAAEJ,QAAQ,GAAG,MAAMA,QAAQ,CAAC,CAACL,KAAK,CAAC,GAAG,MAAM,CAAC,CAAE;IACtDU,KAAK,EAAE,CAACC,MAAM,CAACC,iBAAiB;EAAE,gBAElCtB,KAAA,CAAAkB,aAAA,CAACb,IAAI;IAACe,KAAK,EAAE,CAACC,MAAM,CAACE,QAAQ,EAAEV,aAAa,EAAEG,SAAS;EAAE,gBACvDhB,KAAA,CAAAkB,aAAA,CAACd,KAAK;IACJoB,MAAM,EAAEC,OAAO,CAAC,uBAAuB,CAAE;IACzCL,KAAK,EAAE,CACL;MACEM,MAAM,EAAEd,YAAY,IAAIN,aAAa;MACrCqB,KAAK,EAAEf,YAAY,IAAIN;IACzB,CAAC;EACD,EACF,CACG,EACNG,KAAK,iBACJT,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACkB,KAAK,EAAE,CAACN,kBAAkB,EAAEO,MAAM,CAACO,UAAU;EAAE,GAAEnB,KAAK,CAC7D,CACS;AAEhB,CAAC;AAED,MAAMY,MAAM,GAAGlB,UAAU,CAAC0B,MAAM,CAAC;EAC/BP,iBAAiB,EAAE;IACjBQ,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAE;EACd,CAAC;EACDT,QAAQ,EAAE;IACRU,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,OAAO;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACDT,UAAU,EAAE;IAAEU,UAAU,EAAE;EAAG;AAC/B,CAAC,CAAC;AAEF,eAAe/B,QAAQ"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, Text, StyleSheet } from 'react-native';
3
- import SelectedItemsView from './SelectedItemsView';
3
+ import DropdownSelectedItemsView from './DropdownSelectedItemsView';
4
4
  import { colors } from '../../styles/colors';
5
5
  import { typography } from '../../styles/typography';
6
6
  const Dropdown = _ref => {
@@ -29,7 +29,7 @@ const Dropdown = _ref => {
29
29
  style: [styles.dropdownInputContainer, dropdownContainerStyle]
30
30
  }, label && label !== '' && /*#__PURE__*/React.createElement(Text, {
31
31
  style: [styles.label, labelStyle]
32
- }, label), /*#__PURE__*/React.createElement(SelectedItemsView, {
32
+ }, label), /*#__PURE__*/React.createElement(DropdownSelectedItemsView, {
33
33
  placeholder: placeholder,
34
34
  error: error,
35
35
  getSelectedItemsLabel: getSelectedItemsLabel,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","SelectedItemsView","colors","typography","Dropdown","_ref","label","placeholder","helperText","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","labelStyle","dropdownStyle","dropdownContainerStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","createElement","style","styles","dropdownInputContainer","helper","create","marginBottom","color","gray","caption","inputFocusErrorState","borderWidth","borderStyle","borderColor","red","marginTop","primary","width","blackText","black"],"sources":["Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport SelectedItemsView from './SelectedItemsView';\nimport { colors } from '../../styles/colors';\nimport { typography } from '../../styles/typography';\n\nconst Dropdown = ({\n label,\n placeholder,\n helperText,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <View style={[styles.dropdownInputContainer, dropdownContainerStyle]}>\n {label && label !== '' && (\n <Text style={[styles.label, labelStyle]}>{label}</Text>\n )}\n <SelectedItemsView\n placeholder={placeholder}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n handleToggleModal={handleToggleModal}\n isMultiple={isMultiple}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n dropdownStyle={dropdownStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n primaryColor={primaryColor}\n disabled={disabled}\n />\n\n {error && error !== '' && (\n <Text style={[styles.error, dropdownErrorTextStyle]}>{error}</Text>\n )}\n\n {helperText && helperText !== '' && !error && (\n <Text style={[styles.helper, dropdownHelperTextStyle]}>\n {helperText}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n label: { marginBottom: 16, color: colors.gray, ...typography.caption },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n error: { color: colors.red, marginTop: 8, ...typography.caption },\n helper: { marginTop: 8, color: colors.primary, ...typography.caption },\n dropdownInputContainer: { marginBottom: 23, width: '100%' },\n blackText: { color: colors.black },\n});\n\nexport default Dropdown;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","DropdownSelectedItemsView","colors","typography","Dropdown","_ref","label","placeholder","helperText","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","labelStyle","dropdownStyle","dropdownContainerStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","createElement","style","styles","dropdownInputContainer","helper","create","marginBottom","color","gray","caption","inputFocusErrorState","borderWidth","borderStyle","borderColor","red","marginTop","primary","width","blackText","black"],"sources":["Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport DropdownSelectedItemsView from './DropdownSelectedItemsView';\nimport { colors } from '../../styles/colors';\nimport { typography } from '../../styles/typography';\n\nconst Dropdown = ({\n label,\n placeholder,\n helperText,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <View style={[styles.dropdownInputContainer, dropdownContainerStyle]}>\n {label && label !== '' && (\n <Text style={[styles.label, labelStyle]}>{label}</Text>\n )}\n <DropdownSelectedItemsView\n placeholder={placeholder}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n handleToggleModal={handleToggleModal}\n isMultiple={isMultiple}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n dropdownStyle={dropdownStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n primaryColor={primaryColor}\n disabled={disabled}\n />\n\n {error && error !== '' && (\n <Text style={[styles.error, dropdownErrorTextStyle]}>{error}</Text>\n )}\n\n {helperText && helperText !== '' && !error && (\n <Text style={[styles.helper, dropdownHelperTextStyle]}>\n {helperText}\n </Text>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n label: { marginBottom: 16, color: colors.gray, ...typography.caption },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n error: { color: colors.red, marginTop: 8, ...typography.caption },\n helper: { marginTop: 8, color: colors.primary, ...typography.caption },\n dropdownInputContainer: { marginBottom: 23, width: '100%' },\n blackText: { color: colors.black },\n});\n\nexport default Dropdown;\n"],"mappings":"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"}
@@ -59,19 +59,6 @@ const _renderItem = (_ref2, props) => {
59
59
  });
60
60
  };
61
61
  const styles = StyleSheet.create({
62
- modalContainer: {
63
- flex: 1,
64
- justifyContent: 'flex-end'
65
- },
66
- modalBackgroundStyle: {
67
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
68
- },
69
- modalOptionsContainer: {
70
- maxHeight: '50%',
71
- backgroundColor: colors.white,
72
- borderTopLeftRadius: 16,
73
- borderTopRightRadius: 16
74
- },
75
62
  itemSeparatorStyle: {
76
63
  backgroundColor: colors.gray,
77
64
  height: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","FlatList","StyleSheet","Text","DropdownListItem","colors","DropdownList","_ref","options","optionLabel","optionValue","isMultiple","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","createElement","data","extraData","initialNumToRender","ListEmptyComponent","style","styles","emptyListStyle","ItemSeparatorComponent","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","index","_ref2","props","create","modalContainer","flex","justifyContent","modalBackgroundStyle","backgroundColor","modalOptionsContainer","maxHeight","white","borderTopLeftRadius","borderTopRightRadius","gray","height","opacity","alignItems","width","marginVertical"],"sources":["DropdownList.tsx"],"sourcesContent":["import React from 'react';\nimport { View, FlatList, StyleSheet, Text } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { colors } from '../../styles/colors';\n\nconst DropdownList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <View style={styles.emptyListStyle}>\n <Text>No options available</Text>\n </View>\n }\n ItemSeparatorComponent={() => <View style={styles.itemSeparatorStyle} />}\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,\n checkboxStyle,\n checkboxLabelStyle,\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\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 />\n );\n};\n\nconst styles = StyleSheet.create({\n modalContainer: {\n flex: 1,\n justifyContent: 'flex-end',\n },\n modalBackgroundStyle: { backgroundColor: 'rgba(0, 0, 0, 0.5)' },\n modalOptionsContainer: {\n maxHeight: '50%',\n backgroundColor: colors.white,\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n },\n itemSeparatorStyle: {\n backgroundColor: colors.gray,\n height: 1,\n opacity: 0.15,\n },\n emptyListStyle: { alignItems: 'center', width: '100%', marginVertical: 20 },\n});\n\nexport default DropdownList;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","FlatList","StyleSheet","Text","DropdownListItem","colors","DropdownList","_ref","options","optionLabel","optionValue","isMultiple","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","createElement","data","extraData","initialNumToRender","ListEmptyComponent","style","styles","emptyListStyle","ItemSeparatorComponent","itemSeparatorStyle","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","index","_ref2","props","create","backgroundColor","gray","height","opacity","alignItems","width","marginVertical"],"sources":["DropdownList.tsx"],"sourcesContent":["import React from 'react';\nimport { View, FlatList, StyleSheet, Text } from 'react-native';\nimport DropdownListItem from './DropdownListItem';\nimport { colors } from '../../styles/colors';\n\nconst DropdownList = ({\n options,\n optionLabel,\n optionValue,\n isMultiple,\n selectedItems,\n selectedItem,\n handleMultipleSelections,\n handleSingleSelection,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n return (\n <FlatList\n data={options}\n extraData={isMultiple ? selectedItems : selectedItem}\n initialNumToRender={5}\n ListEmptyComponent={\n <View style={styles.emptyListStyle}>\n <Text>No options available</Text>\n </View>\n }\n ItemSeparatorComponent={() => <View style={styles.itemSeparatorStyle} />}\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,\n checkboxStyle,\n checkboxLabelStyle,\n })\n }\n keyExtractor={(_item, index) => `Options${index}`}\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 />\n );\n};\n\nconst styles = StyleSheet.create({\n itemSeparatorStyle: {\n backgroundColor: colors.gray,\n height: 1,\n opacity: 0.15,\n },\n emptyListStyle: { alignItems: 'center', width: '100%', marginVertical: 20 },\n});\n\nexport default DropdownList;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/D,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,YAAY,GAAGC,IAAA,IAaV;EAAA,IAbW;IACpBC,OAAO;IACPC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,aAAa;IACbC,YAAY;IACZC,wBAAwB;IACxBC,qBAAqB;IACrBC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC;EACG,CAAC,GAAAZ,IAAA;EACJ,oBACER,KAAA,CAAAqB,aAAA,CAACnB,QAAQ;IACPoB,IAAI,EAAEb,OAAQ;IACdc,SAAS,EAAEX,UAAU,GAAGC,aAAa,GAAGC,YAAa;IACrDU,kBAAkB,EAAE,CAAE;IACtBC,kBAAkB,eAChBzB,KAAA,CAAAqB,aAAA,CAACpB,IAAI;MAACyB,KAAK,EAAEC,MAAM,CAACC;IAAe,gBACjC5B,KAAA,CAAAqB,aAAA,CAACjB,IAAI,QAAC,sBAAoB,CAAO,CAEpC;IACDyB,sBAAsB,EAAEA,CAAA,kBAAM7B,KAAA,CAAAqB,aAAA,CAACpB,IAAI;MAACyB,KAAK,EAAEC,MAAM,CAACG;IAAmB,EAAI;IACzEC,UAAU,EAAGC,IAAI,IACfC,WAAW,CAACD,IAAI,EAAE;MAChBtB,WAAW;MACXC,WAAW;MACXC,UAAU;MACVsB,cAAc,EAAEtB,UAAU,GAAGC,aAAa,GAAGC,YAAY;MACzDqB,QAAQ,EAAEvB,UAAU,GAChBG,wBAAwB,GACxBC,qBAAqB;MACzBC,YAAY;MACZC,YAAY;MACZC,aAAa;MACbC;IACF,CAAC,CACF;IACDgB,YAAY,EAAEA,CAACC,KAAK,EAAEC,KAAK,KAAM,UAASA,KAAM;EAAE,EAClD;AAEN,CAAC;AAED,MAAML,WAAW,GAAGA,CAAAM,KAAA,EAAgBC,KAAU,KAAK;EAAA,IAA9B;IAAER;EAAU,CAAC,GAAAO,KAAA;EAChC,oBACEvC,KAAA,CAAAqB,aAAA,CAAChB,gBAAgB;IACf2B,IAAI,EAAEA,IAAK;IACXtB,WAAW,EAAE8B,KAAK,CAAC9B,WAAY;IAC/BC,WAAW,EAAE6B,KAAK,CAAC7B,WAAY;IAC/BC,UAAU,EAAE4B,KAAK,CAAC5B,UAAW;IAC7BsB,cAAc,EAAEM,KAAK,CAACN,cAAe;IACrCC,QAAQ,EAAEK,KAAK,CAACL,QAAS;IACzBlB,YAAY,EAAEuB,KAAK,CAACvB,YAAa;IACjCC,YAAY,EAAEsB,KAAK,CAACtB,YAAa;IACjCC,aAAa,EAAEqB,KAAK,CAACrB,aAAc;IACnCC,kBAAkB,EAAEoB,KAAK,CAACpB;EAAmB,EAC7C;AAEN,CAAC;AAED,MAAMO,MAAM,GAAGxB,UAAU,CAACsC,MAAM,CAAC;EAC/BX,kBAAkB,EAAE;IAClBY,eAAe,EAAEpC,MAAM,CAACqC,IAAI;IAC5BC,MAAM,EAAE,CAAC;IACTC,OAAO,EAAE;EACX,CAAC;EACDjB,cAAc,EAAE;IAAEkB,UAAU,EAAE,QAAQ;IAAEC,KAAK,EAAE,MAAM;IAAEC,cAAc,EAAE;EAAG;AAC5E,CAAC,CAAC;AAEF,eAAezC,YAAY"}
@@ -1,7 +1,6 @@
1
1
  import React, { memo } from 'react';
2
2
  import { TouchableOpacity, StyleSheet } from 'react-native';
3
3
  import CheckBox from '../CheckBox';
4
- import { colors } from '../../styles/colors';
5
4
  const DropdownListItem = _ref => {
6
5
  let {
7
6
  item,
@@ -17,20 +16,20 @@ const DropdownListItem = _ref => {
17
16
  } = _ref;
18
17
  const selectedOptionValue = optionValue ?? 'value';
19
18
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
20
- style: styles.modalOptions,
19
+ style: styles.dropdownModalOptions,
21
20
  onPress: () => onChange(item[selectedOptionValue])
22
21
  }, /*#__PURE__*/React.createElement(CheckBox, {
23
22
  value: isMultiple ? selectedOption.includes(item[selectedOptionValue]) : [selectedOption].includes(item[selectedOptionValue]),
24
23
  label: item[optionLabel ?? ''],
25
24
  onChange: () => onChange(item[selectedOptionValue]),
26
- primaryColor: primaryColor || colors.primary,
25
+ primaryColor: primaryColor,
27
26
  checkboxSize: checkboxSize,
28
27
  checkboxStyle: checkboxStyle,
29
28
  checkboxLabelStyle: checkboxLabelStyle
30
29
  }));
31
30
  };
32
31
  const styles = StyleSheet.create({
33
- modalOptions: {
32
+ dropdownModalOptions: {
34
33
  paddingHorizontal: 20,
35
34
  paddingVertical: 10,
36
35
  flexDirection: 'row',
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","TouchableOpacity","StyleSheet","CheckBox","colors","DropdownListItem","_ref","item","optionLabel","optionValue","isMultiple","selectedOption","onChange","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","selectedOptionValue","createElement","style","styles","modalOptions","onPress","value","includes","label","primary","create","paddingHorizontal","paddingVertical","flexDirection","alignItems"],"sources":["DropdownListItem.tsx"],"sourcesContent":["import React, { memo } from 'react';\nimport { TouchableOpacity, StyleSheet } from 'react-native';\nimport CheckBox from '../CheckBox';\nimport { colors } from '../../styles/colors';\n\nconst DropdownListItem = ({\n item,\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption,\n onChange,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n const selectedOptionValue = optionValue ?? 'value';\n return (\n <TouchableOpacity\n style={styles.modalOptions}\n onPress={() => onChange(item[selectedOptionValue])}\n >\n <CheckBox\n value={\n isMultiple\n ? selectedOption.includes(item[selectedOptionValue])\n : [selectedOption].includes(item[selectedOptionValue])\n }\n label={item[optionLabel ?? '']}\n onChange={() => onChange(item[selectedOptionValue])}\n primaryColor={primaryColor || colors.primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n modalOptions: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n\nexport default memo(DropdownListItem);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,cAAc;AAC3D,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,gBAAgB,GAAGC,IAAA,IAWd;EAAA,IAXe;IACxBC,IAAI;IACJC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,cAAc;IACdC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC;EACG,CAAC,GAAAV,IAAA;EACJ,MAAMW,mBAAmB,GAAGR,WAAW,IAAI,OAAO;EAClD,oBACEV,KAAA,CAAAmB,aAAA,CAACjB,gBAAgB;IACfkB,KAAK,EAAEC,MAAM,CAACC,YAAa;IAC3BC,OAAO,EAAEA,CAAA,KAAMV,QAAQ,CAACL,IAAI,CAACU,mBAAmB,CAAC;EAAE,gBAEnDlB,KAAA,CAAAmB,aAAA,CAACf,QAAQ;IACPoB,KAAK,EACHb,UAAU,GACNC,cAAc,CAACa,QAAQ,CAACjB,IAAI,CAACU,mBAAmB,CAAC,CAAC,GAClD,CAACN,cAAc,CAAC,CAACa,QAAQ,CAACjB,IAAI,CAACU,mBAAmB,CAAC,CACxD;IACDQ,KAAK,EAAElB,IAAI,CAACC,WAAW,IAAI,EAAE,CAAE;IAC/BI,QAAQ,EAAEA,CAAA,KAAMA,QAAQ,CAACL,IAAI,CAACU,mBAAmB,CAAC,CAAE;IACpDJ,YAAY,EAAEA,YAAY,IAAIT,MAAM,CAACsB,OAAQ;IAC7CZ,YAAY,EAAEA,YAAa;IAC3BC,aAAa,EAAEA,aAAc;IAC7BC,kBAAkB,EAAEA;EAAmB,EACvC,CACe;AAEvB,CAAC;AAED,MAAMI,MAAM,GAAGlB,UAAU,CAACyB,MAAM,CAAC;EAC/BN,YAAY,EAAE;IACZO,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,4BAAe/B,IAAI,CAACK,gBAAgB,CAAC"}
1
+ {"version":3,"names":["React","memo","TouchableOpacity","StyleSheet","CheckBox","DropdownListItem","_ref","item","optionLabel","optionValue","isMultiple","selectedOption","onChange","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","selectedOptionValue","createElement","style","styles","dropdownModalOptions","onPress","value","includes","label","create","paddingHorizontal","paddingVertical","flexDirection","alignItems"],"sources":["DropdownListItem.tsx"],"sourcesContent":["import React, { memo } from 'react';\nimport { TouchableOpacity, StyleSheet } from 'react-native';\nimport CheckBox from '../CheckBox';\n\nconst DropdownListItem = ({\n item,\n optionLabel,\n optionValue,\n isMultiple,\n selectedOption,\n onChange,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n}: any) => {\n const selectedOptionValue = optionValue ?? 'value';\n return (\n <TouchableOpacity\n style={styles.dropdownModalOptions}\n onPress={() => onChange(item[selectedOptionValue])}\n >\n <CheckBox\n value={\n isMultiple\n ? selectedOption.includes(item[selectedOptionValue])\n : [selectedOption].includes(item[selectedOptionValue])\n }\n label={item[optionLabel ?? '']}\n onChange={() => onChange(item[selectedOptionValue])}\n primaryColor={primaryColor}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n dropdownModalOptions: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n\nexport default memo(DropdownListItem);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,cAAc;AAC3D,OAAOC,QAAQ,MAAM,aAAa;AAElC,MAAMC,gBAAgB,GAAGC,IAAA,IAWd;EAAA,IAXe;IACxBC,IAAI;IACJC,WAAW;IACXC,WAAW;IACXC,UAAU;IACVC,cAAc;IACdC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,aAAa;IACbC;EACG,CAAC,GAAAV,IAAA;EACJ,MAAMW,mBAAmB,GAAGR,WAAW,IAAI,OAAO;EAClD,oBACET,KAAA,CAAAkB,aAAA,CAAChB,gBAAgB;IACfiB,KAAK,EAAEC,MAAM,CAACC,oBAAqB;IACnCC,OAAO,EAAEA,CAAA,KAAMV,QAAQ,CAACL,IAAI,CAACU,mBAAmB,CAAC;EAAE,gBAEnDjB,KAAA,CAAAkB,aAAA,CAACd,QAAQ;IACPmB,KAAK,EACHb,UAAU,GACNC,cAAc,CAACa,QAAQ,CAACjB,IAAI,CAACU,mBAAmB,CAAC,CAAC,GAClD,CAACN,cAAc,CAAC,CAACa,QAAQ,CAACjB,IAAI,CAACU,mBAAmB,CAAC,CACxD;IACDQ,KAAK,EAAElB,IAAI,CAACC,WAAW,IAAI,EAAE,CAAE;IAC/BI,QAAQ,EAAEA,CAAA,KAAMA,QAAQ,CAACL,IAAI,CAACU,mBAAmB,CAAC,CAAE;IACpDJ,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAa;IAC3BC,aAAa,EAAEA,aAAc;IAC7BC,kBAAkB,EAAEA;EAAmB,EACvC,CACe;AAEvB,CAAC;AAED,MAAMI,MAAM,GAAGjB,UAAU,CAACuB,MAAM,CAAC;EAC/BL,oBAAoB,EAAE;IACpBM,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,4BAAe7B,IAAI,CAACI,gBAAgB,CAAC"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { View, Text, Pressable, ScrollView, StyleSheet, Image, TouchableOpacity } from 'react-native';
3
3
  import { colors } from '../../styles/colors';
4
4
  import { inputStyles } from '../../styles/input';
5
- const SelectedItemsView = _ref => {
5
+ const DropdownSelectedItemsView = _ref => {
6
6
  let {
7
7
  placeholder,
8
8
  error,
@@ -79,11 +79,12 @@ const styles = StyleSheet.create({
79
79
  paddingVertical: 5,
80
80
  borderRadius: 10,
81
81
  backgroundColor: colors.primary,
82
- marginRight: 10
82
+ marginRight: 10,
83
+ overflow: 'hidden'
83
84
  },
84
85
  blackText: {
85
86
  color: colors.black
86
87
  }
87
88
  });
88
- export default SelectedItemsView;
89
- //# sourceMappingURL=SelectedItemsView.js.map
89
+ export default DropdownSelectedItemsView;
90
+ //# sourceMappingURL=DropdownSelectedItemsView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","Pressable","ScrollView","StyleSheet","Image","TouchableOpacity","colors","inputStyles","DropdownSelectedItemsView","_ref","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","createElement","onPress","style","_ref2","pressed","inputFocusState","borderColor","input","inputFocusErrorState","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","styles","selectedItemsContainer","onStartShouldSetResponder","map","item","i","key","Math","random","backgroundColor","blackText","length","iconStyle","source","require","create","position","right","top","flexDirection","flexWrap","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 dropdownStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n inputStyles.input,\n 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((item: any, i: Number) => (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n key={`react-native-input-select-${Math.random()}-${i}`}\n disabled={disabled}\n >\n <Text\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n >\n {item}\n </Text>\n </TouchableOpacity>\n ))\n ) : (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n disabled={disabled}\n >\n <Text style={[styles.blackText, selectedItemStyle]}>\n {getSelectedItemsLabel()}\n </Text>\n </TouchableOpacity>\n )}\n </View>\n\n {!selectedItem && selectedItems?.length === 0 && (\n <Text style={styles.blackText}>\n {placeholder ?? 'Select an option'}\n </Text>\n )}\n </ScrollView>\n <View style={styles.iconStyle}>\n <Image source={require('../../asset/arrow-down.png')} />\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: { flexDirection: 'row', flexWrap: 'nowrap' },\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,11 +1,13 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import React, { useState } from 'react';
3
+ import { TouchableOpacity, StyleSheet, View } from 'react-native';
3
4
  import Dropdown from './components/Dropdown/Dropdown';
4
5
  import DropdownList from './components/Dropdown/DropdownList';
5
6
  import CustomModal from './components/CustomModal';
6
- import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
7
7
  import { Input } from './components/Input';
8
+ import CheckBox from './components/CheckBox';
8
9
  import { colors } from './styles/colors';
10
+ import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
9
11
  export const DropdownSelect = _ref => {
10
12
  let {
11
13
  placeholder,
@@ -39,6 +41,7 @@ export const DropdownSelect = _ref => {
39
41
  } = _ref;
40
42
  const [newOptions, setNewOptions] = useState(options ? options : []);
41
43
  const [open, setOpen] = useState(false);
44
+ const [selectAll, setSelectAll] = useState(false);
42
45
  const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection
43
46
  const [selectedItems, setSelectedItems] = useState(Array.isArray(selectedValue) ? selectedValue : selectedValue === '' || selectedValue === undefined ? [] : [selectedValue]); //for multiple selection
44
47
  const [searchValue, setSearchValue] = useState('');
@@ -65,6 +68,25 @@ export const DropdownSelect = _ref => {
65
68
  }
66
69
  setSelectedItems(selectedValues);
67
70
  onValueChange(selectedValues); //send value to parent
71
+
72
+ if (newOptions.length === selectedValues.length) {
73
+ setSelectAll(true);
74
+ } else {
75
+ setSelectAll(false);
76
+ }
77
+ };
78
+ const handleSelectAll = () => {
79
+ setSelectAll(prevVal => {
80
+ const selectedValues = [];
81
+ if (!prevVal) {
82
+ for (let i = 0; i < newOptions.length; i++) {
83
+ selectedValues.push(newOptions[i][optionValue]);
84
+ }
85
+ }
86
+ setSelectedItems(selectedValues);
87
+ onValueChange(selectedValues); //send value to parent
88
+ return !prevVal;
89
+ });
68
90
  };
69
91
 
70
92
  /*===========================================
@@ -139,7 +161,19 @@ export const DropdownSelect = _ref => {
139
161
  onChangeText: text => onSearch(text),
140
162
  style: searchInputStyle,
141
163
  primaryColor: primary
142
- }), /*#__PURE__*/React.createElement(DropdownList, {
164
+ }), isMultiple && newOptions.length > 1 && /*#__PURE__*/React.createElement(View, {
165
+ style: styles.optionsContainerStyle
166
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
167
+ onPress: () => {}
168
+ }, /*#__PURE__*/React.createElement(CheckBox, {
169
+ value: selectAll,
170
+ label: selectAll ? 'Clear all' : 'Select all',
171
+ onChange: () => handleSelectAll(),
172
+ primaryColor: primary,
173
+ checkboxSize: checkboxSize,
174
+ checkboxStyle: checkboxStyle,
175
+ checkboxLabelStyle: checkboxLabelStyle
176
+ }))), /*#__PURE__*/React.createElement(DropdownList, {
143
177
  options: newOptions,
144
178
  optionLabel: optionLabel,
145
179
  optionValue: optionValue,
@@ -154,5 +188,12 @@ export const DropdownSelect = _ref => {
154
188
  checkboxLabelStyle: checkboxLabelStyle
155
189
  })));
156
190
  };
191
+ const styles = StyleSheet.create({
192
+ optionsContainerStyle: {
193
+ paddingHorizontal: 20,
194
+ paddingVertical: 10,
195
+ flexDirection: 'row'
196
+ }
197
+ });
157
198
  export default DropdownSelect;
158
199
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Dropdown","DropdownList","CustomModal","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","Input","colors","DropdownSelect","_ref","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","labelStyle","dropdownStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainer","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","rest","newOptions","setNewOptions","open","setOpen","selectedItem","setSelectedItem","selectedItems","setSelectedItems","Array","isArray","undefined","searchValue","setSearchValue","handleSingleSelection","value","handleMultipleSelections","selectedValues","includes","filter","item","push","getSelectedItemsLabel","selectedLabels","forEach","element","_options$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","toLowerCase","search","handleToggleModal","primary","gray","createElement","Fragment","_extends","onRequestClose","onChangeText","text","style"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownList from './components/Dropdown/DropdownList';\nimport CustomModal from './components/CustomModal';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type { DropdownProps } from './types/index.types';\nimport { Input } from './components/Input';\nimport { colors } from './styles/colors';\n\nexport const DropdownSelect = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainer,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n ...rest\n}: DropdownProps) => {\n const [newOptions, setNewOptions] = useState(options ? options : []);\n const [open, setOpen] = useState(false);\n const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection\n const [selectedItems, setSelectedItems] = useState(\n Array.isArray(selectedValue)\n ? selectedValue\n : selectedValue === '' || selectedValue === undefined\n ? []\n : [selectedValue]\n ); //for multiple selection\n const [searchValue, setSearchValue] = useState('');\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: any) => {\n if (selectedItem === value) {\n setSelectedItem(null);\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: any) => {\n let selectedValues = [...selectedItems];\n\n if (selectedValues.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple) {\n let selectedLabels: Array<string> = [];\n selectedItems &&\n selectedItems.forEach((element) => {\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === element\n )?.[optionLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === selectedItem\n );\n return selectedItemLabel?.[optionLabel ?? DEFAULT_OPTION_LABEL];\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 const searchResults = options.filter((item: any) => {\n if (\n item[optionLabel ?? DEFAULT_OPTION_LABEL]\n .toString()\n .toLowerCase()\n .search(regexFilter) !== -1 ||\n item[optionValue ?? DEFAULT_OPTION_VALUE]\n .toString(regexFilter)\n .toLowerCase()\n .search(regexFilter) !== -1\n ) {\n return item;\n }\n });\n\n setNewOptions(searchResults);\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n let primary = primaryColor || colors.gray;\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 dropdownStyle={dropdownStyle}\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 {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainer={modalOptionsContainer}\n onRequestClose={() => {}}\n >\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n <DropdownList\n options={newOptions}\n optionLabel={optionLabel}\n optionValue={optionValue}\n isMultiple={isMultiple}\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 />\n </CustomModal>\n </>\n );\n};\n\nexport default DropdownSelect;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","TouchableOpacity","StyleSheet","View","Dropdown","DropdownList","CustomModal","Input","CheckBox","colors","DEFAULT_OPTION_LABEL","DEFAULT_OPTION_VALUE","DropdownSelect","_ref","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","labelStyle","dropdownStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainer","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","rest","newOptions","setNewOptions","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","Array","isArray","undefined","searchValue","setSearchValue","handleSingleSelection","value","handleMultipleSelections","selectedValues","includes","filter","item","push","length","handleSelectAll","prevVal","i","getSelectedItemsLabel","selectedLabels","forEach","element","_options$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","toLowerCase","search","handleToggleModal","primary","gray","createElement","Fragment","_extends","onRequestClose","onChangeText","text","style","styles","optionsContainerStyle","onPress","onChange","create","paddingHorizontal","paddingVertical","flexDirection"],"sources":["index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownList from './components/Dropdown/DropdownList';\nimport CustomModal from './components/CustomModal';\nimport { Input } from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type { DropdownProps } from './types/index.types';\n\nexport const DropdownSelect = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n labelStyle,\n dropdownStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainer,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n ...rest\n}: DropdownProps) => {\n const [newOptions, setNewOptions] = useState(options ? options : []);\n const [open, setOpen] = useState(false);\n const [selectAll, setSelectAll] = useState(false);\n const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection\n const [selectedItems, setSelectedItems] = useState(\n Array.isArray(selectedValue)\n ? selectedValue\n : selectedValue === '' || selectedValue === undefined\n ? []\n : [selectedValue]\n ); //for multiple selection\n const [searchValue, setSearchValue] = useState('');\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: any) => {\n if (selectedItem === value) {\n setSelectedItem(null);\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: any) => {\n let selectedValues = [...selectedItems];\n\n if (selectedValues.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n\n if (newOptions.length === selectedValues.length) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n if (!prevVal) {\n for (let i = 0; i < newOptions.length; i++) {\n selectedValues.push(newOptions[i][optionValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n return !prevVal;\n });\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple) {\n let selectedLabels: Array<string> = [];\n selectedItems &&\n selectedItems.forEach((element) => {\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === element\n )?.[optionLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === selectedItem\n );\n return selectedItemLabel?.[optionLabel ?? DEFAULT_OPTION_LABEL];\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 const searchResults = options.filter((item: any) => {\n if (\n item[optionLabel ?? DEFAULT_OPTION_LABEL]\n .toString()\n .toLowerCase()\n .search(regexFilter) !== -1 ||\n item[optionValue ?? DEFAULT_OPTION_VALUE]\n .toString(regexFilter)\n .toLowerCase()\n .search(regexFilter) !== -1\n ) {\n return item;\n }\n });\n\n setNewOptions(searchResults);\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n let primary = primaryColor || colors.gray;\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 dropdownStyle={dropdownStyle}\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 {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainer={modalOptionsContainer}\n onRequestClose={() => {}}\n >\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n {isMultiple && newOptions.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={selectAll ? 'Clear all' : 'Select all'}\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n </View>\n )}\n <DropdownList\n options={newOptions}\n optionLabel={optionLabel}\n optionValue={optionValue}\n isMultiple={isMultiple}\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 />\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,5 +1,5 @@
1
1
  export const colors = {
2
- primary: '#EF8031',
2
+ primary: 'green',
3
3
  red: '#FA4169',
4
4
  black: '#000000',
5
5
  white: '#FFFFFF',
@@ -1 +1 @@
1
- {"version":3,"names":["colors","primary","red","black","white","dark","gray","lightGray"],"sources":["colors.ts"],"sourcesContent":["export const colors: any = {\n primary: '#EF8031',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n};\n"],"mappings":"AAAA,OAAO,MAAMA,MAAW,GAAG;EACzBC,OAAO,EAAE,SAAS;EAClBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC"}
1
+ {"version":3,"names":["colors","primary","red","black","white","dark","gray","lightGray"],"sources":["colors.ts"],"sourcesContent":["export const colors: any = {\n primary: 'green',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n};\n"],"mappings":"AAAA,OAAO,MAAMA,MAAW,GAAG;EACzBC,OAAO,EAAE,OAAO;EAChBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.types.ts"],"sourcesContent":["import type { ViewStyle, ColorValue, TextStyle } from 'react-native';\n\nexport type DropdownProps = {\n placeholder?: string;\n label?: string;\n error?: string;\n helperText?: string;\n options: any[];\n optionLabel: string;\n optionValue?: string;\n onValueChange: Function;\n selectedValue?: string | any[] | null;\n isMultiple?: boolean;\n isSearchable?: boolean;\n labelStyle?: TextStyle;\n dropdownStyle?: ViewStyle;\n dropdownContainerStyle?: ViewStyle;\n dropdownErrorStyle?: ViewStyle;\n dropdownErrorTextStyle?: TextStyle;\n dropdownHelperTextStyle?: TextStyle;\n selectedItemStyle?: ViewStyle;\n multipleSelectedItemStyle?: ViewStyle;\n modalBackgroundStyle?: ViewStyle;\n modalOptionsContainer?: ViewStyle;\n searchInputStyle?: ViewStyle;\n primaryColor?: ColorValue;\n disabled?: boolean;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["index.types.ts"],"sourcesContent":["import type { ViewStyle, ColorValue, TextStyle } from 'react-native';\n\nexport type DropdownProps = {\n placeholder?: string;\n label?: string;\n error?: string;\n helperText?: string;\n options: any[];\n optionLabel: string;\n optionValue: string;\n onValueChange: Function;\n selectedValue?: string | any[] | null;\n isMultiple?: boolean;\n isSearchable?: boolean;\n labelStyle?: TextStyle;\n dropdownStyle?: ViewStyle;\n dropdownContainerStyle?: ViewStyle;\n dropdownErrorStyle?: ViewStyle;\n dropdownErrorTextStyle?: TextStyle;\n dropdownHelperTextStyle?: TextStyle;\n selectedItemStyle?: ViewStyle;\n multipleSelectedItemStyle?: ViewStyle;\n modalBackgroundStyle?: ViewStyle;\n modalOptionsContainer?: ViewStyle;\n searchInputStyle?: ViewStyle;\n primaryColor?: ColorValue;\n disabled?: boolean;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n};\n"],"mappings":""}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const DropdownSelectedItemsView: ({ placeholder, error, getSelectedItemsLabel, handleToggleModal, isMultiple, selectedItem, selectedItems, dropdownStyle, selectedItemStyle, multipleSelectedItemStyle, dropdownErrorStyle, primaryColor, disabled, }: any) => JSX.Element;
3
+ export default DropdownSelectedItemsView;
@@ -6,7 +6,7 @@ export type DropdownProps = {
6
6
  helperText?: string;
7
7
  options: any[];
8
8
  optionLabel: string;
9
- optionValue?: string;
9
+ optionValue: string;
10
10
  onValueChange: Function;
11
11
  selectedValue?: string | any[] | null;
12
12
  isMultiple?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-input-select",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
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",
@@ -14,7 +14,9 @@ const CheckBox = ({
14
14
  onChange,
15
15
  }: CheckboxProps) => {
16
16
  const fillColor = {
17
- backgroundColor: value ? primaryColor || 'green' : 'white',
17
+ backgroundColor: value
18
+ ? checkboxStyle?.backgroundColor || primaryColor || 'green'
19
+ : 'white',
18
20
  };
19
21
  return (
20
22
  <Pressable
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { View, Text, StyleSheet } from 'react-native';
3
- import SelectedItemsView from './SelectedItemsView';
3
+ import DropdownSelectedItemsView from './DropdownSelectedItemsView';
4
4
  import { colors } from '../../styles/colors';
5
5
  import { typography } from '../../styles/typography';
6
6
 
@@ -30,7 +30,7 @@ const Dropdown = ({
30
30
  {label && label !== '' && (
31
31
  <Text style={[styles.label, labelStyle]}>{label}</Text>
32
32
  )}
33
- <SelectedItemsView
33
+ <DropdownSelectedItemsView
34
34
  placeholder={placeholder}
35
35
  error={error}
36
36
  getSelectedItemsLabel={getSelectedItemsLabel}
@@ -66,17 +66,6 @@ const _renderItem = ({ item }: any, props: any) => {
66
66
  };
67
67
 
68
68
  const styles = StyleSheet.create({
69
- modalContainer: {
70
- flex: 1,
71
- justifyContent: 'flex-end',
72
- },
73
- modalBackgroundStyle: { backgroundColor: 'rgba(0, 0, 0, 0.5)' },
74
- modalOptionsContainer: {
75
- maxHeight: '50%',
76
- backgroundColor: colors.white,
77
- borderTopLeftRadius: 16,
78
- borderTopRightRadius: 16,
79
- },
80
69
  itemSeparatorStyle: {
81
70
  backgroundColor: colors.gray,
82
71
  height: 1,
@@ -1,7 +1,6 @@
1
1
  import React, { memo } from 'react';
2
2
  import { TouchableOpacity, StyleSheet } from 'react-native';
3
3
  import CheckBox from '../CheckBox';
4
- import { colors } from '../../styles/colors';
5
4
 
6
5
  const DropdownListItem = ({
7
6
  item,
@@ -18,7 +17,7 @@ const DropdownListItem = ({
18
17
  const selectedOptionValue = optionValue ?? 'value';
19
18
  return (
20
19
  <TouchableOpacity
21
- style={styles.modalOptions}
20
+ style={styles.dropdownModalOptions}
22
21
  onPress={() => onChange(item[selectedOptionValue])}
23
22
  >
24
23
  <CheckBox
@@ -29,7 +28,7 @@ const DropdownListItem = ({
29
28
  }
30
29
  label={item[optionLabel ?? '']}
31
30
  onChange={() => onChange(item[selectedOptionValue])}
32
- primaryColor={primaryColor || colors.primary}
31
+ primaryColor={primaryColor}
33
32
  checkboxSize={checkboxSize}
34
33
  checkboxStyle={checkboxStyle}
35
34
  checkboxLabelStyle={checkboxLabelStyle}
@@ -39,7 +38,7 @@ const DropdownListItem = ({
39
38
  };
40
39
 
41
40
  const styles = StyleSheet.create({
42
- modalOptions: {
41
+ dropdownModalOptions: {
43
42
  paddingHorizontal: 20,
44
43
  paddingVertical: 10,
45
44
  flexDirection: 'row',
@@ -11,7 +11,7 @@ import {
11
11
  import { colors } from '../../styles/colors';
12
12
  import { inputStyles } from '../../styles/input';
13
13
 
14
- const SelectedItemsView = ({
14
+ const DropdownSelectedItemsView = ({
15
15
  placeholder,
16
16
  error,
17
17
  getSelectedItemsLabel,
@@ -107,8 +107,9 @@ const styles = StyleSheet.create({
107
107
  borderRadius: 10,
108
108
  backgroundColor: colors.primary,
109
109
  marginRight: 10,
110
+ overflow: 'hidden',
110
111
  },
111
112
  blackText: { color: colors.black },
112
113
  });
113
114
 
114
- export default SelectedItemsView;
115
+ export default DropdownSelectedItemsView;
package/src/index.tsx CHANGED
@@ -1,11 +1,13 @@
1
1
  import React, { useState } from 'react';
2
+ import { TouchableOpacity, StyleSheet, View } from 'react-native';
2
3
  import Dropdown from './components/Dropdown/Dropdown';
3
4
  import DropdownList from './components/Dropdown/DropdownList';
4
5
  import CustomModal from './components/CustomModal';
5
- import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
6
- import type { DropdownProps } from './types/index.types';
7
6
  import { Input } from './components/Input';
7
+ import CheckBox from './components/CheckBox';
8
8
  import { colors } from './styles/colors';
9
+ import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
10
+ import type { DropdownProps } from './types/index.types';
9
11
 
10
12
  export const DropdownSelect = ({
11
13
  placeholder,
@@ -39,6 +41,7 @@ export const DropdownSelect = ({
39
41
  }: DropdownProps) => {
40
42
  const [newOptions, setNewOptions] = useState(options ? options : []);
41
43
  const [open, setOpen] = useState(false);
44
+ const [selectAll, setSelectAll] = useState(false);
42
45
  const [selectedItem, setSelectedItem] = useState(selectedValue); //for single selection
43
46
  const [selectedItems, setSelectedItems] = useState(
44
47
  Array.isArray(selectedValue)
@@ -72,6 +75,28 @@ export const DropdownSelect = ({
72
75
  }
73
76
  setSelectedItems(selectedValues);
74
77
  onValueChange(selectedValues); //send value to parent
78
+
79
+ if (newOptions.length === selectedValues.length) {
80
+ setSelectAll(true);
81
+ } else {
82
+ setSelectAll(false);
83
+ }
84
+ };
85
+
86
+ const handleSelectAll = () => {
87
+ setSelectAll((prevVal) => {
88
+ const selectedValues = [];
89
+
90
+ if (!prevVal) {
91
+ for (let i = 0; i < newOptions.length; i++) {
92
+ selectedValues.push(newOptions[i][optionValue]);
93
+ }
94
+ }
95
+
96
+ setSelectedItems(selectedValues);
97
+ onValueChange(selectedValues); //send value to parent
98
+ return !prevVal;
99
+ });
75
100
  };
76
101
 
77
102
  /*===========================================
@@ -179,6 +204,21 @@ export const DropdownSelect = ({
179
204
  primaryColor={primary}
180
205
  />
181
206
  )}
207
+ {isMultiple && newOptions.length > 1 && (
208
+ <View style={styles.optionsContainerStyle}>
209
+ <TouchableOpacity onPress={() => {}}>
210
+ <CheckBox
211
+ value={selectAll}
212
+ label={selectAll ? 'Clear all' : 'Select all'}
213
+ onChange={() => handleSelectAll()}
214
+ primaryColor={primary}
215
+ checkboxSize={checkboxSize}
216
+ checkboxStyle={checkboxStyle}
217
+ checkboxLabelStyle={checkboxLabelStyle}
218
+ />
219
+ </TouchableOpacity>
220
+ </View>
221
+ )}
182
222
  <DropdownList
183
223
  options={newOptions}
184
224
  optionLabel={optionLabel}
@@ -198,4 +238,12 @@ export const DropdownSelect = ({
198
238
  );
199
239
  };
200
240
 
241
+ const styles = StyleSheet.create({
242
+ optionsContainerStyle: {
243
+ paddingHorizontal: 20,
244
+ paddingVertical: 10,
245
+ flexDirection: 'row',
246
+ },
247
+ });
248
+
201
249
  export default DropdownSelect;
@@ -1,5 +1,5 @@
1
1
  export const colors: any = {
2
- primary: '#EF8031',
2
+ primary: 'green',
3
3
  red: '#FA4169',
4
4
  black: '#000000',
5
5
  white: '#FFFFFF',
@@ -7,7 +7,7 @@ export type DropdownProps = {
7
7
  helperText?: string;
8
8
  options: any[];
9
9
  optionLabel: string;
10
- optionValue?: string;
10
+ optionValue: string;
11
11
  onValueChange: Function;
12
12
  selectedValue?: string | any[] | null;
13
13
  isMultiple?: boolean;
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_colors","_input","obj","__esModule","default","SelectedItemsView","_ref","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","createElement","Pressable","onPress","style","_ref2","pressed","inputStyles","inputFocusState","borderColor","input","inputFocusErrorState","ScrollView","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","View","styles","selectedItemsContainer","onStartShouldSetResponder","map","item","i","TouchableOpacity","key","Math","random","Text","backgroundColor","blackText","length","iconStyle","Image","source","StyleSheet","create","position","right","top","flexDirection","flexWrap","color","colors","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","black","_default","exports"],"sources":["SelectedItemsView.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 SelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n inputStyles.input,\n 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((item: any, i: Number) => (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n key={`react-native-input-select-${Math.random()}-${i}`}\n disabled={disabled}\n >\n <Text\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n >\n {item}\n </Text>\n </TouchableOpacity>\n ))\n ) : (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n disabled={disabled}\n >\n <Text style={[styles.blackText, selectedItemStyle]}>\n {getSelectedItemsLabel()}\n </Text>\n </TouchableOpacity>\n )}\n </View>\n\n {!selectedItem && selectedItems?.length === 0 && (\n <Text style={styles.blackText}>\n {placeholder ?? 'Select an option'}\n </Text>\n )}\n </ScrollView>\n <View style={styles.iconStyle}>\n <Image source={require('../../asset/arrow-down.png')} />\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: { flexDirection: 'row', flexWrap: 'nowrap' },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n },\n blackText: { color: colors.black },\n});\n\nexport default SelectedItemsView;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","Text","Pressable","ScrollView","StyleSheet","Image","TouchableOpacity","colors","inputStyles","SelectedItemsView","_ref","placeholder","error","getSelectedItemsLabel","handleToggleModal","isMultiple","selectedItem","selectedItems","dropdownStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","createElement","onPress","style","_ref2","pressed","inputFocusState","borderColor","input","inputFocusErrorState","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","styles","selectedItemsContainer","onStartShouldSetResponder","map","item","i","key","Math","random","backgroundColor","blackText","length","iconStyle","source","require","create","position","right","top","flexDirection","flexWrap","color","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","black"],"sources":["SelectedItemsView.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 SelectedItemsView = ({\n placeholder,\n error,\n getSelectedItemsLabel,\n handleToggleModal,\n isMultiple,\n selectedItem,\n selectedItems,\n dropdownStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n dropdownErrorStyle,\n primaryColor,\n disabled,\n}: any) => {\n return (\n <Pressable\n onPress={() => handleToggleModal()}\n style={({ pressed }) => [\n pressed && {\n ...inputStyles.inputFocusState,\n borderColor: primaryColor,\n },\n inputStyles.input,\n 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((item: any, i: Number) => (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n key={`react-native-input-select-${Math.random()}-${i}`}\n disabled={disabled}\n >\n <Text\n style={[\n styles.selectedItems,\n { backgroundColor: primaryColor },\n multipleSelectedItemStyle,\n ]}\n >\n {item}\n </Text>\n </TouchableOpacity>\n ))\n ) : (\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n disabled={disabled}\n >\n <Text style={[styles.blackText, selectedItemStyle]}>\n {getSelectedItemsLabel()}\n </Text>\n </TouchableOpacity>\n )}\n </View>\n\n {!selectedItem && selectedItems?.length === 0 && (\n <Text style={styles.blackText}>\n {placeholder ?? 'Select an option'}\n </Text>\n )}\n </ScrollView>\n <View style={styles.iconStyle}>\n <Image source={require('../../asset/arrow-down.png')} />\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n iconStyle: { position: 'absolute', right: 25, top: 25 },\n selectedItemsContainer: { flexDirection: 'row', flexWrap: 'nowrap' },\n selectedItems: {\n color: colors.white,\n paddingHorizontal: 10,\n paddingVertical: 5,\n borderRadius: 10,\n backgroundColor: colors.primary,\n marginRight: 10,\n },\n blackText: { color: colors.black },\n});\n\nexport default SelectedItemsView;\n"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- declare const SelectedItemsView: ({ placeholder, error, getSelectedItemsLabel, handleToggleModal, isMultiple, selectedItem, selectedItems, dropdownStyle, selectedItemStyle, multipleSelectedItemStyle, dropdownErrorStyle, primaryColor, disabled, }: any) => JSX.Element;
3
- export default SelectedItemsView;