@hero-design/rn 7.7.0 → 7.9.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 (221) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/es/index.js +1775 -333
  3. package/lib/index.js +1780 -336
  4. package/package.json +4 -8
  5. package/src/components/Alert/__tests__/__snapshots__/index.spec.tsx.snap +2 -2
  6. package/src/components/Avatar/index.tsx +1 -1
  7. package/src/components/Button/Button.tsx +4 -2
  8. package/src/components/Button/LoadingIndicator/StyledLoadingIndicator.tsx +7 -2
  9. package/src/components/Button/LoadingIndicator/__tests__/StyledLoadingIndicator.spec.tsx +2 -0
  10. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/StyledLoadingIndicator.spec.tsx.snap +40 -0
  11. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/index.spec.tsx.snap +242 -0
  12. package/src/components/Button/LoadingIndicator/__tests__/index.spec.tsx +2 -0
  13. package/src/components/Button/LoadingIndicator/index.tsx +3 -1
  14. package/src/components/Button/StyledButton.tsx +15 -2
  15. package/src/components/Button/__tests__/Button.spec.tsx +2 -0
  16. package/src/components/Button/__tests__/StyledButton.spec.tsx +12 -0
  17. package/src/components/Button/__tests__/__snapshots__/StyledButton.spec.tsx.snap +314 -0
  18. package/src/components/Card/DataCard/StyledDataCard.tsx +18 -0
  19. package/src/components/Card/DataCard/__tests__/StyledDataCard.spec.tsx +24 -0
  20. package/src/components/Card/DataCard/__tests__/__snapshots__/StyledDataCard.spec.tsx.snap +96 -0
  21. package/src/components/Card/DataCard/__tests__/__snapshots__/index.spec.tsx.snap +151 -0
  22. package/src/components/Card/DataCard/__tests__/index.spec.tsx +30 -0
  23. package/src/components/Card/DataCard/index.tsx +35 -0
  24. package/src/components/Card/StyledCard.tsx +1 -3
  25. package/src/components/Card/__tests__/__snapshots__/StyledCard.spec.tsx.snap +0 -1
  26. package/src/components/Card/index.tsx +7 -2
  27. package/src/components/Checkbox/index.tsx +1 -1
  28. package/src/components/Collapse/index.tsx +1 -1
  29. package/src/components/Icon/HeroIcon/index.tsx +3 -1
  30. package/src/components/Icon/index.tsx +3 -2
  31. package/src/components/List/BasicListItem.tsx +98 -0
  32. package/src/components/List/ListItem.tsx +142 -0
  33. package/src/components/List/StyledBasicListItem.tsx +34 -0
  34. package/src/components/List/StyledListItem.tsx +82 -0
  35. package/src/components/List/__tests__/BasicListItem.spec.tsx +37 -0
  36. package/src/components/List/__tests__/ListItem.spec.tsx +110 -0
  37. package/src/components/List/__tests__/StyledBasicListItem.spec.tsx +24 -0
  38. package/src/components/List/__tests__/StyledListItem.spec.tsx +48 -0
  39. package/src/components/List/__tests__/__snapshots__/BasicListItem.spec.tsx.snap +103 -0
  40. package/src/components/List/__tests__/__snapshots__/ListItem.spec.tsx.snap +760 -0
  41. package/src/components/List/__tests__/__snapshots__/StyledBasicListItem.spec.tsx.snap +105 -0
  42. package/src/components/List/__tests__/__snapshots__/StyledListItem.spec.tsx.snap +200 -0
  43. package/src/components/List/index.tsx +14 -0
  44. package/src/components/SectionHeading/index.tsx +1 -1
  45. package/src/components/Select/Footer.tsx +13 -0
  46. package/src/components/Select/MultiSelect/Option.tsx +25 -0
  47. package/src/components/Select/MultiSelect/OptionList.tsx +30 -63
  48. package/src/components/Select/MultiSelect/__tests__/Option.spec.tsx +16 -0
  49. package/src/components/Select/MultiSelect/__tests__/OptionList.spec.tsx +42 -0
  50. package/src/components/Select/MultiSelect/__tests__/__snapshots__/Option.spec.tsx.snap +70 -0
  51. package/src/components/Select/MultiSelect/__tests__/__snapshots__/OptionList.spec.tsx.snap +627 -0
  52. package/src/components/Select/MultiSelect/__tests__/index.spec.tsx +6 -6
  53. package/src/components/Select/MultiSelect/index.tsx +8 -7
  54. package/src/components/Select/SingleSelect/Option.tsx +23 -0
  55. package/src/components/Select/SingleSelect/OptionList.tsx +43 -0
  56. package/src/components/Select/SingleSelect/__tests__/Option.spec.tsx +16 -0
  57. package/src/components/Select/SingleSelect/__tests__/OptionList.spec.tsx +42 -0
  58. package/src/components/Select/SingleSelect/__tests__/__snapshots__/Option.spec.tsx.snap +56 -0
  59. package/src/components/Select/SingleSelect/__tests__/__snapshots__/OptionList.spec.tsx.snap +571 -0
  60. package/src/components/Select/SingleSelect/__tests__/__snapshots__/index.spec.tsx.snap +1430 -0
  61. package/src/components/Select/SingleSelect/__tests__/index.spec.tsx +89 -0
  62. package/src/components/Select/SingleSelect/index.tsx +89 -0
  63. package/src/components/Select/{MultiSelect/StyledMultiSelect.tsx → StyledSelect.tsx} +1 -1
  64. package/src/components/Select/{MultiSelect/__tests__/StyledMultiSelect.spec.tsx → __tests__/StyledSelect.spec.tsx} +2 -2
  65. package/src/components/Select/{MultiSelect/__tests__/__snapshots__/StyledMultiSelect.spec.tsx.snap → __tests__/__snapshots__/StyledSelect.spec.tsx.snap} +0 -0
  66. package/src/components/Select/helpers.tsx +18 -0
  67. package/src/components/Select/index.tsx +4 -3
  68. package/src/components/Select/{MultiSelect/types.ts → types.ts} +0 -0
  69. package/src/components/Switch/index.tsx +1 -1
  70. package/src/components/Toast/__tests__/__snapshots__/Toast.spec.tsx.snap +2 -2
  71. package/src/components/Toolbar/StyledToolbar.tsx +42 -0
  72. package/src/components/Toolbar/ToolbarGroup.tsx +31 -0
  73. package/src/components/Toolbar/ToolbarItem.tsx +57 -0
  74. package/src/components/Toolbar/__tests__/ToolbarGroup.spec.tsx +32 -0
  75. package/src/components/Toolbar/__tests__/ToolbarItem.spec.tsx +57 -0
  76. package/src/components/Toolbar/__tests__/__snapshots__/ToolbarGroup.spec.tsx.snap +391 -0
  77. package/src/components/Toolbar/__tests__/__snapshots__/ToolbarItem.spec.tsx.snap +355 -0
  78. package/src/components/Toolbar/index.tsx +18 -0
  79. package/src/components/Typography/Text/StyledText.tsx +8 -1
  80. package/src/components/Typography/Text/__tests__/StyledText.spec.tsx +5 -0
  81. package/src/components/Typography/Text/__tests__/__snapshots__/StyledText.spec.tsx.snap +110 -0
  82. package/src/components/Typography/Text/index.tsx +9 -2
  83. package/src/index.ts +4 -0
  84. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +83 -3
  85. package/src/theme/components/button.ts +2 -0
  86. package/src/theme/components/card.ts +13 -2
  87. package/src/theme/components/icon.ts +1 -0
  88. package/src/theme/components/list.ts +46 -0
  89. package/src/theme/components/toolbar.ts +27 -0
  90. package/src/theme/components/typography.ts +4 -0
  91. package/src/theme/global/colors.ts +9 -2
  92. package/src/theme/global/space.ts +2 -0
  93. package/src/theme/index.ts +6 -0
  94. package/tsconfig.json +1 -2
  95. package/types/components/Avatar/index.d.ts +1 -1
  96. package/types/components/Button/Button.d.ts +2 -2
  97. package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +1 -1
  98. package/types/components/Button/LoadingIndicator/index.d.ts +1 -1
  99. package/types/components/Button/StyledButton.d.ts +2 -2
  100. package/types/components/Card/DataCard/StyledDataCard.d.ts +16 -0
  101. package/types/components/{Select/MultiSelect/__tests__/StyledMultiSelect.spec.d.ts → Card/DataCard/__tests__/StyledDataCard.spec.d.ts} +0 -0
  102. package/types/components/Card/DataCard/__tests__/index.spec.d.ts +1 -0
  103. package/types/components/Card/DataCard/index.d.ts +22 -0
  104. package/types/components/Card/index.d.ts +7 -3
  105. package/types/components/Checkbox/index.d.ts +1 -1
  106. package/types/components/Collapse/index.d.ts +1 -1
  107. package/types/components/Icon/HeroIcon/index.d.ts +1 -1
  108. package/types/components/Icon/index.d.ts +2 -2
  109. package/types/components/List/BasicListItem.d.ts +43 -0
  110. package/types/components/List/ListItem.d.ts +51 -0
  111. package/types/components/List/StyledBasicListItem.d.ts +29 -0
  112. package/types/components/List/StyledListItem.d.ts +51 -0
  113. package/types/components/List/__tests__/BasicListItem.spec.d.ts +1 -0
  114. package/types/components/List/__tests__/ListItem.spec.d.ts +1 -0
  115. package/types/components/List/__tests__/StyledBasicListItem.spec.d.ts +1 -0
  116. package/types/components/List/__tests__/StyledListItem.spec.d.ts +1 -0
  117. package/types/components/List/index.d.ts +8 -0
  118. package/types/components/SectionHeading/index.d.ts +1 -1
  119. package/types/components/Select/{MultiSelect/Footer.d.ts → Footer.d.ts} +2 -2
  120. package/types/components/Select/MultiSelect/Option.d.ts +6 -0
  121. package/types/components/Select/MultiSelect/OptionList.d.ts +7 -1
  122. package/types/components/Select/MultiSelect/__tests__/Option.spec.d.ts +1 -0
  123. package/types/components/Select/MultiSelect/__tests__/OptionList.spec.d.ts +1 -0
  124. package/types/components/Select/MultiSelect/index.d.ts +4 -4
  125. package/types/components/Select/SingleSelect/Option.d.ts +6 -0
  126. package/types/components/Select/SingleSelect/OptionList.d.ts +9 -0
  127. package/types/components/Select/SingleSelect/__tests__/Option.spec.d.ts +1 -0
  128. package/types/components/Select/SingleSelect/__tests__/OptionList.spec.d.ts +1 -0
  129. package/types/components/Select/SingleSelect/__tests__/index.spec.d.ts +1 -0
  130. package/types/components/Select/SingleSelect/index.d.ts +35 -0
  131. package/types/components/Select/{MultiSelect/StyledMultiSelect.d.ts → StyledSelect.d.ts} +1 -1
  132. package/types/components/Select/__tests__/StyledSelect.spec.d.ts +1 -0
  133. package/types/components/Select/helpers.d.ts +2 -0
  134. package/types/components/Select/index.d.ts +3 -3
  135. package/types/components/Select/{MultiSelect/types.d.ts → types.d.ts} +0 -0
  136. package/types/components/Switch/index.d.ts +1 -1
  137. package/types/components/Toolbar/StyledToolbar.d.ts +22 -0
  138. package/types/components/Toolbar/ToolbarGroup.d.ts +13 -0
  139. package/types/components/Toolbar/ToolbarItem.d.ts +25 -0
  140. package/types/components/Toolbar/__tests__/ToolbarGroup.spec.d.ts +1 -0
  141. package/types/components/Toolbar/__tests__/ToolbarItem.spec.d.ts +1 -0
  142. package/types/components/Toolbar/index.d.ts +11 -0
  143. package/types/components/Typography/Text/StyledText.d.ts +1 -1
  144. package/types/components/Typography/Text/index.d.ts +2 -2
  145. package/types/index.d.ts +3 -1
  146. package/types/theme/components/button.d.ts +2 -0
  147. package/types/theme/components/card.d.ts +10 -0
  148. package/types/theme/components/icon.d.ts +1 -0
  149. package/types/theme/components/list.d.ts +40 -0
  150. package/types/theme/components/toolbar.d.ts +21 -0
  151. package/types/theme/components/typography.d.ts +4 -0
  152. package/types/theme/global/colors.d.ts +5 -0
  153. package/types/theme/global/index.d.ts +5 -0
  154. package/types/theme/global/space.d.ts +1 -0
  155. package/types/theme/index.d.ts +4 -0
  156. package/playground/.detoxrc.json +0 -49
  157. package/playground/.prettierrc.json +0 -8
  158. package/playground/.turbo/turbo-type-check.log +0 -7
  159. package/playground/app.json +0 -9
  160. package/playground/babel.config.js +0 -63
  161. package/playground/e2e/config.json +0 -9
  162. package/playground/e2e/environment.js +0 -23
  163. package/playground/e2e/firstTest.e2e.js +0 -16
  164. package/playground/expoEntry.js +0 -5
  165. package/playground/fonts/be-vietnam-pro-light.ttf +0 -0
  166. package/playground/fonts/be-vietnam-pro-regular.ttf +0 -0
  167. package/playground/fonts/be-vietnam-pro-semibold.ttf +0 -0
  168. package/playground/fonts/hero-icons.ttf +0 -0
  169. package/playground/index.js +0 -7
  170. package/playground/ios/MobileHeroDesignPlayground/AppDelegate.h +0 -9
  171. package/playground/ios/MobileHeroDesignPlayground/AppDelegate.m +0 -75
  172. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/AppIcon.appiconset/Contents.json +0 -38
  173. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/Contents.json +0 -6
  174. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/SplashScreenBackground.imageset/Contents.json +0 -21
  175. package/playground/ios/MobileHeroDesignPlayground/Images.xcassets/SplashScreenBackground.imageset/image.png +0 -0
  176. package/playground/ios/MobileHeroDesignPlayground/Info.plist +0 -85
  177. package/playground/ios/MobileHeroDesignPlayground/MobileHeroDesignPlayground-Bridging-Header.h +0 -3
  178. package/playground/ios/MobileHeroDesignPlayground/MobileHeroDesignPlayground.entitlements +0 -8
  179. package/playground/ios/MobileHeroDesignPlayground/SplashScreen.storyboard +0 -40
  180. package/playground/ios/MobileHeroDesignPlayground/Supporting/Expo.plist +0 -16
  181. package/playground/ios/MobileHeroDesignPlayground/main.m +0 -10
  182. package/playground/ios/MobileHeroDesignPlayground/noop-file.swift +0 -4
  183. package/playground/ios/MobileHeroDesignPlayground.xcodeproj/project.pbxproj +0 -515
  184. package/playground/ios/MobileHeroDesignPlayground.xcodeproj/xcshareddata/xcschemes/MobileHeroDesignPlayground.xcscheme +0 -88
  185. package/playground/ios/MobileHeroDesignPlayground.xcworkspace/contents.xcworkspacedata +0 -10
  186. package/playground/ios/MobileHeroDesignPlayground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  187. package/playground/ios/Podfile +0 -49
  188. package/playground/ios/Podfile.lock +0 -478
  189. package/playground/ios/Podfile.properties.json +0 -3
  190. package/playground/metro.config.js +0 -24
  191. package/playground/package.json +0 -63
  192. package/playground/src/Alert.tsx +0 -80
  193. package/playground/src/App.tsx +0 -210
  194. package/playground/src/Avatar.tsx +0 -102
  195. package/playground/src/Badge.tsx +0 -187
  196. package/playground/src/BottomNavigation.tsx +0 -72
  197. package/playground/src/BottomSheet.tsx +0 -43
  198. package/playground/src/Button.tsx +0 -170
  199. package/playground/src/Card.tsx +0 -342
  200. package/playground/src/Checkbox.tsx +0 -55
  201. package/playground/src/Collapse.tsx +0 -99
  202. package/playground/src/ContentNavigator.tsx +0 -58
  203. package/playground/src/Divider.tsx +0 -13
  204. package/playground/src/Drawer.tsx +0 -32
  205. package/playground/src/FAB.tsx +0 -66
  206. package/playground/src/Icon.tsx +0 -144
  207. package/playground/src/IconButton.tsx +0 -78
  208. package/playground/src/MultipleThemes.tsx +0 -34
  209. package/playground/src/Progress.tsx +0 -95
  210. package/playground/src/Radio.tsx +0 -25
  211. package/playground/src/SectionHeading.tsx +0 -68
  212. package/playground/src/Select.tsx +0 -32
  213. package/playground/src/Spinner.tsx +0 -19
  214. package/playground/src/Switch.tsx +0 -80
  215. package/playground/src/Tabs.tsx +0 -136
  216. package/playground/src/Tag.tsx +0 -45
  217. package/playground/src/TextInput.tsx +0 -14
  218. package/playground/src/Toast.tsx +0 -114
  219. package/playground/src/Typography.tsx +0 -23
  220. package/playground/tsconfig.json +0 -21
  221. package/src/components/Select/MultiSelect/Footer.tsx +0 -15
