react-native-input-select 2.1.5 → 2.1.6

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 +13 -6
  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 +14 -7
  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 +12 -12
  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
@@ -1,134 +0,0 @@
1
- import React from 'react';
2
- import {
3
- View,
4
- Text,
5
- Pressable,
6
- ScrollView,
7
- StyleSheet,
8
- Image,
9
- TouchableOpacity,
10
- } from 'react-native';
11
- import { colors } from '../../styles/colors';
12
- import { inputStyles } from '../../styles/input';
13
-
14
- const DropdownSelectedItemsView = ({
15
- placeholder,
16
- error,
17
- labelsOfSelectedItems,
18
- openModal,
19
- isMultiple,
20
- selectedItem,
21
- selectedItems,
22
- dropdownIcon,
23
- dropdownStyle,
24
- dropdownIconStyle,
25
- selectedItemStyle,
26
- placeholderStyle,
27
- multipleSelectedItemStyle,
28
- dropdownErrorStyle,
29
- primaryColor,
30
- disabled,
31
- setIndexOfSelectedItem,
32
- }: any) => {
33
- const openActions = (label: string) => {
34
- openModal();
35
- setIndexOfSelectedItem(label); // immediately scrolls to list item with the specified label when modal
36
- };
37
- return (
38
- <Pressable
39
- onPress={() => openModal()}
40
- style={({ pressed }) => [
41
- pressed && {
42
- ...inputStyles.inputFocusState,
43
- borderColor: primaryColor,
44
- },
45
- { ...inputStyles.input, ...dropdownStyle },
46
- error && //this must be last
47
- error !== '' &&
48
- !pressed && {
49
- ...inputStyles.inputFocusErrorState,
50
- ...dropdownErrorStyle,
51
- },
52
- ]}
53
- disabled={disabled}
54
- aria-disabled={disabled}
55
- testID="react-native-input-select-dropdown-input-container"
56
- >
57
- <ScrollView
58
- horizontal
59
- alwaysBounceHorizontal
60
- showsHorizontalScrollIndicator={false}
61
- >
62
- <View
63
- style={styles.selectedItemsContainer}
64
- onStartShouldSetResponder={() => true}
65
- >
66
- {isMultiple ? (
67
- labelsOfSelectedItems?.map((label: string, i: Number) => (
68
- <DropdownContent
69
- onPress={() => openActions(label)}
70
- key={`react-native-input-select-list-item-${Math.random()}-${i}`}
71
- style={[
72
- styles.selectedItems,
73
- { backgroundColor: primaryColor },
74
- multipleSelectedItemStyle,
75
- ]}
76
- label={label}
77
- disabled={disabled}
78
- />
79
- ))
80
- ) : (
81
- <DropdownContent
82
- onPress={() => openActions(labelsOfSelectedItems)}
83
- style={[styles.blackText, selectedItemStyle]}
84
- label={labelsOfSelectedItems}
85
- disabled={disabled}
86
- />
87
- )}
88
- {selectedItem === '' && selectedItems?.length === 0 && (
89
- <DropdownContent
90
- onPress={() => openModal()}
91
- style={[styles.blackText, placeholderStyle]}
92
- label={placeholder ?? 'Select an option'}
93
- disabled={disabled}
94
- />
95
- )}
96
- </View>
97
- </ScrollView>
98
- <View style={[styles.iconStyle, dropdownIconStyle]}>
99
- {dropdownIcon || (
100
- <Image source={require('../../asset/arrow-down.png')} />
101
- )}
102
- </View>
103
- </Pressable>
104
- );
105
- };
106
-
107
- const DropdownContent = ({ onPress, style, label, ...rest }: any) => {
108
- return (
109
- <TouchableOpacity onPress={() => onPress()} {...rest}>
110
- <Text style={style}>{label}</Text>
111
- </TouchableOpacity>
112
- );
113
- };
114
-
115
- const styles = StyleSheet.create({
116
- iconStyle: { position: 'absolute', right: 25, top: 25 },
117
- selectedItemsContainer: {
118
- flexDirection: 'row',
119
- flexWrap: 'nowrap',
120
- alignItems: 'center',
121
- },
122
- selectedItems: {
123
- color: colors.white,
124
- paddingHorizontal: 10,
125
- paddingVertical: 5,
126
- borderRadius: 10,
127
- backgroundColor: colors.primary,
128
- marginRight: 10,
129
- overflow: 'hidden',
130
- },
131
- blackText: { color: colors.black },
132
- });
133
-
134
- export default DropdownSelectedItemsView;