@hero-design/rn 8.42.4 → 8.43.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 (50) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/assets/fonts/hero-icons-mobile.ttf +0 -0
  4. package/es/index.js +670 -499
  5. package/lib/assets/fonts/hero-icons-mobile.ttf +0 -0
  6. package/lib/index.js +1109 -937
  7. package/package.json +1 -1
  8. package/src/components/BottomSheet/__tests__/__snapshots__/index.spec.tsx.snap +197 -211
  9. package/src/components/BottomSheet/index.tsx +1 -1
  10. package/src/components/Button/LoadingIndicator/StyledLoadingIndicator.tsx +6 -10
  11. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/StyledLoadingIndicator.spec.tsx.snap +0 -20
  12. package/src/components/Button/LoadingIndicator/__tests__/__snapshots__/index.spec.tsx.snap +0 -70
  13. package/src/components/Button/StyledButton.tsx +4 -0
  14. package/src/components/Button/__tests__/__snapshots__/Button.spec.tsx.snap +16 -42
  15. package/src/components/Button/__tests__/__snapshots__/StyledButton.spec.tsx.snap +10 -0
  16. package/src/components/Carousel/__tests__/__snapshots__/index.spec.tsx.snap +3 -0
  17. package/src/components/Carousel/__tests__/index.spec.tsx +8 -10
  18. package/src/components/Chip/StyledChip.tsx +121 -0
  19. package/src/components/Chip/__tests__/__snapshots__/index.spec.tsx.snap +943 -0
  20. package/src/components/Chip/__tests__/index.spec.tsx +136 -0
  21. package/src/components/Chip/index.tsx +82 -0
  22. package/src/components/DatePicker/__tests__/__snapshots__/DatePicker.spec.tsx.snap +12 -0
  23. package/src/components/DatePicker/__tests__/__snapshots__/DatePickerIOS.spec.tsx.snap +417 -399
  24. package/src/components/Error/__tests__/index.spec.tsx +9 -6
  25. package/src/components/Icon/HeroIcon/glyphMap.json +1 -1
  26. package/src/components/Icon/IconList.ts +1 -0
  27. package/src/components/RichTextEditor/__tests__/RichTextEditor.spec.tsx +8 -10
  28. package/src/components/Select/MultiSelect/__tests__/__snapshots__/index.spec.tsx.snap +367 -451
  29. package/src/components/Select/MultiSelect/__tests__/index.spec.tsx +7 -10
  30. package/src/components/Select/SingleSelect/__tests__/__snapshots__/index.spec.tsx.snap +357 -419
  31. package/src/components/Success/__tests__/index.spec.tsx +9 -6
  32. package/src/components/Tabs/__tests__/SceneView.spec.tsx +19 -23
  33. package/src/components/TimePicker/__tests__/__snapshots__/TimePickerIOS.spec.tsx.snap +417 -399
  34. package/src/index.ts +2 -0
  35. package/src/testHelpers/renderWithTheme.tsx +1 -7
  36. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +38 -1
  37. package/src/theme/components/button.ts +0 -1
  38. package/src/theme/components/chip.ts +47 -0
  39. package/src/theme/getTheme.ts +3 -0
  40. package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +3 -3
  41. package/types/components/Chip/StyledChip.d.ts +31 -0
  42. package/types/components/Chip/index.d.ts +26 -0
  43. package/types/components/Icon/IconList.d.ts +1 -1
  44. package/types/components/Icon/index.d.ts +1 -1
  45. package/types/components/Icon/utils.d.ts +1 -1
  46. package/types/index.d.ts +2 -1
  47. package/types/theme/components/button.d.ts +0 -1
  48. package/types/theme/components/chip.d.ts +40 -0
  49. package/types/theme/getTheme.d.ts +2 -0
  50. package/.turbo/turbo-publish:npm.log +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hero-design/rn",