@@ -0,0 +1,627 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`OptionList renders correctly 1`] = `
4
+ <View
5
+ style={
6
+ Array [
7
+ Object {
8
+ "padding": 16,
9
+ },
10
+ undefined,
11
+ ]
12
+ }
13
+ >
14
+ <View
15
+ accessible={true}
16
+ collapsable={false}
17
+ focusable={true}
18
+ nativeID="animatedComponent"
19
+ onClick={[Function]}
20
+ onResponderGrant={[Function]}
21
+ onResponderMove={[Function]}
22
+ onResponderRelease={[Function]}
23
+ onResponderTerminate={[Function]}
24
+ onResponderTerminationRequest={[Function]}
25
+ onStartShouldSetResponder={[Function]}
26
+ style={
27
+ Object {
28
+ "alignItems": "center",
29
+ "backgroundColor": "#f1e9fb",
30
+ "borderRadius": 4,
31
+ "flexDirection": "row",
32
+ "justifyContent": "space-between",
33
+ "opacity": 1,
34
+ "padding": 16,
35
+ }
36
+ }
37
+ >
38
+ <View
39
+ style={
40
+ Object {
41
+ "flex": 1,
42
+ }
43
+ }
44
+ >
45
+ <Text
46
+ style={
47
+ Array [
48
+ Object {
49
+ "color": "#292a2b",
50
+ "fontFamily": "BeVietnamPro-Regular",
51
+ "fontSize": 16,
52
+ "letterSpacing": 0.48,
53
+ "lineHeight": 24,
54
+ },
55
+ undefined,
56
+ ]
57
+ }
58
+ themeFontSize="large"
59
+ themeFontWeight="regular"
60
+ themeIntent="body"
61
+ >
62
+ A
63
+ </Text>
64
+ </View>
65
+ <HeroIcon
66
+ name="checkmark"
67
+ style={
68
+ Array [
69
+ Object {
70
+ "color": "#292a2b",
71
+ "fontSize": 20,
72
+ },
73
+ undefined,
74
+ ]
75
+ }
76
+ themeIntent="text"
77
+ themeSize="small"
78
+ />
79
+ </View>
80
+ <View
81
+ style={
82
+ Array [
83
+ Object {
84
+ "marginTop": 4,
85
+ },
86
+ undefined,
87
+ ]
88
+ }
89
+ />
90
+ <View
91
+ accessible={true}
92
+ collapsable={false}
93
+ focusable={true}
94
+ nativeID="animatedComponent"
95
+ onClick={[Function]}
96
+ onResponderGrant={[Function]}
97
+ onResponderMove={[Function]}
98
+ onResponderRelease={[Function]}
99
+ onResponderTerminate={[Function]}
100
+ onResponderTerminationRequest={[Function]}
101
+ onStartShouldSetResponder={[Function]}
102
+ style={
103
+ Object {
104
+ "alignItems": "center",
105
+ "backgroundColor": "#ffffff",
106
+ "borderRadius": 4,
107
+ "flexDirection": "row",
108
+ "justifyContent": "space-between",
109
+ "opacity": 1,
110
+ "padding": 16,
111
+ }
112
+ }
113
+ >
114
+ <View
115
+ style={
116
+ Object {
117
+ "flex": 1,
118
+ }
119
+ }
120
+ >
121
+ <Text
122
+ style={
123
+ Array [
124
+ Object {
125
+ "color": "#292a2b",
126
+ "fontFamily": "BeVietnamPro-Regular",
127
+ "fontSize": 16,
128
+ "letterSpacing": 0.48,
129
+ "lineHeight": 24,
130
+ },
131
+ undefined,
132
+ ]
133
+ }
134
+ themeFontSize="large"
135
+ themeFontWeight="regular"
136
+ themeIntent="body"
137
+ >
138
+ B
139
+ </Text>
140
+ </View>
141
+ </View>
142
+ <View
143
+ style={
144
+ Array [
145
+ Object {
146
+ "marginTop": 4,
147
+ },
148
+ undefined,
149
+ ]
150
+ }
151
+ />
152
+ <View
153
+ accessible={true}
154
+ collapsable={false}
155
+ focusable={true}
156
+ nativeID="animatedComponent"
157
+ onClick={[Function]}
158
+ onResponderGrant={[Function]}
159
+ onResponderMove={[Function]}
160
+ onResponderRelease={[Function]}
161
+ onResponderTerminate={[Function]}
162
+ onResponderTerminationRequest={[Function]}
163
+ onStartShouldSetResponder={[Function]}
164
+ style={
165
+ Object {
166
+ "alignItems": "center",
167
+ "backgroundColor": "#ffffff",
168
+ "borderRadius": 4,
169
+ "flexDirection": "row",
170
+ "justifyContent": "space-between",
171
+ "opacity": 1,
172
+ "padding": 16,
173
+ }
174
+ }
175
+ >
176
+ <View
177
+ style={
178
+ Object {
179
+ "flex": 1,
180
+ }
181
+ }
182
+ >
183
+ <Text
184
+ style={
185
+ Array [
186
+ Object {
187
+ "color": "#292a2b",
188
+ "fontFamily": "BeVietnamPro-Regular",
189
+ "fontSize": 16,
190
+ "letterSpacing": 0.48,
191
+ "lineHeight": 24,
192
+ },
193
+ undefined,
194
+ ]
195
+ }
196
+ themeFontSize="large"
197
+ themeFontWeight="regular"
198
+ themeIntent="body"
199
+ >
200
+ C
201
+ </Text>
202
+ </View>
203
+ </View>
204
+ </View>
205
+ `;
206
+
207
+ exports[`OptionList trigger onPress correctly on changing selection 1`] = `
208
+ <View
209
+ style={
210
+ Array [
211
+ Object {
212
+ "padding": 16,
213
+ },
214
+ undefined,
215
+ ]
216
+ }
217
+ >
218
+ <View
219
+ accessible={true}
220
+ collapsable={false}
221
+ focusable={true}
222
+ nativeID="animatedComponent"
223
+ onClick={[Function]}
224
+ onResponderGrant={[Function]}
225
+ onResponderMove={[Function]}
226
+ onResponderRelease={[Function]}
227
+ onResponderTerminate={[Function]}
228
+ onResponderTerminationRequest={[Function]}
229
+ onStartShouldSetResponder={[Function]}
230
+ style={
231
+ Object {
232
+ "alignItems": "center",
233
+ "backgroundColor": "#f1e9fb",
234
+ "borderRadius": 4,
235
+ "flexDirection": "row",
236
+ "justifyContent": "space-between",
237
+ "opacity": 1,
238
+ "padding": 16,
239
+ }
240
+ }
241
+ >
242
+ <View
243
+ style={
244
+ Object {
245
+ "flex": 1,
246
+ }
247
+ }
248
+ >
249
+ <Text
250
+ style={
251
+ Array [
252
+ Object {
253
+ "color": "#292a2b",
254
+ "fontFamily": "BeVietnamPro-Regular",
255
+ "fontSize": 16,
256
+ "letterSpacing": 0.48,
257
+ "lineHeight": 24,
258
+ },
259
+ undefined,
260
+ ]
261
+ }
262
+ themeFontSize="large"
263
+ themeFontWeight="regular"
264
+ themeIntent="body"
265
+ >
266
+ A
267
+ </Text>
268
+ </View>
269
+ <HeroIcon
270
+ name="checkmark"
271
+ style={
272
+ Array [
273
+ Object {
274
+ "color": "#292a2b",
275
+ "fontSize": 20,
276
+ },
277
+ undefined,
278
+ ]
279
+ }
280
+ themeIntent="text"
281
+ themeSize="small"
282
+ />
283
+ </View>
284
+ <View
285
+ style={
286
+ Array [
287
+ Object {
288
+ "marginTop": 4,
289
+ },
290
+ undefined,
291
+ ]
292
+ }
293
+ />
294
+ <View
295
+ accessible={true}
296
+ collapsable={false}
297
+ focusable={true}
298
+ nativeID="animatedComponent"
299
+ onClick={[Function]}
300
+ onResponderGrant={[Function]}
301
+ onResponderMove={[Function]}
302
+ onResponderRelease={[Function]}
303
+ onResponderTerminate={[Function]}
304
+ onResponderTerminationRequest={[Function]}
305
+ onStartShouldSetResponder={[Function]}
306
+ style={
307
+ Object {
308
+ "alignItems": "center",
309
+ "backgroundColor": "#f1e9fb",
310
+ "borderRadius": 4,
311
+ "flexDirection": "row",
312
+ "justifyContent": "space-between",
313
+ "opacity": 1,
314
+ "padding": 16,
315
+ }
316
+ }
317
+ >
318
+ <View
319
+ style={
320
+ Object {
321
+ "flex": 1,
322
+ }
323
+ }
324
+ >
325
+ <Text
326
+ style={
327
+ Array [
328
+ Object {
329
+ "color": "#292a2b",
330
+ "fontFamily": "BeVietnamPro-Regular",
331
+ "fontSize": 16,
332
+ "letterSpacing": 0.48,
333
+ "lineHeight": 24,
334
+ },
335
+ undefined,
336
+ ]
337
+ }
338
+ themeFontSize="large"
339
+ themeFontWeight="regular"
340
+ themeIntent="body"
341
+ >
342
+ B
343
+ </Text>
344
+ </View>
345
+ <HeroIcon
346
+ name="checkmark"
347
+ style={
348
+ Array [
349
+ Object {
350
+ "color": "#292a2b",
351
+ "fontSize": 20,
352
+ },
353
+ undefined,
354
+ ]
355
+ }
356
+ themeIntent="text"
357
+ themeSize="small"
358
+ />
359
+ </View>
360
+ <View
361
+ style={
362
+ Array [
363
+ Object {
364
+ "marginTop": 4,
365
+ },
366
+ undefined,
367
+ ]
368
+ }
369
+ />
370
+ <View
371
+ accessible={true}
372
+ collapsable={false}
373
+ focusable={true}
374
+ nativeID="animatedComponent"
375
+ onClick={[Function]}
376
+ onResponderGrant={[Function]}
377
+ onResponderMove={[Function]}
378
+ onResponderRelease={[Function]}
379
+ onResponderTerminate={[Function]}
380
+ onResponderTerminationRequest={[Function]}
381
+ onStartShouldSetResponder={[Function]}
382
+ style={
383
+ Object {
384
+ "alignItems": "center",
385
+ "backgroundColor": "#ffffff",
386
+ "borderRadius": 4,
387
+ "flexDirection": "row",
388
+ "justifyContent": "space-between",
389
+ "opacity": 1,
390
+ "padding": 16,
391
+ }
392
+ }
393
+ >
394
+ <View
395
+ style={
396
+ Object {
397
+ "flex": 1,
398
+ }
399
+ }
400
+ >
401
+ <Text
402
+ style={
403
+ Array [
404
+ Object {
405
+ "color": "#292a2b",
406
+ "fontFamily": "BeVietnamPro-Regular",
407
+ "fontSize": 16,
408
+ "letterSpacing": 0.48,
409
+ "lineHeight": 24,
410
+ },
411
+ undefined,
412
+ ]
413
+ }
414
+ themeFontSize="large"
415
+ themeFontWeight="regular"
416
+ themeIntent="body"
417
+ >
418
+ C
419
+ </Text>
420
+ </View>
421
+ </View>
422
+ </View>
423
+ `;
424
+
425
+ exports[`OptionList trigger onPress correctly on select additional value 1`] = `
426
+ <View
427
+ style={
428
+ Array [
429
+ Object {
430
+ "padding": 16,
431
+ },
432
+ undefined,
433
+ ]
434
+ }
435
+ >
436
+ <View
437
+ accessible={true}
438
+ collapsable={false}
439
+ focusable={true}
440
+ nativeID="animatedComponent"
441
+ onClick={[Function]}
442
+ onResponderGrant={[Function]}
443
+ onResponderMove={[Function]}
444
+ onResponderRelease={[Function]}
445
+ onResponderTerminate={[Function]}
446
+ onResponderTerminationRequest={[Function]}
447
+ onStartShouldSetResponder={[Function]}
448
+ style={
449
+ Object {
450
+ "alignItems": "center",
451
+ "backgroundColor": "#f1e9fb",
452
+ "borderRadius": 4,
453
+ "flexDirection": "row",
454
+ "justifyContent": "space-between",
455
+ "opacity": 1,
456
+ "padding": 16,
457
+ }
458
+ }
459
+ >
460
+ <View
461
+ style={
462
+ Object {
463
+ "flex": 1,
464
+ }
465
+ }
466
+ >
467
+ <Text
468
+ style={
469
+ Array [
470
+ Object {
471
+ "color": "#292a2b",
472
+ "fontFamily": "BeVietnamPro-Regular",
473
+ "fontSize": 16,
474
+ "letterSpacing": 0.48,
475
+ "lineHeight": 24,
476
+ },
477
+ undefined,
478
+ ]
479
+ }
480
+ themeFontSize="large"
481
+ themeFontWeight="regular"
482
+ themeIntent="body"
483
+ >
484
+ A
485
+ </Text>
486
+ </View>
487
+ <HeroIcon
488
+ name="checkmark"
489
+ style={
490
+ Array [
491
+ Object {
492
+ "color": "#292a2b",
493
+ "fontSize": 20,
494
+ },
495
+ undefined,
496
+ ]
497
+ }
498
+ themeIntent="text"
499
+ themeSize="small"
500
+ />
501
+ </View>
502
+ <View
503
+ style={
504
+ Array [
505
+ Object {
506
+ "marginTop": 4,
507
+ },
508
+ undefined,
509
+ ]
510
+ }
511
+ />
512
+ <View
513
+ accessible={true}
514
+ collapsable={false}
515
+ focusable={true}
516
+ nativeID="animatedComponent"
517
+ onClick={[Function]}
518
+ onResponderGrant={[Function]}
519
+ onResponderMove={[Function]}
520
+ onResponderRelease={[Function]}
521
+ onResponderTerminate={[Function]}
522
+ onResponderTerminationRequest={[Function]}
523
+ onStartShouldSetResponder={[Function]}
524
+ style={
525
+ Object {
526
+ "alignItems": "center",
527
+ "backgroundColor": "#ffffff",
528
+ "borderRadius": 4,
529
+ "flexDirection": "row",
530
+ "justifyContent": "space-between",
531
+ "opacity": 1,
532
+ "padding": 16,
533
+ }
534
+ }
535
+ >
536
+ <View
537
+ style={
538
+ Object {
539
+ "flex": 1,
540
+ }
541
+ }
542
+ >
543
+ <Text
544
+ style={
545
+ Array [
546
+ Object {
547
+ "color": "#292a2b",
548
+ "fontFamily": "BeVietnamPro-Regular",
549
+ "fontSize": 16,
550
+ "letterSpacing": 0.48,
551
+ "lineHeight": 24,
552
+ },
553
+ undefined,
554
+ ]
555
+ }
556
+ themeFontSize="large"
557
+ themeFontWeight="regular"
558
+ themeIntent="body"
559
+ >
560
+ B
561
+ </Text>
562
+ </View>
563
+ </View>
564
+ <View
565
+ style={
566
+ Array [
567
+ Object {
568
+ "marginTop": 4,
569
+ },
570
+ undefined,
571
+ ]
572
+ }
573
+ />
574
+ <View
575
+ accessible={true}
576
+ collapsable={false}
577
+ focusable={true}
578
+ nativeID="animatedComponent"
579
+ onClick={[Function]}
580
+ onResponderGrant={[Function]}
581
+ onResponderMove={[Function]}
582
+ onResponderRelease={[Function]}
583
+ onResponderTerminate={[Function]}
584
+ onResponderTerminationRequest={[Function]}
585
+ onStartShouldSetResponder={[Function]}
586
+ style={
587
+ Object {
588
+ "alignItems": "center",
589
+ "backgroundColor": "#ffffff",
590
+ "borderRadius": 4,
591
+ "flexDirection": "row",
592
+ "justifyContent": "space-between",
593
+ "opacity": 1,
594
+ "padding": 16,
595
+ }
596
+ }
597
+ >
598
+ <View
599
+ style={
600
+ Object {
601
+ "flex": 1,
602
+ }
603
+ }
604
+ >
605
+ <Text
606
+ style={
607
+ Array [
608
+ Object {
609
+ "color": "#292a2b",
610
+ "fontFamily": "BeVietnamPro-Regular",
611
+ "fontSize": 16,
612
+ "letterSpacing": 0.48,
613
+ "lineHeight": 24,
614
+ },
615
+ undefined,
616
+ ]
617
+ }
618
+ themeFontSize="large"
619
+ themeFontWeight="regular"
620
+ themeIntent="body"
621
+ >
622
+ C
623
+ </Text>
624
+ </View>
625
+ </View>
626
+ </View>
627
+ `;
@@ -21,7 +21,7 @@ describe('rendering', () => {
21
21
  footerLabel="Confirm"
22
22
  options={options}
23
23
  value={['mon', 'tue']}
24
- onPress={jest.fn()}
24
+ onConfirm={jest.fn()}
25
25
  />
26
26
  );
27
27
 
@@ -37,7 +37,7 @@ describe('rendering', () => {
37
37
  footerLabel="Confirm"
38
38
  options={options}
39
39
  value={['mon', 'tue']}
40
- onPress={jest.fn()}
40
+ onConfirm={jest.fn()}
41
41
  />
42
42
  );
43
43
  fireEvent.press(getByTestId('text-input'));
@@ -56,7 +56,7 @@ describe('rendering', () => {
56
56
  });
57
57
 
58
58
  describe('behavior', () => {
59
- it('calls onPress when pressing footer of bottom sheet', () => {
59
+ it('calls onConfirm when pressing footer of bottom sheet', () => {
60
60
  const onPress = jest.fn();
61
61
  const { getByText, getByTestId } = renderWithTheme(
62
62
  <MultiSelect
@@ -64,7 +64,7 @@ describe('behavior', () => {
64
64
  footerLabel="Confirm"
65
65
  options={options}
66
66
  value={['mon', 'tue']}
67
- onPress={onPress}
67
+ onConfirm={onPress}
68
68
  testID="multi-select"
69
69
  />
70
70
  );
@@ -74,7 +74,7 @@ describe('behavior', () => {
74
74
  expect(onPress).toBeCalledTimes(1);
75
75
  });
76
76
 
77
- it('does NOT call onPress when pressing closing button of bottom sheet', () => {
77
+ it('does NOT call onConfirm when pressing closing button of bottom sheet', () => {
78
78
  const onPress = jest.fn();
79
79
  const { getByTestId } = renderWithTheme(
80
80
  <MultiSelect
@@ -82,7 +82,7 @@ describe('behavior', () => {
82
82
  footerLabel="Confirm"
83
83
  options={options}
84
84
  value={['mon', 'tue']}
85
- onPress={onPress}
85
+ onConfirm={onPress}
86
86
  testID="multi-select"
87
87
  />
88
88
  );
@@ -1,11 +1,12 @@
1
1
  import { useTheme } from '@emotion/react';
2
2
  import React, { useState } from 'react';
3
3
  import { StyleProp, ViewStyle, TouchableOpacity } from 'react-native';
4
+
5
+ import { OptionType } from '../types';
4
6
  import BottomSheet from '../../BottomSheet';
5
- import TextInput from '../../TextInput';
6
- import Footer from './Footer';
7
+ import Footer from '../Footer';
7
8
  import OptionList from './OptionList';
8
- import { OptionType } from './types';
9
+ import TextInput from '../../TextInput';
9
10
 
10
11
  export interface MultiSelectProps<T> {
11
12
  /**
@@ -17,9 +18,9 @@ export interface MultiSelectProps<T> {
17
18
  */
18
19
  value: T[];
19
20
  /**
20
- * onPress event handler.
21
+ * event handler for footer button.
21
22
  */
22
- onPress: (value: T[]) => void;
23
+ onConfirm: (value: T[]) => void;
23
24
  /**
24
25
  * Field label.
25
26
  */
@@ -50,7 +51,7 @@ function MultiSelect<T>({
50
51
  style,
51
52
  label,
52
53
  footerLabel,
53
- onPress,
54
+ onConfirm,
54
55
  }: MultiSelectProps<T>) {
55
56
  const theme = useTheme();
56
57
  const [open, setOpen] = useState(false);
@@ -85,7 +86,7 @@ function MultiSelect<T>({
85
86
  label={footerLabel}
86
87
  onPress={() => {
87
88
  setOpen(false);
88
- onPress(selectingValue);
89
+ onConfirm(selectingValue);
89
90
  }}
90
91
  />
91
92
  }