react-native-input-select 2.1.5 → 2.1.7

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 (83) hide show
  1. package/README.md +14 -0
  2. package/lib/commonjs/asset/close.png +0 -0
  3. package/lib/commonjs/components/Dropdown/Dropdown.js +26 -11
  4. package/lib/commonjs/components/Dropdown/Dropdown.js.map +1 -1
  5. package/lib/commonjs/components/Dropdown/DropdownSelectedItem.js +53 -0
  6. package/lib/commonjs/components/Dropdown/DropdownSelectedItem.js.map +1 -0
  7. package/lib/commonjs/components/Dropdown/{DropdownSelectedItemsView.js → DropdownSelectedItemsContainer.js} +41 -46
  8. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsContainer.js.map +1 -0
  9. package/lib/commonjs/components/List/DropdownFlatList.js +1 -1
  10. package/lib/commonjs/components/List/DropdownListItem.js.map +1 -0
  11. package/lib/commonjs/components/List/DropdownSectionList.js +1 -1
  12. package/lib/commonjs/hooks/use-selection-handler.js +13 -7
  13. package/lib/commonjs/hooks/use-selection-handler.js.map +1 -1
  14. package/lib/commonjs/index.js +14 -7
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/styles/colors.js.map +1 -1
  17. package/lib/commonjs/styles/input.js.map +1 -1
  18. package/lib/commonjs/utils/index.js +30 -13
  19. package/lib/commonjs/utils/index.js.map +1 -1
  20. package/lib/module/asset/close.png +0 -0
  21. package/lib/module/components/Dropdown/Dropdown.js +27 -12
  22. package/lib/module/components/Dropdown/Dropdown.js.map +1 -1
  23. package/lib/module/components/Dropdown/DropdownSelectedItem.js +46 -0
  24. package/lib/module/components/Dropdown/DropdownSelectedItem.js.map +1 -0
  25. package/lib/module/components/Dropdown/{DropdownSelectedItemsView.js → DropdownSelectedItemsContainer.js} +42 -47
  26. package/lib/module/components/Dropdown/DropdownSelectedItemsContainer.js.map +1 -0
  27. package/lib/module/components/List/DropdownFlatList.js +1 -1
  28. package/lib/module/components/List/DropdownFlatList.js.map +1 -1
  29. package/lib/module/components/List/DropdownListItem.js.map +1 -0
  30. package/lib/module/components/List/DropdownSectionList.js +1 -1
  31. package/lib/module/components/List/DropdownSectionList.js.map +1 -1
  32. package/lib/module/hooks/use-selection-handler.js +13 -7
  33. package/lib/module/hooks/use-selection-handler.js.map +1 -1
  34. package/lib/module/index.js +15 -8
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/styles/colors.js.map +1 -1
  37. package/lib/module/styles/input.js.map +1 -1
  38. package/lib/module/utils/index.js +27 -11
  39. package/lib/module/utils/index.js.map +1 -1
  40. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts +3 -1
  41. package/lib/typescript/src/components/Dropdown/Dropdown.d.ts.map +1 -1
  42. package/lib/typescript/src/components/Dropdown/DropdownSelectedItem.d.ts +16 -0
  43. package/lib/typescript/src/components/Dropdown/DropdownSelectedItem.d.ts.map +1 -0
  44. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsContainer.d.ts +16 -0
  45. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsContainer.d.ts.map +1 -0
  46. package/lib/typescript/src/components/List/DropdownListItem.d.ts.map +1 -0
  47. package/lib/typescript/src/hooks/use-selection-handler.d.ts +2 -1
  48. package/lib/typescript/src/hooks/use-selection-handler.d.ts.map +1 -1
  49. package/lib/typescript/src/index.d.ts +1 -0
  50. package/lib/typescript/src/index.d.ts.map +1 -1
  51. package/lib/typescript/src/styles/colors.d.ts +10 -1
  52. package/lib/typescript/src/styles/colors.d.ts.map +1 -1
  53. package/lib/typescript/src/styles/input.d.ts +23 -1
  54. package/lib/typescript/src/styles/input.d.ts.map +1 -1
  55. package/lib/typescript/src/types/index.types.d.ts +13 -6
  56. package/lib/typescript/src/types/index.types.d.ts.map +1 -1
  57. package/lib/typescript/src/utils/index.d.ts +5 -4
  58. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  59. package/package.json +5 -5
  60. package/src/asset/close.png +0 -0
  61. package/src/components/Dropdown/Dropdown.tsx +29 -10
  62. package/src/components/Dropdown/DropdownSelectedItem.tsx +78 -0
  63. package/src/components/Dropdown/DropdownSelectedItemsContainer.tsx +164 -0
  64. package/src/components/List/DropdownFlatList.tsx +1 -1
  65. package/src/components/List/DropdownSectionList.tsx +1 -1
  66. package/src/hooks/use-selection-handler.ts +20 -7
  67. package/src/index.tsx +30 -23
  68. package/src/styles/colors.ts +1 -1
  69. package/src/styles/input.ts +1 -1
  70. package/src/types/index.types.ts +14 -6
  71. package/src/utils/index.ts +55 -23
  72. package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +0 -1
  73. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js.map +0 -1
  74. package/lib/module/components/Dropdown/DropdownListItem.js.map +0 -1
  75. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js.map +0 -1
  76. package/lib/typescript/src/components/Dropdown/DropdownListItem.d.ts.map +0 -1
  77. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsView.d.ts +0 -4
  78. package/lib/typescript/src/components/Dropdown/DropdownSelectedItemsView.d.ts.map +0 -1
  79. package/src/components/Dropdown/DropdownSelectedItemsView.tsx +0 -134
  80. /package/lib/commonjs/components/{Dropdown → List}/DropdownListItem.js +0 -0
  81. /package/lib/module/components/{Dropdown → List}/DropdownListItem.js +0 -0
  82. /package/lib/typescript/src/components/{Dropdown → List}/DropdownListItem.d.ts +0 -0
  83. /package/src/components/{Dropdown → List}/DropdownListItem.tsx +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.removeDisabledItems = exports.isSectionList = exports.getLabelsOfSelectedItems = exports.extractPropertyFromArray = exports.escapeRegExp = void 0;