3
- "version": "8.42.4",
3
+ "version": "8.43.0",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -1,287 +1,273 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`BottomSheet renders correctly with BottomSheet.ScrollView 1`] = `null`;
3
+ exports[`BottomSheet renders correctly with BottomSheet.ScrollView 1`] = `
4
+ <Modal
5
+ hardwareAccelerated={false}
6
+ onRequestClose={[MockFunction]}
7
+ transparent={true}
8
+ visible={false}
9
+ />
10
+ `;
4
11
 
5
- exports[`BottomSheet renders correctly with close state 1`] = `null`;
12
+ exports[`BottomSheet renders correctly with close state 1`] = `
13
+ <Modal
14
+ hardwareAccelerated={false}
15
+ onRequestClose={[MockFunction]}
16
+ transparent={true}
17
+ visible={false}
18
+ />
19
+ `;
6
20
 
7
21
  exports[`BottomSheet renders correctly with open state 1`] = `
8
- [
22
+ <Modal
23
+ hardwareAccelerated={false}
24
+ onRequestClose={[MockFunction]}
25
+ transparent={true}
26
+ visible={true}
27
+ >
9
28
  <View
10
- collapsable={false}
29
+ pointerEvents="box-none"
11
30
  style={
12
- {
13
- "backgroundColor": "transparent",
14
- "bottom": 0,
15
- "left": 0,
16
- "opacity": 0.4,
17
- "position": "absolute",
18
- "right": 0,
19
- "top": 0,
20
- }
21
- }
22
- />,
23
- <View
24
- collapsable={false}
25
- style={
26
- {
27
- "bottom": 0,
28
- "left": 0,
29
- "opacity": 1,
30
- "position": "absolute",
31
- "right": 0,
32
- "top": 0,
33
- "transform": [
34
- {
35
- "translateY": 0,
36
- },
37
- ],
38
- }
31
+ [
32
+ {
33
+ "bottom": 0,
34
+ "flexDirection": "column-reverse",
35
+ "left": 0,
36
+ "position": "absolute",
37
+ "right": 0,
38
+ "top": 0,
39
+ },
40
+ undefined,
41
+ ]
39
42
  }
40
43
  >
41
44
  <View
42
- pointerEvents="box-none"
45
+ onLayout={[Function]}
43
46
  style={
44
47
  [
48
+ [
49
+ {
50
+ "flex": 1,
51
+ "flexDirection": "column-reverse",
52
+ },
53
+ undefined,
54
+ ],
45
55
  {
46
- "bottom": 0,
47
- "flexDirection": "column-reverse",
48
- "left": 0,
49
- "position": "absolute",
50
- "right": 0,
51
- "top": 0,
56
+ "paddingBottom": 0,
52
57
  },
53
- undefined,
54
58
  ]
55
59
  }
56
60
  >
57
61
  <View
58
- onLayout={[Function]}
62
+ accessible={true}
63
+ collapsable={false}
64
+ focusable={true}
65
+ onBlur={[Function]}
66
+ onClick={[Function]}
67
+ onFocus={[Function]}
68
+ onResponderGrant={[Function]}
69
+ onResponderMove={[Function]}
70
+ onResponderRelease={[Function]}
71
+ onResponderTerminate={[Function]}
72
+ onResponderTerminationRequest={[Function]}
73
+ onStartShouldSetResponder={[Function]}
59
74
  style={
60
- [
61
- [
75
+ {
76
+ "backgroundColor": "#000000",
77
+ "bottom": 0,
78
+ "left": 0,
79
+ "opacity": 0,
80
+ "position": "absolute",
81
+ "right": 0,
82
+ "top": 0,
83
+ }
84
+ }
85
+ />
86
+ <RCTSafeAreaView
87
+ collapsable={false}
88
+ emulateUnlessSupported={true}
89
+ style={
90
+ {
91
+ "backgroundColor": "#ffffff",
92
+ "borderTopLeftRadius": 16,
93
+ "borderTopRightRadius": 16,
94
+ "elevation": 10,
95
+ "maxHeight": "94%",
96
+ "shadowColor": "#001f23",
97
+ "shadowOffset": {
98
+ "height": 3,
99
+ "width": 0,
100
+ },
101
+ "shadowOpacity": 0.4,
102
+ "shadowRadius": 16,
103
+ "transform": [
62
104
  {
63
- "flex": 1,
64
- "flexDirection": "column-reverse",
105
+ "scaleY": 1,
106
+ },
107
+ {
108
+ "translateY": 1334,
65
109
  },
66
- undefined,
67
110
  ],
68
- {
69
- "paddingBottom": 0,
70
- },
71
- ]
111
+ "width": "100%",
112
+ }
72
113
  }
73
114
  >
74
115
  <View
75
- accessible={true}
76
- collapsable={false}
77
- focusable={true}
78
- onBlur={[Function]}
79
- onClick={[Function]}
80
- onFocus={[Function]}
81
- onResponderGrant={[Function]}
82
- onResponderMove={[Function]}
83
- onResponderRelease={[Function]}
84
- onResponderTerminate={[Function]}
85
- onResponderTerminationRequest={[Function]}
86
- onStartShouldSetResponder={[Function]}
87
116
  style={
88
- {
89
- "backgroundColor": "#000000",
90
- "bottom": 0,
91
- "left": 0,
92
- "opacity": 0,
93
- "position": "absolute",
94
- "right": 0,
95
- "top": 0,
96
- }
97
- }
98
- />
99
- <RCTSafeAreaView
100
- collapsable={false}
101
- emulateUnlessSupported={true}
102
- style={
103
- {
104
- "backgroundColor": "#ffffff",
105
- "borderTopLeftRadius": 16,
106
- "borderTopRightRadius": 16,
107
- "elevation": 10,
108
- "maxHeight": "94%",
109
- "shadowColor": "#001f23",
110
- "shadowOffset": {
111
- "height": 3,
112
- "width": 0,
117
+ [
118
+ {
119
+ "flexDirection": "row",
120
+ "paddingHorizontal": 16,
121
+ "paddingVertical": 8,
113
122
  },
114
- "shadowOpacity": 0.4,
115
- "shadowRadius": 16,
116
- "transform": [
117
- {
118
- "scaleY": 1,
119
- },
120
- {
121
- "translateY": 1334,
122
- },
123
- ],
124
- "width": "100%",
125
- }
123
+ undefined,
124
+ ]
126
125
  }
127
126
  >
128
127
  <View
129
128
  style={
130
129
  [
131
130
  {
132
- "flexDirection": "row",
133
- "paddingHorizontal": 16,
134
- "paddingVertical": 8,
131
+ "flex": 1,
132
+ "justifyContent": "center",
135
133
  },
136
134
  undefined,
137
135
  ]
138
136
  }
139
137
  >
140
- <View
138
+ <Text
139
+ allowFontScaling={false}
141
140
  style={
142
141
  [
143
142
  {
144
- "flex": 1,
145
- "justifyContent": "center",
143
+ "color": "#001f23",
144
+ "fontFamily": "BeVietnamPro-SemiBold",
145
+ "fontSize": 16,
146
+ "letterSpacing": 0.24,
147
+ "lineHeight": 24,
146
148
  },
147
149
  undefined,
148
150
  ]
149
151
  }
152
+ themeIntent="body"
153
+ themeTypeface="neutral"
154
+ themeVariant="regular-bold"
155
+ >
156
+ Title
157
+ </Text>
158
+ </View>
159
+ <View
160
+ style={
161
+ [
162
+ {
163
+ "alignItems": "center",
164
+ "height": 48,
165
+ "justifyContent": "center",
166
+ "marginLeft": 12,
167
+ "width": 48,
168
+ },
169
+ undefined,
170
+ ]
171
+ }
172
+ >
173
+ <View
174
+ accessible={true}
175
+ collapsable={false}
176
+ focusable={true}
177
+ onClick={[Function]}
178
+ onResponderGrant={[Function]}
179
+ onResponderMove={[Function]}
180
+ onResponderRelease={[Function]}
181
+ onResponderTerminate={[Function]}
182
+ onResponderTerminationRequest={[Function]}
183
+ onStartShouldSetResponder={[Function]}
184
+ style={
185
+ {
186
+ "opacity": 1,
187
+ }
188
+ }
189
+ testID="bottom-sheet-close-icon"
150
190
  >
151
- <Text
152
- allowFontScaling={false}
191
+ <HeroIcon
192
+ name="cancel"
153
193
  style={
154
194
  [
155
195
  {
156
196
  "color": "#001f23",
157
- "fontFamily": "BeVietnamPro-SemiBold",
158
197
  "fontSize": 16,
159
- "letterSpacing": 0.24,
160
- "lineHeight": 24,
161
198
  },
162
199
  undefined,
163
200
  ]
164
201
  }
165
- themeIntent="body"
166
- themeTypeface="neutral"
167
- themeVariant="regular-bold"
168
- >
169
- Title
170
- </Text>
202
+ themeIntent="text"
203
+ themeSize="xsmall"
204
+ />
171
205
  </View>
206
+ </View>
207
+ </View>
208
+ <Text>
209
+ Content
210
+ </Text>
211
+ <View>
212
+ <View
213
+ style={
214
+ [
215
+ {
216
+ "alignItems": "center",
217
+ "flexDirection": "row",
218
+ "justifyContent": "flex-end",
219
+ "paddingHorizontal": 12,
220
+ "paddingVertical": 2,
221
+ },
222
+ undefined,
223
+ ]
224
+ }
225
+ >
172
226
  <View
227
+ accessibilityRole="button"
228
+ accessible={true}
229
+ collapsable={false}
230
+ focusable={false}
231
+ onClick={[Function]}
232
+ onResponderGrant={[Function]}
233
+ onResponderMove={[Function]}
234
+ onResponderRelease={[Function]}
235
+ onResponderTerminate={[Function]}
236
+ onResponderTerminationRequest={[Function]}
237
+ onStartShouldSetResponder={[Function]}
173
238
  style={
174
- [
175
- {
176
- "alignItems": "center",
177
- "height": 48,
178
- "justifyContent": "center",
179
- "marginLeft": 12,
180
- "width": 48,
181
- },
182
- undefined,
183
- ]
239
+ {
240
+ "opacity": 1,
241
+ }
184
242
  }
185
243
  >
186
244
  <View
187
- accessible={true}
188
- collapsable={false}
189
- focusable={true}
190
- onClick={[Function]}
191
- onResponderGrant={[Function]}
192
- onResponderMove={[Function]}
193
- onResponderRelease={[Function]}
194
- onResponderTerminate={[Function]}
195
- onResponderTerminationRequest={[Function]}
196
- onStartShouldSetResponder={[Function]}
197
245
  style={
198
- {
199
- "opacity": 1,
200
- }
246
+ [
247
+ {},
248
+ ]
201
249
  }
202
- testID="bottom-sheet-close-icon"
203
250
  >
204
- <HeroIcon
205
- name="cancel"
251
+ <Text
206
252
  style={
207
253
  [
208
254
  {
209
- "color": "#001f23",
210
- "fontSize": 16,
255
+ "color": "#007AFF",
256
+ "fontSize": 18,
257
+ "margin": 8,
258
+ "textAlign": "center",
211
259
  },
212
- undefined,
213
- ]
214
- }
215
- themeIntent="text"
216
- themeSize="xsmall"
217
- />
218
- </View>
219
- </View>
220
- </View>
221
- <Text>
222
- Content
223
- </Text>
224
- <View>
225
- <View
226
- style={
227
- [
228
- {
229
- "alignItems": "center",
230
- "flexDirection": "row",
231
- "justifyContent": "flex-end",
232
- "paddingHorizontal": 12,
233
- "paddingVertical": 2,
234
- },
235
- undefined,
236
- ]
237
- }
238
- >
239
- <View
240
- accessibilityRole="button"
241
- accessible={true}
242
- collapsable={false}
243
- focusable={false}
244
- onClick={[Function]}
245
- onResponderGrant={[Function]}
246
- onResponderMove={[Function]}
247
- onResponderRelease={[Function]}
248
- onResponderTerminate={[Function]}
249
- onResponderTerminationRequest={[Function]}
250
- onStartShouldSetResponder={[Function]}
251
- style={
252
- {
253
- "opacity": 1,
254
- }
255
- }
256
- >
257
- <View
258
- style={
259
- [
260
- {},
261
260
  ]
262
261
  }
263
262
  >
264
- <Text
265
- style={
266
- [
267
- {
268
- "color": "#007AFF",
269
- "fontSize": 18,
270
- "margin": 8,
271
- "textAlign": "center",
272
- },
273
- ]
274
- }
275
- >
276
- Footer CTA
277
- </Text>
278
- </View>
263
+ Footer CTA
264
+ </Text>
279
265
  </View>
280
266
  </View>
281
267
  </View>
282
- </RCTSafeAreaView>
283
- </View>
268
+ </View>
269
+ </RCTSafeAreaView>
284
270
  </View>
285
- </View>,
286
- ]
271
+ </View>
272
+ </Modal>
287
273
  `;
@@ -6,6 +6,7 @@ import {
6
6
  Dimensions,
7
7
  Easing,
8
8
  KeyboardAvoidingViewProps,
9
+ Modal,
9
10
  Platform,
10
11
  } from 'react-native';
11
12
  import BottomSheetContext from './BottomSheetContext';
@@ -18,7 +19,6 @@ import {
18
19
  StyledWrapper,
19
20
  } from './StyledBottomSheet';
20
21
  import ScrollView from './ScrollView';
21
- import Modal from '../Modal';
22
22
 
23
23
  interface BottomSheetProps {
24
24
  /**
@@ -1,8 +1,8 @@
1
- import { View } from 'react-native';
2
- import styled from '@emotion/native';
3
- import type { ViewProps } from 'react-native';
4
1
  import type { ReactNativeStyle } from '@emotion/native';
2
+ import styled from '@emotion/native';
5
3
  import type { Theme } from '@emotion/react';
4
+ import type { ViewProps } from 'react-native';
5
+ import { View } from 'react-native';
6
6
 
7
7
  type Intent = 'primary' | 'secondary' | 'danger';
8
8
 
@@ -25,13 +25,11 @@ const genLoadingIndicatorStyles = (
25
25
  backgroundColor: theme.__hd__.button.colors[intent],
26
26
  });
27
27
 
28
- const StyledLoadingIndicatorWrapper = styled(View)<ViewProps>(({ theme }) => ({
28
+ const StyledLoadingIndicatorWrapper = styled(View)<ViewProps>({
29
29
  flexDirection: 'row',
30
30
  justifyContent: 'center',
31
31
  alignItems: 'center',
32
- paddingVertical:
33
- theme.__hd__.button.space.loadingIndicatorWrapperVerticalPadding,
34
- }));
32
+ });
35
33
 
36
34
  const StyledLoadingDot = styled(View)<{
37
35
  size?: number;
@@ -61,12 +59,10 @@ const StyledLoadingDot = styled(View)<{
61
59
  return {
62
60
  width: size,
63
61
  height: size,
64
- marginTop: theme.space.xsmall,
65
- marginBottom: theme.space.xsmall,
66
62
  marginHorizontal: theme.space.small,
67
63
  borderRadius: theme.space.small,
68
64
  ...themeStyling(),
69
65
  };
70
66
  });
71
67
 
72
- export { StyledLoadingIndicatorWrapper, StyledLoadingDot };
68
+ export { StyledLoadingDot, StyledLoadingIndicatorWrapper };
@@ -8,9 +8,7 @@ exports[`StyledLoadingIndicator has basic-transparent style 1`] = `
8
8
  "backgroundColor": "#ffffff",
9
9
  "borderRadius": 8,
10
10
  "height": 12,
11
- "marginBottom": 4,
12
11
  "marginHorizontal": 8,
13
- "marginTop": 4,
14
12
  "width": 12,
15
13
  },
16
14
  undefined,
@@ -28,9 +26,7 @@ exports[`StyledLoadingIndicator has filled-danger style 1`] = `
28
26
  "backgroundColor": "#ffffff",
29
27
  "borderRadius": 8,
30
28
  "height": 12,
31
- "marginBottom": 4,
32
29
  "marginHorizontal": 8,
33
- "marginTop": 4,
34
30
  "width": 12,
35
31
  },
36
32
  undefined,
@@ -48,9 +44,7 @@ exports[`StyledLoadingIndicator has filled-primary style 1`] = `
48
44
  "backgroundColor": "#ffffff",
49
45
  "borderRadius": 8,
50
46
  "height": 12,
51
- "marginBottom": 4,
52
47
  "marginHorizontal": 8,
53
- "marginTop": 4,
54
48
  "width": 12,
55
49
  },
56
50
  undefined,
@@ -68,9 +62,7 @@ exports[`StyledLoadingIndicator has filled-secondary style 1`] = `
68
62
  "backgroundColor": "#ffffff",
69
63
  "borderRadius": 8,
70
64
  "height": 12,
71
- "marginBottom": 4,
72
65
  "marginHorizontal": 8,
73
- "marginTop": 4,
74
66
  "width": 12,
75
67
  },
76
68
  undefined,
@@ -88,9 +80,7 @@ exports[`StyledLoadingIndicator has outlined-danger style 1`] = `
88
80
  "backgroundColor": "#cb300a",
89
81
  "borderRadius": 8,
90
82
  "height": 12,
91
- "marginBottom": 4,
92
83
  "marginHorizontal": 8,
93
- "marginTop": 4,
94
84
  "width": 12,
95
85
  },
96
86
  undefined,
@@ -108,9 +98,7 @@ exports[`StyledLoadingIndicator has outlined-primary style 1`] = `
108
98
  "backgroundColor": "#401960",
109
99
  "borderRadius": 8,
110
100
  "height": 12,
111
- "marginBottom": 4,
112
101
  "marginHorizontal": 8,
113
- "marginTop": 4,
114
102
  "width": 12,
115
103
  },
116
104
  undefined,
@@ -128,9 +116,7 @@ exports[`StyledLoadingIndicator has outlined-secondary style 1`] = `
128
116
  "backgroundColor": "#795e90",
129
117
  "borderRadius": 8,
130
118
  "height": 12,
131
- "marginBottom": 4,
132
119
  "marginHorizontal": 8,
133
- "marginTop": 4,
134
120
  "width": 12,
135
121
  },
136
122
  undefined,
@@ -148,9 +134,7 @@ exports[`StyledLoadingIndicator has text-danger style 1`] = `
148
134
  "backgroundColor": "#cb300a",
149
135
  "borderRadius": 8,
150
136
  "height": 12,
151
- "marginBottom": 4,
152
137
  "marginHorizontal": 8,
153
- "marginTop": 4,
154
138
  "width": 12,
155
139
  },
156
140
  undefined,
@@ -168,9 +152,7 @@ exports[`StyledLoadingIndicator has text-primary style 1`] = `
168
152
  "backgroundColor": "#795e90",
169
153
  "borderRadius": 8,
170
154
  "height": 12,
171
- "marginBottom": 4,
172
155
  "marginHorizontal": 8,
173
- "marginTop": 4,
174
156
  "width": 12,
175
157
  },
176
158
  undefined,
@@ -188,9 +170,7 @@ exports[`StyledLoadingIndicator has text-secondary style 1`] = `
188
170
  "backgroundColor": "#795e90",
189
171
  "borderRadius": 8,
190
172
  "height": 12,
191
- "marginBottom": 4,
192
173
  "marginHorizontal": 8,
193
- "marginTop": 4,
194
174
  "width": 12,
195
175
  },
196
176
  undefined,