6
+ exports.removeDisabledItems = exports.isSectionList = exports.getSelectionsData = exports.extractTextStylesFromArray = exports.extractPropertyFromArray = exports.escapeRegExp = void 0;
7
7
  const extractPropertyFromArray = (arr, property) => {
8
8
  let extractedValue = arr?.map(item => item[property]);
9
9
  return extractedValue;
@@ -27,29 +27,46 @@ const isSectionList = options => {
27
27
  * @returns
28
28
  */
29
29
  exports.isSectionList = isSectionList;
30
- const getLabelsOfSelectedItems = ({
30
+ const getSelectionsData = ({
31
31
  isMultiple,
32
- optionLabel,
33
32
  optionValue,
34
33
  selectedItem,
35
34
  selectedItems,
36
35
  modifiedOptions
37
36
  }) => {
38
37
  // Multiple select
39
- if (isMultiple && Array.isArray(selectedItems)) {
40
- let selectedLabels = [];
41
- selectedItems?.forEach(element => {
42
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === element)?.[optionLabel];
43
- if (selectedItemLabel !== '') {
44
- selectedLabels.push(selectedItemLabel);
38
+ if (isMultiple) {
39
+ let currentSelections = [];
40
+ Array.isArray(selectedItems) && selectedItems.forEach(element => {
41
+ const currentSelection = modifiedOptions?.find(item => item[optionValue] === element);
42
+
43
+ // Only push if currentSelection is defined and is of the correct type
44
+ if (currentSelection) {
45
+ currentSelections.push(currentSelection);
45
46
  }
46
47
  });
47
- return selectedLabels;
48
+ return currentSelections;
48
49
  }
49
50
 
50
51
  // Single select
51
- let selectedItemLabel = modifiedOptions?.find(item => item[optionValue] === selectedItem);
52
- return selectedItemLabel?.[optionLabel];
52
+ let current = modifiedOptions?.find(item => item[optionValue] === selectedItem);
53
+ return current ? current : {};
54
+ };
55
+ exports.getSelectionsData = getSelectionsData;
56
+ const textStyleKeys = ['color', 'fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'textAlign', 'lineHeight', 'textDecorationLine', 'textDecorationStyle', 'textDecorationColor', 'textShadowColor', 'textShadowOffset', 'textShadowRadius', 'letterSpacing', 'textTransform'];
57
+ const extractTextStylesFromArray = (styleArray = []) => {
58
+ const extractedStyles = {};
59
+ for (const styleObject of styleArray) {
60
+ if (styleObject && typeof styleObject === 'object') {
61
+ // Ensure it's a valid style object
62
+ for (const prop in styleObject) {
63
+ if (textStyleKeys.includes(prop)) {
64
+ extractedStyles[prop] = styleObject[prop];
65
+ }
66
+ }
67
+ }
68
+ }
69
+ return extractedStyles;
53
70
  };
54
- exports.getLabelsOfSelectedItems = getLabelsOfSelectedItems;
71
+ exports.extractTextStylesFromArray = extractTextStylesFromArray;
55
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","exports","escapeRegExp","text","replace","removeDisabledItems","items","filter","disabled","isSectionList","options","some","title","data","Array","isArray","getLabelsOfSelectedItems","isMultiple","optionLabel","optionValue","selectedItem","selectedItems","modifiedOptions","selectedLabels","forEach","element","selectedItemLabel","find","push"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAQO,MAAMA,wBAAwB,GAAGA,CAACC,GAAU,EAAEC,QAAgB,KAAK;EACxE,IAAIC,cAAc,GAAGF,GAAG,EAAEG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE5D,OAAOC,cAAc;AACvB,CAAC;AAACG,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEK,MAAMO,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC;AAACH,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEK,MAAMG,mBAAmB,GAAIC,KAAgB,IAAK;EACvD,OAAOA,KAAK,EAAEC,MAAM,CAAEP,IAAmB,IAAK,CAACA,IAAI,CAACQ,QAAQ,CAAC;AAC/D,CAAC;AAACP,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAEK,MAAMI,aAAa,GAAIC,OAAiC,IAAc;EAC3E,OAAQA,OAAO,CAAkBC,IAAI,CAClCX,IAAI,IAAKA,IAAI,CAACY,KAAK,IAAIZ,IAAI,CAACa,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACf,IAAI,CAACa,IAAI,CAC9D,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAZ,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAKO,MAAMO,wBAAwB,GAAGA,CAAC;EACvCC,UAAU;EACVC,WAAW;EACXC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC;AAQF,CAAC,KAAK;EACJ;EACA,IAAIL,UAAU,IAAIH,KAAK,CAACC,OAAO,CAACM,aAAa,CAAC,EAAE;IAC9C,IAAIE,cAAiD,GAAG,EAAE;IAE1DF,aAAa,EAAEG,OAAO,CAAEC,OAAsB,IAAK;MACjD,IAAIC,iBAAiB,GAAGJ,eAAe,EAAEK,IAAI,CAC1C3B,IAAmB,IAAKA,IAAI,CAACmB,WAAW,CAAC,KAAKM,OACjD,CAAC,GAAGP,WAAW,CAAC;MAEhB,IAAIQ,iBAAiB,KAAK,EAAE,EAAE;QAC5BH,cAAc,CAACK,IAAI,CAACF,iBAAiB,CAAC;MACxC;IACF,CAAC,CAAC;IACF,OAAOH,cAAc;EACvB;;EAEA;EACA,IAAIG,iBAAiB,GAAGJ,eAAe,EAAEK,IAAI,CAC1C3B,IAAmB,IAAKA,IAAI,CAACmB,WAAW,CAAC,KAAKC,YACjD,CAAC;EACD,OAAOM,iBAAiB,GAAGR,WAAW,CAAC;AACzC,CAAC;AAACjB,OAAA,CAAAe,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","exports","escapeRegExp","text","replace","removeDisabledItems","items","filter","disabled","isSectionList","options","some","title","data","Array","isArray","getSelectionsData","isMultiple","optionValue","selectedItem","selectedItems","modifiedOptions","currentSelections","forEach","element","currentSelection","find","push","current","textStyleKeys","extractTextStylesFromArray","styleArray","extractedStyles","styleObject","prop","includes"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;;;;;AAIO,MAAMA,wBAAwB,GAAGA,CAACC,GAAU,EAAEC,QAAgB,KAAK;EACxE,IAAIC,cAAc,GAAGF,GAAG,EAAEG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE5D,OAAOC,cAAc;AACvB,CAAC;AAACG,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEK,MAAMO,YAAY,GAAIC,IAAY,IAAK;EAC5C,OAAOA,IAAI,CAACC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;AACpD,CAAC;AAACH,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAEK,MAAMG,mBAAmB,GAAIC,KAAgB,IAAK;EACvD,OAAOA,KAAK,EAAEC,MAAM,CAAEP,IAAmB,IAAK,CAACA,IAAI,CAACQ,QAAQ,CAAC;AAC/D,CAAC;AAACP,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAEK,MAAMI,aAAa,GAAIC,OAAiC,IAAc;EAC3E,OAAQA,OAAO,CAAkBC,IAAI,CAClCX,IAAI,IAAKA,IAAI,CAACY,KAAK,IAAIZ,IAAI,CAACa,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACf,IAAI,CAACa,IAAI,CAC9D,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAZ,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAKO,MAAMO,iBAAiB,GAAGA,CAAC;EAChCC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC;AAOF,CAAC,KAAsC;EACrC;EACA,IAAIJ,UAAU,EAAE;IACd,IAAIK,iBAAkC,GAAG,EAAE;IAE3CR,KAAK,CAACC,OAAO,CAACK,aAAa,CAAC,IAC1BA,aAAa,CAACG,OAAO,CAAEC,OAAsB,IAAK;MAChD,MAAMC,gBAAgB,GAAGJ,eAAe,EAAEK,IAAI,CAC3C1B,IAAmB,IAAKA,IAAI,CAACkB,WAAW,CAAC,KAAKM,OACjD,CAAC;;MAED;MACA,IAAIC,gBAAgB,EAAE;QACpBH,iBAAiB,CAACK,IAAI,CAACF,gBAAgB,CAAC;MAC1C;IACF,CAAC,CAAC;IAEJ,OAAOH,iBAAiB;EAC1B;;EAEA;EACA,IAAIM,OAAO,GAAGP,eAAe,EAAEK,IAAI,CAChC1B,IAAmB,IAAKA,IAAI,CAACkB,WAAW,CAAC,KAAKC,YACjD,CAAC;EACD,OAAOS,OAAO,GAAGA,OAAO,GAAG,CAAC,CAAC;AAC/B,CAAC;AAAC3B,OAAA,CAAAe,iBAAA,GAAAA,iBAAA;AAEF,MAAMa,aAAa,GAAG,CACpB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,CAChB;AAEM,MAAMC,0BAA0B,GAAGA,CACxCC,UAAqC,GAAG,EAAE,KACvC;EACH,MAAMC,eAAoC,GAAG,CAAC,CAAC;EAC/C,KAAK,MAAMC,WAAW,IAAIF,UAAU,EAAE;IACpC,IAAIE,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAE;MAClD;MACA,KAAK,MAAMC,IAAI,IAAID,WAAW,EAAE;QAC9B,IAAIJ,aAAa,CAACM,QAAQ,CAACD,IAAI,CAAC,EAAE;UAChCF,eAAe,CAACE,IAAI,CAAC,GAAID,WAAW,CAAyBC,IAAI,CAAC;QACpE;MACF;IACF;EACF;EACA,OAAOF,eAAe;AACxB,CAAC;AAAC/B,OAAA,CAAA6B,0BAAA,GAAAA,0BAAA","ignoreList":[]}
Binary file
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { View, Text, StyleSheet } from 'react-native';
3
- import DropdownSelectedItemsView from './DropdownSelectedItemsView';
2
+ import { View, Text, StyleSheet, Image, TouchableOpacity } from 'react-native';
3
+ import DropdownSelectedItemsContainer from './DropdownSelectedItemsContainer';
4
4
  import { colors } from '../../styles/colors';
5
5
  import { typography } from '../../styles/typography';
6
6
  const Dropdown = ({
@@ -9,12 +9,14 @@ const Dropdown = ({
9
9
  placeholder,
10
10
  helperText,
11
11
  error,
12
- labelsOfSelectedItems,
12
+ selectionData,
13
13
  openModal,
14
- closeModal,
15
14
  isMultiple,
16
15
  selectedItem,
17
16
  selectedItems,
17
+ optionLabel,
18
+ optionValue,
19
+ selectedItemsControls,
18
20
  dropdownIcon,
19
21
  labelStyle,
20
22
  dropdownStyle,
@@ -28,7 +30,8 @@ const Dropdown = ({
28
30
  dropdownHelperTextStyle,
29
31
  primaryColor,
30
32
  disabled,
31
- setIndexOfSelectedItem
33
+ setIndexOfSelectedItem,
34
+ handleMultipleSelections
32
35
  }) => {
33
36
  return /*#__PURE__*/React.createElement(View, {
34
37
  style: [styles.dropdownInputContainer, dropdownContainerStyle],
@@ -37,30 +40,37 @@ const Dropdown = ({
37
40
  testID: testID
38
41
  }, label && label !== '' && /*#__PURE__*/React.createElement(Text, {
39
42
  style: [styles.label, labelStyle]
40
- }, label), /*#__PURE__*/React.createElement(DropdownSelectedItemsView, {
43
+ }, label), /*#__PURE__*/React.createElement(DropdownSelectedItemsContainer, {
41
44
  placeholder: placeholder,
42
45
  error: error,
43
- labelsOfSelectedItems: labelsOfSelectedItems,
46
+ selectionData: selectionData,
44
47
  openModal: openModal,
45
- closeModal: closeModal,
46
48
  isMultiple: isMultiple,
47
49
  selectedItem: selectedItem,
48
50
  selectedItems: selectedItems,
49
- dropdownIcon: dropdownIcon,
51
+ optionLabel: optionLabel,
52
+ optionValue: optionValue,
50
53
  dropdownStyle: dropdownStyle,
51
- dropdownIconStyle: dropdownIconStyle,
52
54
  selectedItemStyle: selectedItemStyle,
53
55
  multipleSelectedItemStyle: multipleSelectedItemStyle,
54
56
  dropdownErrorStyle: dropdownErrorStyle,
55
57
  primaryColor: primaryColor,
56
58
  disabled: disabled,
57
59
  placeholderStyle: placeholderStyle,
58
- setIndexOfSelectedItem: setIndexOfSelectedItem
60
+ setIndexOfSelectedItem: setIndexOfSelectedItem,
61
+ handleMultipleSelections: handleMultipleSelections,
62
+ selectedItemsControls: selectedItemsControls
59
63
  }), error && error !== '' && /*#__PURE__*/React.createElement(Text, {
60
64
  style: [styles.error, dropdownErrorTextStyle]
61
65
  }, error), helperText && helperText !== '' && !error && /*#__PURE__*/React.createElement(Text, {
62
66
  style: [styles.helper, dropdownHelperTextStyle]
63
- }, helperText));
67
+ }, helperText), /*#__PURE__*/React.createElement(TouchableOpacity, {
68
+ style: [styles.iconStyle, dropdownIconStyle],
69
+ onPress: () => openModal(),
70
+ testID: "dropdown-trailing-icon"
71
+ }, dropdownIcon || /*#__PURE__*/React.createElement(Image, {
72
+ source: require('../../asset/arrow-down.png')
73
+ })));
64
74
  };
65
75
  const styles = StyleSheet.create({
66
76
  label: {
@@ -84,6 +94,11 @@ const styles = StyleSheet.create({
84
94
  },
85
95
  blackText: {
86
96
  color: colors.black
97
+ },
98
+ iconStyle: {
99
+ position: 'absolute',
100
+ right: 25,
101
+ top: 60
87
102
  }
88
103
  });
89
104
  export default Dropdown;
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","StyleSheet","DropdownSelectedItemsView","colors","typography","Dropdown","testID","label","placeholder","helperText","error","labelsOfSelectedItems","openModal","closeModal","isMultiple","selectedItem","selectedItems","dropdownIcon","labelStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","setIndexOfSelectedItem","createElement","style","styles","dropdownInputContainer","accessibilityRole","pointerEvents","helper","create","marginBottom","color","gray","caption","red","marginTop","primary","width","blackText","black"],"sourceRoot":"../../../../src","sources":["components/Dropdown/Dropdown.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","StyleSheet","Image","TouchableOpacity","DropdownSelectedItemsContainer","colors","typography","Dropdown","testID","label","placeholder","helperText","error","selectionData","openModal","isMultiple","selectedItem","selectedItems","optionLabel","optionValue","selectedItemsControls","dropdownIcon","labelStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","selectedItemStyle","placeholderStyle","multipleSelectedItemStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","primaryColor","disabled","setIndexOfSelectedItem","handleMultipleSelections","createElement","style","styles","dropdownInputContainer","accessibilityRole","pointerEvents","helper","iconStyle","onPress","source","require","create","marginBottom","color","gray","caption","red","marginTop","primary","width","blackText","black","position","right","top"],"sourceRoot":"../../../../src","sources":["components/Dropdown/Dropdown.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,gBAAgB,QAAQ,cAAc;AAC9E,OAAOC,8BAA8B,MAE9B,kCAAkC;AACzC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,UAAU,QAAQ,yBAAyB;AAGpD,MAAMC,QAAQ,GAAGA,CAAC;EAChBC,MAAM;EACNC,KAAK;EACLC,WAAW;EACXC,UAAU;EACVC,KAAK;EACLC,aAAa;EACbC,SAAS;EACTC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,WAAW;EACXC,WAAW;EACXC,qBAAqB;EACrBC,YAAY;EACZC,UAAU;EACVC,aAAa;EACbC,iBAAiB;EACjBC,sBAAsB;EACtBC,iBAAiB;EACjBC,gBAAgB;EAChBC,yBAAyB;EACzBC,kBAAkB;EAClBC,sBAAsB;EACtBC,uBAAuB;EACvBC,YAAY;EACZC,QAAQ;EACRC,sBAAsB;EACtBC;AACyD,CAAC,KAAK;EAC/D,oBACErC,KAAA,CAAAsC,aAAA,CAACrC,IAAI;IACHsC,KAAK,EAAE,CAACC,MAAM,CAACC,sBAAsB,EAAEd,sBAAsB,CAAE;IAC/De,iBAAiB,EAAC,UAAU;IAC5BC,aAAa,EAAC,UAAU;IACxBjC,MAAM,EAAEA;EAAO,GAEdC,KAAK,IAAIA,KAAK,KAAK,EAAE,iBACpBX,KAAA,CAAAsC,aAAA,CAACpC,IAAI;IAACqC,KAAK,EAAE,CAACC,MAAM,CAAC7B,KAAK,EAAEa,UAAU;EAAE,GAAEb,KAAY,CACvD,eAEDX,KAAA,CAAAsC,aAAA,CAAChC,8BAA8B;IAC7BM,WAAW,EAAEA,WAAY;IACzBE,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAC7BC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3BC,aAAa,EAAEA,aAAc;IAC7BC,WAAW,EAAEA,WAAY;IACzBC,WAAW,EAAEA,WAAY;IACzBI,aAAa,EAAEA,aAAc;IAC7BG,iBAAiB,EAAEA,iBAAkB;IACrCE,yBAAyB,EAAEA,yBAA0B;IACrDC,kBAAkB,EAAEA,kBAAmB;IACvCG,YAAY,EAAEA,YAAa;IAC3BC,QAAQ,EAAEA,QAAS;IACnBN,gBAAgB,EAAEA,gBAAiB;IACnCO,sBAAsB,EAAEA,sBAAuB;IAC/CC,wBAAwB,EAAEA,wBAAyB;IACnDf,qBAAqB,EAAEA;EAAsB,CAC9C,CAAC,EAEDR,KAAK,IAAIA,KAAK,KAAK,EAAE,iBACpBd,KAAA,CAAAsC,aAAA,CAACpC,IAAI;IAACqC,KAAK,EAAE,CAACC,MAAM,CAAC1B,KAAK,EAAEkB,sBAAsB;EAAE,GAAElB,KAAY,CACnE,EAEAD,UAAU,IAAIA,UAAU,KAAK,EAAE,IAAI,CAACC,KAAK,iBACxCd,KAAA,CAAAsC,aAAA,CAACpC,IAAI;IAACqC,KAAK,EAAE,CAACC,MAAM,CAACI,MAAM,EAAEX,uBAAuB;EAAE,GACnDpB,UACG,CACP,eAGDb,KAAA,CAAAsC,aAAA,CAACjC,gBAAgB;IACfkC,KAAK,EAAE,CAACC,MAAM,CAACK,SAAS,EAAEnB,iBAAiB,CAAE;IAC7CoB,OAAO,EAAEA,CAAA,KAAM9B,SAAS,CAAC,CAAE;IAC3BN,MAAM,EAAC;EAAwB,GAE9Ba,YAAY,iBACXvB,KAAA,CAAAsC,aAAA,CAAClC,KAAK;IAAC2C,MAAM,EAAEC,OAAO,CAAC,4BAA4B;EAAE,CAAE,CAEzC,CACd,CAAC;AAEX,CAAC;AAED,MAAMR,MAAM,GAAGrC,UAAU,CAAC8C,MAAM,CAAC;EAC/BtC,KAAK,EAAE;IAAEuC,YAAY,EAAE,EAAE;IAAEC,KAAK,EAAE5C,MAAM,CAAC6C,IAAI;IAAE,GAAG5C,UAAU,CAAC6C;EAAQ,CAAC;EACtEvC,KAAK,EAAE;IAAEqC,KAAK,EAAE5C,MAAM,CAAC+C,GAAG;IAAEC,SAAS,EAAE,CAAC;IAAE,GAAG/C,UAAU,CAAC6C;EAAQ,CAAC;EACjET,MAAM,EAAE;IAAEW,SAAS,EAAE,CAAC;IAAEJ,KAAK,EAAE5C,MAAM,CAACiD,OAAO;IAAE,GAAGhD,UAAU,CAAC6C;EAAQ,CAAC;EACtEZ,sBAAsB,EAAE;IAAES,YAAY,EAAE,EAAE;IAAEO,KAAK,EAAE;EAAO,CAAC;EAC3DC,SAAS,EAAE;IAAEP,KAAK,EAAE5C,MAAM,CAACoD;EAAM,CAAC;EAClCd,SAAS,EAAE;IAAEe,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE,EAAE;IAAEC,GAAG,EAAE;EAAG;AACxD,CAAC,CAAC;AAEF,eAAerD,QAAQ","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React from 'react';
3
+ import { Text, Pressable, StyleSheet, Image, TouchableOpacity } from 'react-native';
4
+ import { extractTextStylesFromArray } from '../../utils';
5
+ const DropdownSelectedItem = ({
6
+ onPress,
7
+ style,
8
+ label,
9
+ removeItemIcon,
10
+ onRemoveItem,
11
+ showRemoveIcon,
12
+ closeIconStyles,
13
+ testId,
14
+ disabled,
15
+ ...rest
16
+ }) => {
17
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
18
+ onPress: () => onPress()
19
+ }, rest, {
20
+ style: [styles.dropdownInputContent, ...(style ?? [])],
21
+ testID: `dropdown-selected-item-${testId}`
22
+ }), /*#__PURE__*/React.createElement(Text, {
23
+ style: extractTextStylesFromArray(style)
24
+ }, label), showRemoveIcon && /*#__PURE__*/React.createElement(Pressable, {
25
+ onPress: disabled ? null : () => onRemoveItem?.(),
26
+ testID: `dropdown-selected-item-remove-icon-${testId}`
27
+ }, removeItemIcon || /*#__PURE__*/React.createElement(Image, {
28
+ source: require('../../asset/close.png'),
29
+ style: [styles.removeItemIcon, closeIconStyles]
30
+ })));
31
+ };
32
+ const styles = StyleSheet.create({
33
+ dropdownInputContent: {
34
+ display: 'flex',
35
+ justifyContent: 'center',
36
+ alignItems: 'center',
37
+ flexDirection: 'row',
38
+ gap: 8
39
+ },
40
+ removeItemIcon: {
41
+ height: 10,
42
+ width: 10
43
+ }
44
+ });
45
+ export default DropdownSelectedItem;
46
+ //# sourceMappingURL=DropdownSelectedItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Text","Pressable","StyleSheet","Image","TouchableOpacity","extractTextStylesFromArray","DropdownSelectedItem","onPress","style","label","removeItemIcon","onRemoveItem","showRemoveIcon","closeIconStyles","testId","disabled","rest","createElement","_extends","styles","dropdownInputContent","testID","source","require","create","display","justifyContent","alignItems","flexDirection","gap","height","width"],"sourceRoot":"../../../../src","sources":["components/Dropdown/DropdownSelectedItem.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,SACEC,IAAI,EACJC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLC,gBAAgB,QAIX,cAAc;AACrB,SAASC,0BAA0B,QAAQ,aAAa;AAcxD,MAAMC,oBAAoB,GAAGA,CAAC;EAC5BC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,cAAc;EACdC,YAAY;EACZC,cAAc;EACdC,eAAe;EACfC,MAAM;EACNC,QAAQ;EACR,GAAGC;AACsB,CAAC,KAAK;EAC/B,oBACEjB,KAAA,CAAAkB,aAAA,CAACb,gBAAgB,EAAAc,QAAA;IACfX,OAAO,EAAEA,CAAA,KAAMA,OAAO,CAAC;EAAE,GACrBS,IAAI;IACRR,KAAK,EAAE,CAACW,MAAM,CAACC,oBAAoB,EAAE,IAAIZ,KAAK,IAAI,EAAE,CAAC,CAAE;IACvDa,MAAM,EAAE,0BAA0BP,MAAM;EAAG,iBAE3Cf,KAAA,CAAAkB,aAAA,CAACjB,IAAI;IAACQ,KAAK,EAAEH,0BAA0B,CAACG,KAAK;EAAE,GAAEC,KAAY,CAAC,EAE7DG,cAAc,iBACbb,KAAA,CAAAkB,aAAA,CAAChB,SAAS;IACRM,OAAO,EAAEQ,QAAQ,GAAG,IAAI,GAAG,MAAMJ,YAAY,GAAG,CAAE;IAClDU,MAAM,EAAE,sCAAsCP,MAAM;EAAG,GAEtDJ,cAAc,iBACbX,KAAA,CAAAkB,aAAA,CAACd,KAAK;IACJmB,MAAM,EAAEC,OAAO,CAAC,uBAAuB,CAAE;IACzCf,KAAK,EAAE,CAACW,MAAM,CAACT,cAAc,EAAEG,eAAe;EAAE,CACjD,CAEM,CAEG,CAAC;AAEvB,CAAC;AAED,MAAMM,MAAM,GAAGjB,UAAU,CAACsB,MAAM,CAAC;EAC/BJ,oBAAoB,EAAE;IACpBK,OAAO,EAAE,MAAM;IACfC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAE;EACP,CAAC;EACDnB,cAAc,EAAE;IACdoB,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,eAAezB,oBAAoB","ignoreList":[]}
@@ -1,26 +1,28 @@
1
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
1
  import React from 'react';
3
- import { View, Text, Pressable, ScrollView, StyleSheet, Image, TouchableOpacity } from 'react-native';
2
+ import { View, Pressable, ScrollView, StyleSheet } from 'react-native';
4
3
  import { colors } from '../../styles/colors';
5
4
  import { inputStyles } from '../../styles/input';
6
- const DropdownSelectedItemsView = ({
5
+ import DropdownSelectedItem from './DropdownSelectedItem';
6
+ const DropdownSelectedItemsContainer = ({
7
7
  placeholder,
8
8
  error,
9
- labelsOfSelectedItems,
9
+ selectionData = [],
10
10
  openModal,
11
11
  isMultiple,
12
12
  selectedItem,
13
13
  selectedItems,
14
- dropdownIcon,
14
+ optionLabel,
15
+ optionValue,
15
16
  dropdownStyle,
16
- dropdownIconStyle,
17
- selectedItemStyle,
18
- placeholderStyle,
19
- multipleSelectedItemStyle,
17
+ placeholderStyle = {},
18
+ selectedItemStyle = {},
19
+ multipleSelectedItemStyle = {},
20
20
  dropdownErrorStyle,
21
21
  primaryColor,
22
- disabled,
23
- setIndexOfSelectedItem
22
+ disabled = false,
23
+ setIndexOfSelectedItem,
24
+ selectedItemsControls,
25
+ handleMultipleSelections
24
26
  }) => {
25
27
  const openActions = label => {
26
28
  openModal();
@@ -52,48 +54,41 @@ const DropdownSelectedItemsView = ({
52
54
  }, /*#__PURE__*/React.createElement(View, {
53
55
  style: styles.selectedItemsContainer,
54
56
  onStartShouldSetResponder: () => true
55
- }, isMultiple ? labelsOfSelectedItems?.map((label, i) => /*#__PURE__*/React.createElement(DropdownContent, {
56
- onPress: () => openActions(label),
57
- key: `react-native-input-select-list-item-${Math.random()}-${i}`,
58
- style: [styles.selectedItems, {
59
- backgroundColor: primaryColor
60
- }, multipleSelectedItemStyle],
61
- label: label,
62
- disabled: disabled
63
- })) : /*#__PURE__*/React.createElement(DropdownContent, {
64
- onPress: () => openActions(labelsOfSelectedItems),
57
+ }, isMultiple ? selectionData?.map((data, i) => {
58
+ const label = data[optionLabel];
59
+ const value = data[optionValue];
60
+ return /*#__PURE__*/React.createElement(DropdownSelectedItem, {
61
+ onPress: () => openActions(label),
62
+ key: `react-native-input-select-list-item-${Math.random()}-${i}`,
63
+ style: [styles.selectedItems, {
64
+ backgroundColor: primaryColor
65
+ }, multipleSelectedItemStyle],
66
+ closeIconStyles: {
67
+ tintColor: multipleSelectedItemStyle?.color || styles.selectedItems.color
68
+ },
69
+ label: label,
70
+ disabled: disabled || data.disabled,
71
+ showRemoveIcon: selectedItemsControls?.showRemoveIcon || true,
72
+ removeItemIcon: selectedItemsControls?.removeItemIcon,
73
+ onRemoveItem: () => {
74
+ handleMultipleSelections?.(value);
75
+ selectedItemsControls?.onRemoveItem?.(); //user defined control
76
+ },
77
+ testId: `${i}`
78
+ });
79
+ }) : /*#__PURE__*/React.createElement(DropdownSelectedItem, {
80
+ onPress: () => openActions(String(selectionData?.[optionLabel] ?? '')),
65
81
  style: [styles.blackText, selectedItemStyle],
66
- label: labelsOfSelectedItems,
82
+ label: selectionData[optionLabel],
67
83
  disabled: disabled
68
- }), selectedItem === '' && selectedItems?.length === 0 && /*#__PURE__*/React.createElement(DropdownContent, {
84
+ }), selectedItem === '' && selectedItems?.length === 0 && /*#__PURE__*/React.createElement(DropdownSelectedItem, {
69
85
  onPress: () => openModal(),
70
86
  style: [styles.blackText, placeholderStyle],
71
87
  label: placeholder ?? 'Select an option',
72
88
  disabled: disabled
73
- }))), /*#__PURE__*/React.createElement(View, {
74
- style: [styles.iconStyle, dropdownIconStyle]
75
- }, dropdownIcon || /*#__PURE__*/React.createElement(Image, {
76
- source: require('../../asset/arrow-down.png')
77
- })));
78
- };
79
- const DropdownContent = ({
80
- onPress,
81
- style,
82
- label,
83
- ...rest
84
- }) => {
85
- return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
86
- onPress: () => onPress()
87
- }, rest), /*#__PURE__*/React.createElement(Text, {
88
- style: style
89
- }, label));
89
+ }))));
90
90
  };
91
91
  const styles = StyleSheet.create({
92
- iconStyle: {
93
- position: 'absolute',
94
- right: 25,
95
- top: 25
96
- },
97
92
  selectedItemsContainer: {
98
93
  flexDirection: 'row',
99
94
  flexWrap: 'nowrap',
@@ -112,5 +107,5 @@ const styles = StyleSheet.create({
112
107
  color: colors.black
113
108
  }
114
109
  });
115
- export default DropdownSelectedItemsView;
116
- //# sourceMappingURL=DropdownSelectedItemsView.js.map
110
+ export default DropdownSelectedItemsContainer;
111
+ //# sourceMappingURL=DropdownSelectedItemsContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Pressable","ScrollView","StyleSheet","colors","inputStyles","DropdownSelectedItem","DropdownSelectedItemsContainer","placeholder","error","selectionData","openModal","isMultiple","selectedItem","selectedItems","optionLabel","optionValue","dropdownStyle","placeholderStyle","selectedItemStyle","multipleSelectedItemStyle","dropdownErrorStyle","primaryColor","disabled","setIndexOfSelectedItem","selectedItemsControls","handleMultipleSelections","openActions","label","createElement","onPress","style","pressed","inputFocusState","borderColor","input","inputFocusErrorState","testID","horizontal","alwaysBounceHorizontal","showsHorizontalScrollIndicator","styles","selectedItemsContainer","onStartShouldSetResponder","map","data","i","value","key","Math","random","backgroundColor","closeIconStyles","tintColor","color","showRemoveIcon","removeItemIcon","onRemoveItem","testId","String","blackText","length","create","flexDirection","flexWrap","alignItems","white","paddingHorizontal","paddingVertical","borderRadius","primary","marginRight","overflow","black"],"sourceRoot":"../../../../src","sources":["components/Dropdown/DropdownSelectedItemsContainer.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
2
2
  /* eslint-disable react-native/no-inline-styles */
3
3
  import React, { useEffect, useRef } from 'react';
4
4
  import { FlatList, StyleSheet } from 'react-native';
5
- import DropdownListItem from '../Dropdown/DropdownListItem';
5
+ import DropdownListItem from './DropdownListItem';
6
6
  import { ItemSeparatorComponent, ListEmptyComponent } from '../Others';
7
7
  const DropdownFlatList = ({
8
8
  options,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","FlatList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","DropdownFlatList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","flatlistRef","scrollToItem","index","current","scrollToIndex","animated","itemIndex","itemSeparator","createElement","itemSeparatorStyle","_extends","testID","data","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","ref","onScrollToIndexFailed","setTimeout","props","create"],"sourceRoot":"../../../../src","sources":["components/List/DropdownFlatList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","FlatList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","DropdownFlatList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","flatlistRef","scrollToItem","index","current","scrollToIndex","animated","itemIndex","itemSeparator","createElement","itemSeparatorStyle","_extends","testID","data","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","keyExtractor","_item","ref","onScrollToIndexFailed","setTimeout","props","create"],"sourceRoot":"../../../../src","sources":["components/List/DropdownFlatList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","TouchableOpacity","StyleSheet","CheckBox","DropdownListItem","item","optionLabel","optionValue","isMultiple","selectedOption","onChange","primaryColor","checkboxControls","createElement","style","styles","listItemContainerStyle","onPress","disabled","value","includes","label","create","paddingHorizontal","paddingVertical","flexDirection","alignItems"],"sourceRoot":"../../../../src","sources":["components/List/DropdownListItem.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,cAAc;AAC3D,OAAOC,QAAQ,MAAM,aAAa;AAElC,MAAMC,gBAAgB,GAAGA,CAAC;EACxBC,IAAI;EACJC,WAAW;EACXC,WAAW;EACXC,UAAU;EACVC,cAAc;EACdC,QAAQ;EACRC,YAAY;EACZC;AACG,CAAC,KAAK;EACT,oBACEb,KAAA,CAAAc,aAAA,CAACZ,gBAAgB;IACfa,KAAK,EAAEC,MAAM,CAACC,sBAAuB;IACrCC,OAAO,EAAEZ,IAAI,CAACa,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,MAAMR,QAAQ,CAACL,IAAI,CAACE,WAAW,CAAC;EAAE,gBAEtER,KAAA,CAAAc,aAAA,CAACV,QAAQ;IACPgB,KAAK,EACHX,UAAU,GACNC,cAAc,CAACW,QAAQ,CAACf,IAAI,CAACE,WAAW,CAAC,CAAC,GAC1C,CAACE,cAAc,CAAC,CAACW,QAAQ,CAACf,IAAI,CAACE,WAAW,CAAC,CAChD;IACDc,KAAK,EAAEhB,IAAI,CAACC,WAAW,CAAE;IACzBI,QAAQ,EAAEA,CAAA,KAAMA,QAAQ,CAACL,IAAI,CAACE,WAAW,CAAC,CAAE;IAC5CI,YAAY,EAAEA,YAAa;IAC3BC,gBAAgB,EAAEA,gBAAiB;IACnCM,QAAQ,EAAEb,IAAI,CAACa;EAAS,CACzB,CACe,CAAC;AAEvB,CAAC;AAED,MAAMH,MAAM,GAAGb,UAAU,CAACoB,MAAM,CAAC;EAC/BN,sBAAsB,EAAE;IACtBO,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,4BAAe1B,IAAI,CAACI,gBAAgB,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
2
2
  /* eslint-disable react-native/no-inline-styles */
3
3
  import React, { useEffect, useState, useRef } from 'react';
4
4
  import { SectionList, StyleSheet } from 'react-native';
5
- import DropdownListItem from '../Dropdown/DropdownListItem';
5
+ import DropdownListItem from './DropdownListItem';
6
6
  import { ItemSeparatorComponent, ListEmptyComponent, SectionHeaderTitle } from '../Others';
7
7
  import { extractPropertyFromArray } from '../../utils';
8
8
  const DropdownSectionList = ({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","useRef","SectionList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","SectionHeaderTitle","extractPropertyFromArray","DropdownSectionList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","expandedSections","setExpandedSections","Set","initialState","handleToggleListExpansion","title","expandedSectionsState","next","has","delete","add","sectionlistRef","scrollToLocation","index","current","sectionIndex","animated","itemIndex","itemSeparator","createElement","itemSeparatorStyle","_extends","testID","sections","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","renderSectionHeader","section","sectionHeaderStyle","onPress","isExpanded","keyExtractor","_item","stickySectionHeadersEnabled","ref","onScrollToIndexFailed","setTimeout","props","create"],"sourceRoot":"../../../../src","sources":["components/List/DropdownSectionList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","useRef","SectionList","StyleSheet","DropdownListItem","ItemSeparatorComponent","ListEmptyComponent","SectionHeaderTitle","extractPropertyFromArray","DropdownSectionList","options","optionLabel","optionValue","isMultiple","isSearchable","selectedItems","selectedItem","handleMultipleSelections","handleSingleSelection","primaryColor","checkboxControls","listComponentStyles","listIndex","emptyListMessage","listEmptyComponent","rest","expandedSections","setExpandedSections","Set","initialState","handleToggleListExpansion","title","expandedSectionsState","next","has","delete","add","sectionlistRef","scrollToLocation","index","current","sectionIndex","animated","itemIndex","itemSeparator","createElement","itemSeparatorStyle","_extends","testID","sections","extraData","initialNumToRender","listEmptyComponentStyle","contentContainerStyle","paddingTop","styles","renderItem","item","_renderItem","selectedOption","onChange","renderSectionHeader","section","sectionHeaderStyle","onPress","isExpanded","keyExtractor","_item","stickySectionHeadersEnabled","ref","onScrollToIndexFailed","setTimeout","props","create"],"sourceRoot":"../../../../src","sources":["components/List/DropdownSectionList.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,18 +2,22 @@ import { useState, useCallback } from 'react';
2
2
  export const useSelectionHandler = ({
3
3
  initialSelectedValue,
4
4
  isMultiple,
5
+ minSelectableItems = 0,
5
6
  maxSelectableItems,
6
7
  onValueChange,
7
8
  closeModal,
8
9
  autoCloseOnSelect
9
10
  }) => {
10
- // Initialize state based on whether it's multiple selection or not
11
+ // Initialize state based on whether it is multiple selection or not
11
12
  const [selectedItem, setSelectedItem] = useState(isMultiple ? '' : initialSelectedValue);
12
13
  const [selectedItems, setSelectedItems] = useState(isMultiple ? initialSelectedValue : []);
13
14
  const handleSingleSelection = useCallback(value => {
14
15
  if (selectedItem === value) {
15
- setSelectedItem('');
16
- onValueChange(''); // Send null to parent when deselected
16
+ // Deselect item if minSelectableItems is not reached
17
+ if (minSelectableItems === 0) {
18
+ setSelectedItem('');
19
+ onValueChange(''); // Send null to parent when deselected
20
+ }
17
21
  } else {
18
22
  setSelectedItem(value);
19
23
  onValueChange(value); // Send selected value to parent
@@ -22,13 +26,15 @@ export const useSelectionHandler = ({
22
26
  closeModal(); // close modal upon selection
23
27
  }
24
28
  }
25
- }, [selectedItem, onValueChange, autoCloseOnSelect, closeModal]);
29
+ }, [selectedItem, minSelectableItems, onValueChange, autoCloseOnSelect, closeModal]);
26
30
  const handleMultipleSelections = useCallback(value => {
27
31
  setSelectedItems(prevVal => {
28
32
  let selectedValues = [...prevVal];
29
33
  if (selectedValues.includes(value)) {
30
- // Remove item
31
- selectedValues = selectedValues.filter(item => item !== value);
34
+ // Only remove item if it doesn't drop below the minimum required
35
+ if (selectedValues.length > minSelectableItems) {
36
+ selectedValues = selectedValues.filter(item => item !== value);
37
+ }
32
38
  } else {
33
39
  // Add item
34
40
  if (maxSelectableItems && selectedValues.length >= maxSelectableItems) {
@@ -39,7 +45,7 @@ export const useSelectionHandler = ({
39
45
  onValueChange(selectedValues); // Send selected values to parent
40
46
  return selectedValues;
41
47
  });
42
- }, [maxSelectableItems, onValueChange]);
48
+ }, [minSelectableItems, maxSelectableItems, onValueChange]);
43
49
 
44
50
  // Return the relevant state and handlers
45
51
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useCallback","useSelectionHandler","initialSelectedValue","isMultiple","maxSelectableItems","onValueChange","closeModal","autoCloseOnSelect","selectedItem","setSelectedItem","selectedItems","setSelectedItems","handleSingleSelection","value","handleMultipleSelections","prevVal","selectedValues","includes","filter","item","length","push"],"sourceRoot":"../../../src","sources":["hooks/use-selection-handler.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAY7C,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,oBAAoB;EACpBC,UAAU;EACVC,kBAAkB;EAClBC,aAAa;EACbC,UAAU;EACVC;AACwB,CAAC,KAAK;EAC9B;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGV,QAAQ,CAC9CI,UAAU,GAAG,EAAE,GAAID,oBACrB,CAAC;EACD,MAAM,CAACQ,aAAa,EAAEC,gBAAgB,CAAC,GAAGZ,QAAQ,CAChDI,UAAU,GAAID,oBAAoB,GAAuB,EAC3D,CAAC;EAED,MAAMU,qBAAqB,GAAGZ,WAAW,CACtCa,KAAoB,IAAK;IACxB,IAAIL,YAAY,KAAKK,KAAK,EAAE;MAC1BJ,eAAe,CAAC,EAAE,CAAC;MACnBJ,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC,MAAM;MACLI,eAAe,CAACI,KAAK,CAAC;MACtBR,aAAa,CAACQ,KAAK,CAAC,CAAC,CAAC;;MAEtB,IAAIN,iBAAiB,EAAE;QACrBD,UAAU,CAAC,CAAC,CAAC,CAAC;MAChB;IACF;EACF,CAAC,EACD,CAACE,YAAY,EAAEH,aAAa,EAAEE,iBAAiB,EAAED,UAAU,CAC7D,CAAC;EAED,MAAMQ,wBAAwB,GAAGd,WAAW,CACzCa,KAAoB,IAAK;IACxBF,gBAAgB,CAAEI,OAAO,IAAK;MAC5B,IAAIC,cAAc,GAAG,CAAC,GAAGD,OAAO,CAAC;MAEjC,IAAIC,cAAc,CAACC,QAAQ,CAACJ,KAAK,CAAC,EAAE;QAClC;QACAG,cAAc,GAAGA,cAAc,CAACE,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKN,KAAK,CAAC;MAClE,CAAC,MAAM;QACL;QACA,IACET,kBAAkB,IAClBY,cAAc,CAACI,MAAM,IAAIhB,kBAAkB,EAC3C;UACA,OAAOY,cAAc;QACvB;QACAA,cAAc,CAACK,IAAI,CAACR,KAAK,CAAC;MAC5B;MAEAR,aAAa,CAACW,cAAc,CAAC,CAAC,CAAC;MAC/B,OAAOA,cAAc;IACvB,CAAC,CAAC;EACJ,CAAC,EACD,CAACZ,kBAAkB,EAAEC,aAAa,CACpC,CAAC;;EAED;EACA,OAAO;IACLG,YAAY;IACZE,aAAa;IACbE,qBAAqB;IACrBE,wBAAwB;IACxBH,gBAAgB;IAAE;IAClBF,eAAe,CAAE;EACnB,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useState","useCallback","useSelectionHandler","initialSelectedValue","isMultiple","minSelectableItems","maxSelectableItems","onValueChange","closeModal","autoCloseOnSelect","selectedItem","setSelectedItem","selectedItems","setSelectedItems","handleSingleSelection","value","handleMultipleSelections","prevVal","selectedValues","includes","length","filter","item","push"],"sourceRoot":"../../../src","sources":["hooks/use-selection-handler.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAa7C,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,oBAAoB;EACpBC,UAAU;EACVC,kBAAkB,GAAG,CAAC;EACtBC,kBAAkB;EAClBC,aAAa;EACbC,UAAU;EACVC;AACwB,CAAC,KAAK;EAC9B;EACA,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGX,QAAQ,CAC9CI,UAAU,GAAG,EAAE,GAAID,oBACrB,CAAC;EACD,MAAM,CAACS,aAAa,EAAEC,gBAAgB,CAAC,GAAGb,QAAQ,CAChDI,UAAU,GAAID,oBAAoB,GAAuB,EAC3D,CAAC;EAED,MAAMW,qBAAqB,GAAGb,WAAW,CACtCc,KAAoB,IAAK;IACxB,IAAIL,YAAY,KAAKK,KAAK,EAAE;MAC1B;MACA,IAAIV,kBAAkB,KAAK,CAAC,EAAE;QAC5BM,eAAe,CAAC,EAAE,CAAC;QACnBJ,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;MACrB;IACF,CAAC,MAAM;MACLI,eAAe,CAACI,KAAK,CAAC;MACtBR,aAAa,CAACQ,KAAK,CAAC,CAAC,CAAC;;MAEtB,IAAIN,iBAAiB,EAAE;QACrBD,UAAU,CAAC,CAAC,CAAC,CAAC;MAChB;IACF;EACF,CAAC,EACD,CACEE,YAAY,EACZL,kBAAkB,EAClBE,aAAa,EACbE,iBAAiB,EACjBD,UAAU,CAEd,CAAC;EAED,MAAMQ,wBAAwB,GAAGf,WAAW,CACzCc,KAAoB,IAAK;IACxBF,gBAAgB,CAAEI,OAAO,IAAK;MAC5B,IAAIC,cAAc,GAAG,CAAC,GAAGD,OAAO,CAAC;MAEjC,IAAIC,cAAc,CAACC,QAAQ,CAACJ,KAAK,CAAC,EAAE;QAClC;QACA,IAAIG,cAAc,CAACE,MAAM,GAAGf,kBAAkB,EAAE;UAC9Ca,cAAc,GAAGA,cAAc,CAACG,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKP,KAAK,CAAC;QAClE;MACF,CAAC,MAAM;QACL;QACA,IACET,kBAAkB,IAClBY,cAAc,CAACE,MAAM,IAAId,kBAAkB,EAC3C;UACA,OAAOY,cAAc;QACvB;QACAA,cAAc,CAACK,IAAI,CAACR,KAAK,CAAC;MAC5B;MAEAR,aAAa,CAACW,cAAc,CAAC,CAAC,CAAC;MAC/B,OAAOA,cAAc;IACvB,CAAC,CAAC;EACJ,CAAC,EACD,CAACb,kBAAkB,EAAEC,kBAAkB,EAAEC,aAAa,CACxD,CAAC;;EAED;EACA,OAAO;IACLG,YAAY;IACZE,aAAa;IACbE,qBAAqB;IACrBE,wBAAwB;IACxBH,gBAAgB;IAAE;IAClBF,eAAe,CAAE;EACnB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -9,7 +9,7 @@ import DropdownSectionList from './components/List/DropdownSectionList';
9
9
  import CustomModal from './components/CustomModal';
10
10
  import { colors } from './styles/colors';
11
11
  import { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';
12
- import { extractPropertyFromArray, getLabelsOfSelectedItems } from './utils';
12
+ import { extractPropertyFromArray, getSelectionsData, removeDisabledItems } from './utils';
13
13
  import { useSelectionHandler, useModal, useSearch, useIndexOfSelectedItem, useSelectAll } from './hooks';
14
14
  export const DropdownSelect = /*#__PURE__*/forwardRef(({
15
15
  testID,
@@ -45,7 +45,9 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
45
45
  searchControls,
46
46
  modalControls,
47
47
  checkboxControls,
48
+ selectedItemsControls,
48
49
  autoCloseOnSelect = true,
50
+ minSelectableItems,
49
51
  maxSelectableItems,
50
52
  ...rest
51
53
  }, ref) => {
@@ -125,6 +127,7 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
125
127
  } = useSelectionHandler({
126
128
  initialSelectedValue: selectedValue,
127
129
  isMultiple,
130
+ minSelectableItems,
128
131
  maxSelectableItems,
129
132
  onValueChange,
130
133
  closeModal: () => closeModal(),
@@ -132,8 +135,10 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
132
135
  });
133
136
  useEffect(() => {
134
137
  isMultiple ? setSelectedItems(selectedValue) : setSelectedItem(selectedValue);
135
- return () => {};
136
- }, [selectedValue, setSelectedItems, setSelectedItem, isMultiple, onValueChange]);
138
+
139
+ // setSelectedItems already updates selectedValue, so omit it from dependency array to avoid infinite loop
140
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
+ }, [setSelectedItems, setSelectedItem, isMultiple, onValueChange]);
137
142
 
138
143
  /*===========================================
139
144
  * List type
@@ -168,18 +173,19 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
168
173
  placeholder: placeholder,
169
174
  helperText: helperText,
170
175
  error: error,
171
- labelsOfSelectedItems: getLabelsOfSelectedItems({
176
+ selectionData: getSelectionsData({
172
177
  isMultiple,
173
- optionLabel,
174
178
  optionValue,
175
179
  selectedItem,
176
180
  selectedItems,
177
181
  modifiedOptions
178
182
  }),
183
+ optionLabel: optionLabel,
184
+ optionValue: optionValue,
179
185
  selectedItem: selectedItem,
180
186
  selectedItems: selectedItems,
187
+ selectedItemsControls: selectedItemsControls,
181
188
  openModal: () => openModal(),
182
- closeModal: () => closeModal(),
183
189
  labelStyle: labelStyle,
184
190
  dropdownIcon: dropdownIcon,
185
191
  dropdownStyle: dropdownStyle,
@@ -194,7 +200,8 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
194
200
  primaryColor: primaryColor,
195
201
  disabled: disabled,
196
202
  placeholderStyle: placeholderStyle,
197
- setIndexOfSelectedItem: setIndexOfSelectedItem
203
+ setIndexOfSelectedItem: setIndexOfSelectedItem,
204
+ handleMultipleSelections: handleMultipleSelections
198
205
  }, rest)), /*#__PURE__*/React.createElement(CustomModal, {
199
206
  visible: isVisible,
200
207
  onRequestClose: () => closeModal(),
@@ -212,7 +219,7 @@ export const DropdownSelect = /*#__PURE__*/forwardRef(({
212
219
  style: styles.optionsContainerStyle
213
220
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
214
221
  accessible: false
215
- }, /*#__PURE__*/React.createElement(CheckBox, {
222
+ }, removeDisabledItems(modifiedOptions)?.length !== 0 && /*#__PURE__*/React.createElement(CheckBox, {
216
223
  value: selectAll,
217
224
  label: selectAll ? listControls?.unselectAllText || 'Clear all' : listControls?.selectAllText || 'Select all',
218
225
  onChange: () => handleSelectAll(),