@ornikar/bumper 2.7.2-canary.1768566928.e85c568dc49c9180e37b7aec8792b1e8d45968a6.0 → 2.8.1-canary.1768839311.501438316959a9593513e74c70cb87b0597f2db6.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 (114) hide show
  1. package/CHANGELOG.md +19 -4
  2. package/CLAUDE.md +45 -0
  3. package/dist/definitions/index.d.ts +2 -0
  4. package/dist/definitions/index.d.ts.map +1 -1
  5. package/dist/definitions/system/content/icon/Icon.d.ts +21 -0
  6. package/dist/definitions/system/content/icon/Icon.d.ts.map +1 -0
  7. package/dist/definitions/system/core/breakpoints/hooks/useCurrentBreakpointName.d.ts +1 -1
  8. package/dist/definitions/system/core/breakpoints/hooks/useCurrentBreakpointName.d.ts.map +1 -1
  9. package/dist/definitions/system/core/breakpoints/utils/breakpointsUtils.d.ts +1 -1
  10. package/dist/definitions/system/core/breakpoints/utils/breakpointsUtils.d.ts.map +1 -1
  11. package/dist/definitions/system/core/primitives/Pressable.d.ts +0 -9
  12. package/dist/definitions/system/core/primitives/Pressable.d.ts.map +1 -1
  13. package/dist/definitions/system/core/primitives/ScrollView/ScrollView.d.ts +3 -0
  14. package/dist/definitions/system/core/primitives/ScrollView/ScrollView.d.ts.map +1 -0
  15. package/dist/definitions/system/core/{breakpoints/constants.d.ts → tokens/breakpoints.d.ts} +1 -1
  16. package/dist/definitions/system/core/tokens/breakpoints.d.ts.map +1 -0
  17. package/dist/definitions/tamagui.config.d.ts +2 -28
  18. package/dist/definitions/tamagui.config.d.ts.map +1 -1
  19. package/dist/index-metro.es.android.js +43 -26
  20. package/dist/index-metro.es.android.js.map +1 -1
  21. package/dist/index-metro.es.ios.js +43 -26
  22. package/dist/index-metro.es.ios.js.map +1 -1
  23. package/dist/index-node-22.22.cjs.js +44 -26
  24. package/dist/index-node-22.22.cjs.js.map +1 -1
  25. package/dist/index-node-22.22.cjs.web.js +44 -26
  26. package/dist/index-node-22.22.cjs.web.js.map +1 -1
  27. package/dist/index-node-22.22.es.mjs +43 -26
  28. package/dist/index-node-22.22.es.mjs.map +1 -1
  29. package/dist/index-node-22.22.es.web.mjs +43 -26
  30. package/dist/index-node-22.22.es.web.mjs.map +1 -1
  31. package/dist/index.es.js +37 -20
  32. package/dist/index.es.js.map +1 -1
  33. package/dist/index.es.web.js +37 -20
  34. package/dist/index.es.web.js.map +1 -1
  35. package/dist/tsbuildinfo +1 -1
  36. package/package.json +5 -2
  37. package/src/index.ts +2 -0
  38. package/src/system/content/icon/Icon.features.stories.tsx +116 -0
  39. package/src/system/content/icon/Icon.stories.tsx +44 -0
  40. package/src/system/content/icon/Icon.tsx +53 -0
  41. package/src/system/content/icon/__snapshots__/Icon.features.stories.tsx.snap +569 -0
  42. package/src/system/content/icon/__snapshots__/Icon.stories.tsx.snap +29 -0
  43. package/src/system/content/icon/__snapshots_web__/Icon.features.stories.tsx.snap +309 -0
  44. package/src/system/content/icon/__snapshots_web__/Icon.stories.tsx.snap +33 -0
  45. package/src/system/content/typography/Typography.features.stories.tsx +156 -0
  46. package/src/system/content/typography/Typography.stories.tsx +72 -166
  47. package/src/system/content/typography/__snapshots__/Typography.features.stories.tsx.snap +826 -0
  48. package/src/system/content/typography/__snapshots__/Typography.stories.tsx.snap +10 -1990
  49. package/src/system/content/typography/__snapshots_web__/Typography.features.stories.tsx.snap +501 -0
  50. package/src/system/content/typography/__snapshots_web__/Typography.stories.tsx.snap +6 -807
  51. package/src/system/core/breakpoints/hooks/useBreakpointValue.test.ts +1 -1
  52. package/src/system/core/breakpoints/hooks/useCurrentBreakpointName.test.ts +1 -1
  53. package/src/system/core/breakpoints/hooks/useCurrentBreakpointName.ts +1 -1
  54. package/src/system/core/breakpoints/utils/breakpointsUtils.test.ts +1 -1
  55. package/src/system/core/breakpoints/utils/breakpointsUtils.ts +1 -1
  56. package/src/system/core/primitives/Center.features.stories.tsx +63 -0
  57. package/src/system/core/primitives/Center.stories.tsx +111 -12
  58. package/src/system/core/primitives/Pressable.features.stories.tsx +171 -0
  59. package/src/system/core/primitives/Pressable.stories.tsx +82 -20
  60. package/src/system/core/primitives/Pressable.tsx +0 -9
  61. package/src/system/core/primitives/ScrollView/ScrollView.features.stories.tsx +84 -0
  62. package/src/system/core/primitives/ScrollView/ScrollView.stories.tsx +63 -0
  63. package/src/system/core/primitives/ScrollView/ScrollView.ts +2 -0
  64. package/src/system/core/primitives/ScrollView/__snapshots__/ScrollView.features.stories.tsx.snap +1245 -0
  65. package/src/system/core/primitives/ScrollView/__snapshots__/ScrollView.stories.tsx.snap +334 -0
  66. package/src/system/core/primitives/ScrollView/__snapshots_web__/ScrollView.features.stories.tsx.snap +503 -0
  67. package/src/system/core/primitives/ScrollView/__snapshots_web__/ScrollView.stories.tsx.snap +138 -0
  68. package/src/system/core/primitives/Stack.features.stories.tsx +179 -0
  69. package/src/system/core/primitives/Stack.stories.tsx +74 -44
  70. package/src/system/core/primitives/View.features.stories.tsx +452 -0
  71. package/src/system/core/primitives/View.stories.tsx +122 -9
  72. package/src/system/core/primitives/__snapshots__/Center.features.stories.tsx.snap +208 -0
  73. package/src/system/core/primitives/__snapshots__/Center.stories.tsx.snap +13 -8
  74. package/src/system/core/primitives/__snapshots__/Pressable.features.stories.tsx.snap +470 -0
  75. package/src/system/core/primitives/__snapshots__/Pressable.stories.tsx.snap +11 -10
  76. package/src/system/core/primitives/__snapshots__/Stack.features.stories.tsx.snap +1234 -0
  77. package/src/system/core/primitives/__snapshots__/Stack.stories.tsx.snap +63 -84
  78. package/src/system/core/primitives/__snapshots__/View.features.stories.tsx.snap +2338 -0
  79. package/src/system/core/primitives/__snapshots__/View.stories.tsx.snap +6 -4
  80. package/src/system/core/primitives/__snapshots_web__/Center.features.stories.tsx.snap +107 -0
  81. package/src/system/core/primitives/__snapshots_web__/Center.stories.tsx.snap +8 -5
  82. package/src/system/core/primitives/__snapshots_web__/Pressable.features.stories.tsx.snap +193 -0
  83. package/src/system/core/primitives/__snapshots_web__/Pressable.stories.tsx.snap +4 -4
  84. package/src/system/core/primitives/__snapshots_web__/Stack.features.stories.tsx.snap +515 -0
  85. package/src/system/core/primitives/__snapshots_web__/Stack.stories.tsx.snap +29 -21
  86. package/src/system/core/primitives/__snapshots_web__/View.features.stories.tsx.snap +941 -0
  87. package/src/system/core/primitives/__snapshots_web__/View.stories.tsx.snap +2 -2
  88. package/src/system/core/themes/__snapshots__/light.stories.tsx.snap +3822 -2233
  89. package/src/system/core/themes/__snapshots_web__/light.stories.tsx.snap +1243 -991
  90. package/src/system/core/themes/light.stories.tsx +61 -28
  91. package/src/system/core/tokens/__snapshots__/breakpoints.stories.tsx.snap +423 -0
  92. package/src/system/core/tokens/__snapshots__/fonts.stories.tsx.snap +1635 -0
  93. package/src/system/core/tokens/__snapshots__/radius.stories.tsx.snap +383 -0
  94. package/src/system/core/tokens/__snapshots__/size.stories.tsx.snap +864 -0
  95. package/src/system/core/tokens/__snapshots__/space.stories.tsx.snap +945 -0
  96. package/src/system/core/tokens/__snapshots_web__/breakpoints.stories.tsx.snap +194 -0
  97. package/src/system/core/tokens/__snapshots_web__/fonts.stories.tsx.snap +729 -0
  98. package/src/system/core/tokens/__snapshots_web__/radius.stories.tsx.snap +174 -0
  99. package/src/system/core/tokens/__snapshots_web__/size.stories.tsx.snap +363 -0
  100. package/src/system/core/tokens/__snapshots_web__/space.stories.tsx.snap +396 -0
  101. package/src/system/core/tokens/breakpoints.stories.tsx +46 -0
  102. package/src/system/core/tokens/fonts.stories.tsx +39 -0
  103. package/src/system/core/tokens/palettes/__snapshots__/deepPurpleColorPalette.stories.tsx.snap +4337 -2747
  104. package/src/system/core/tokens/palettes/__snapshots_web__/deepPurpleColorPalette.stories.tsx.snap +1524 -1256
  105. package/src/system/core/tokens/palettes/deepPurpleColorPalette.stories.tsx +42 -28
  106. package/src/system/core/tokens/radius.stories.tsx +39 -0
  107. package/src/system/core/tokens/size.stories.tsx +39 -0
  108. package/src/system/core/tokens/space.stories.tsx +40 -0
  109. package/src/tamagui.config.ts +3 -3
  110. package/dist/definitions/system/core/breakpoints/constants.d.ts.map +0 -1
  111. package/src/system/core/breakpoints/__snapshots__/breakpoints.stories.tsx.snap +0 -49
  112. package/src/system/core/breakpoints/__snapshots_web__/breakpoints.stories.tsx.snap +0 -43
  113. package/src/system/core/breakpoints/breakpoints.stories.tsx +0 -45
  114. /package/src/system/core/{breakpoints/constants.ts → tokens/breakpoints.ts} +0 -0
@@ -1,38 +1,71 @@
1
- import type { Meta, StoryFn } from '@storybook/react';
2
- import type { GetThemeValueForKey } from '@tamagui/core';
3
- import { StorySection } from '../../../shared/storybook/StorySection';
1
+ import type { Meta, StoryObj } from '@storybook/react';
4
2
  import { Typography } from '../../content/typography/Typography';
5
- import { VStack } from '../primitives/Stack';
3
+ import { HStack, VStack } from '../primitives/Stack';
4
+ import type { ViewProps } from '../primitives/View';
6
5
  import { View } from '../primitives/View';
7
6
  import { light } from './light';
8
7
 
9
- export default {
10
- title: 'bumper/Theme',
11
- component: View,
12
- } satisfies Meta<typeof View>;
8
+ const ThemeTokenRow = ({ tokenName, colorValue }: { tokenName: string; colorValue: string }): React.ReactNode => {
9
+ const isLightColor =
10
+ colorValue.toLowerCase() === '#ffffff' ||
11
+ colorValue.toLowerCase().includes('ffffff') ||
12
+ colorValue.startsWith('#f') ||
13
+ colorValue.startsWith('#e') ||
14
+ colorValue.startsWith('#d') ||
15
+ colorValue.startsWith('#c') ||
16
+ colorValue.startsWith('#b');
13
17
 
14
- const TokenView = ({ tokenName, tokenValue }: { tokenName: string; tokenValue: string }) => {
15
18
  return (
16
- <VStack
17
- key={tokenName}
18
- paddingVertical="$space.8"
19
- borderBottomWidth={2}
20
- borderBottomColor="$border.base.mid"
21
- backgroundColor={tokenName.includes('onContrasted') ? '$bg.accent.default' : '$bg.base.low.default'}
22
- >
23
- <Typography.Text>{tokenName}</Typography.Text>
24
- <Typography.Text>{tokenValue}</Typography.Text>
25
- <View backgroundColor={tokenValue as GetThemeValueForKey<'backgroundColor'>} width="$size.20" height="$size.20" />
26
- </VStack>
19
+ <HStack gap="$space.16" alignItems="center">
20
+ <View
21
+ width="$size.48"
22
+ height="$size.48"
23
+ borderRadius="$radius.m"
24
+ backgroundColor={colorValue as ViewProps['backgroundColor']}
25
+ borderWidth={1}
26
+ borderColor="$border.base.low"
27
+ alignItems="center"
28
+ justifyContent="center"
29
+ >
30
+ {tokenName.includes('onContrasted') && (
31
+ <View
32
+ width="$size.24"
33
+ height="$size.24"
34
+ borderRadius="$radius.s"
35
+ backgroundColor={isLightColor ? '$bg.accent.default' : '$bg.base.low.default'}
36
+ />
37
+ )}
38
+ </View>
39
+ <View width={280}>
40
+ <Typography.Text variant="body-s" weight="bold">
41
+ ${tokenName}
42
+ </Typography.Text>
43
+ </View>
44
+ <Typography.Text variant="body-s" color="$content.base.mid">
45
+ {colorValue}
46
+ </Typography.Text>
47
+ </HStack>
27
48
  );
28
49
  };
29
50
 
30
- export const TypographyHeadingStory: StoryFn<typeof View> = () => (
31
- <StorySection title="Tokens">
32
- {Object.entries(light).map(([tokenName, tokenValue]) => (
33
- <TokenView key={tokenName} tokenName={tokenName} tokenValue={tokenValue} />
34
- ))}
35
- </StorySection>
36
- );
51
+ const meta: Meta = {
52
+ title: 'Bumper/Core/Themes',
53
+ };
54
+
55
+ export default meta;
56
+ type Story = StoryObj<typeof meta>;
37
57
 
38
- TypographyHeadingStory.storyName = 'Light';
58
+ export const Light: Story = {
59
+ render: () => (
60
+ <VStack gap="$space.24">
61
+ <Typography.Text variant="body-m" color="$content.base.mid">
62
+ The complete set of semantic color tokens for the light theme.
63
+ </Typography.Text>
64
+ <VStack gap="$space.8">
65
+ {Object.entries(light).map(([tokenName, colorValue]) => (
66
+ <ThemeTokenRow key={tokenName} tokenName={tokenName} colorValue={colorValue} />
67
+ ))}
68
+ </VStack>
69
+ </VStack>
70
+ ),
71
+ };
@@ -0,0 +1,423 @@
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
+
3
+ exports[`Bumper/Core/Tokens Breakpoints 1`] = `
4
+ <RNCSafeAreaProvider
5
+ onInsetsChange={[Function]}
6
+ style={
7
+ [
8
+ {
9
+ "flex": 1,
10
+ },
11
+ undefined,
12
+ ]
13
+ }
14
+ >
15
+ <View
16
+ style={
17
+ {
18
+ "flexDirection": "column",
19
+ "gap": 24,
20
+ }
21
+ }
22
+ >
23
+ <Text
24
+ style={
25
+ {
26
+ "color": "#505050",
27
+ "fontFamily": "GTStandard",
28
+ "fontSize": 16,
29
+ "letterSpacing": 0.3,
30
+ "lineHeight": 24,
31
+ }
32
+ }
33
+ suppressHighlighting={true}
34
+ >
35
+ Breakpoint tokens define the screen width thresholds for responsive design.
36
+ </Text>
37
+ <View
38
+ style={
39
+ {
40
+ "flexDirection": "column",
41
+ "gap": 8,
42
+ }
43
+ }
44
+ >
45
+ <View
46
+ style={
47
+ {
48
+ "alignItems": "center",
49
+ "flexDirection": "row",
50
+ "gap": 16,
51
+ }
52
+ }
53
+ >
54
+ <View
55
+ style={
56
+ {
57
+ "width": 120,
58
+ }
59
+ }
60
+ >
61
+ <Text
62
+ style={
63
+ {
64
+ "fontFamily": "GTStandardBold",
65
+ "fontSize": 14,
66
+ "letterSpacing": 0.3,
67
+ "lineHeight": 20,
68
+ }
69
+ }
70
+ suppressHighlighting={true}
71
+ >
72
+ base
73
+ </Text>
74
+ </View>
75
+ <View
76
+ style={
77
+ {
78
+ "width": 80,
79
+ }
80
+ }
81
+ >
82
+ <Text
83
+ style={
84
+ {
85
+ "color": "#505050",
86
+ "fontFamily": "GTStandard",
87
+ "fontSize": 14,
88
+ "letterSpacing": 0.3,
89
+ "lineHeight": 20,
90
+ }
91
+ }
92
+ suppressHighlighting={true}
93
+ >
94
+ 0px
95
+ </Text>
96
+ </View>
97
+ <View
98
+ style={
99
+ {
100
+ "flexGrow": 1,
101
+ "maxWidth": 400,
102
+ }
103
+ }
104
+ >
105
+ <View
106
+ style={
107
+ {
108
+ "backgroundColor": "#563B56",
109
+ "borderBottomLeftRadius": 2,
110
+ "borderBottomRightRadius": 2,
111
+ "borderTopLeftRadius": 2,
112
+ "borderTopRightRadius": 2,
113
+ "height": 24,
114
+ "width": 10,
115
+ }
116
+ }
117
+ />
118
+ </View>
119
+ </View>
120
+ <View
121
+ style={
122
+ {
123
+ "alignItems": "center",
124
+ "flexDirection": "row",
125
+ "gap": 16,
126
+ }
127
+ }
128
+ >
129
+ <View
130
+ style={
131
+ {
132
+ "width": 120,
133
+ }
134
+ }
135
+ >
136
+ <Text
137
+ style={
138
+ {
139
+ "fontFamily": "GTStandardBold",
140
+ "fontSize": 14,
141
+ "letterSpacing": 0.3,
142
+ "lineHeight": 20,
143
+ }
144
+ }
145
+ suppressHighlighting={true}
146
+ >
147
+ small
148
+ </Text>
149
+ </View>
150
+ <View
151
+ style={
152
+ {
153
+ "width": 80,
154
+ }
155
+ }
156
+ >
157
+ <Text
158
+ style={
159
+ {
160
+ "color": "#505050",
161
+ "fontFamily": "GTStandard",
162
+ "fontSize": 14,
163
+ "letterSpacing": 0.3,
164
+ "lineHeight": 20,
165
+ }
166
+ }
167
+ suppressHighlighting={true}
168
+ >
169
+ &gt;= 480px
170
+ </Text>
171
+ </View>
172
+ <View
173
+ style={
174
+ {
175
+ "flexGrow": 1,
176
+ "maxWidth": 400,
177
+ }
178
+ }
179
+ >
180
+ <View
181
+ style={
182
+ {
183
+ "backgroundColor": "#563B56",
184
+ "borderBottomLeftRadius": 2,
185
+ "borderBottomRightRadius": 2,
186
+ "borderTopLeftRadius": 2,
187
+ "borderTopRightRadius": 2,
188
+ "height": 24,
189
+ "width": 47.5,
190
+ }
191
+ }
192
+ />
193
+ </View>
194
+ </View>
195
+ <View
196
+ style={
197
+ {
198
+ "alignItems": "center",
199
+ "flexDirection": "row",
200
+ "gap": 16,
201
+ }
202
+ }
203
+ >
204
+ <View
205
+ style={
206
+ {
207
+ "width": 120,
208
+ }
209
+ }
210
+ >
211
+ <Text
212
+ style={
213
+ {
214
+ "fontFamily": "GTStandardBold",
215
+ "fontSize": 14,
216
+ "letterSpacing": 0.3,
217
+ "lineHeight": 20,
218
+ }
219
+ }
220
+ suppressHighlighting={true}
221
+ >
222
+ medium
223
+ </Text>
224
+ </View>
225
+ <View
226
+ style={
227
+ {
228
+ "width": 80,
229
+ }
230
+ }
231
+ >
232
+ <Text
233
+ style={
234
+ {
235
+ "color": "#505050",
236
+ "fontFamily": "GTStandard",
237
+ "fontSize": 14,
238
+ "letterSpacing": 0.3,
239
+ "lineHeight": 20,
240
+ }
241
+ }
242
+ suppressHighlighting={true}
243
+ >
244
+ &gt;= 768px
245
+ </Text>
246
+ </View>
247
+ <View
248
+ style={
249
+ {
250
+ "flexGrow": 1,
251
+ "maxWidth": 400,
252
+ }
253
+ }
254
+ >
255
+ <View
256
+ style={
257
+ {
258
+ "backgroundColor": "#563B56",
259
+ "borderBottomLeftRadius": 2,
260
+ "borderBottomRightRadius": 2,
261
+ "borderTopLeftRadius": 2,
262
+ "borderTopRightRadius": 2,
263
+ "height": 24,
264
+ "width": 70,
265
+ }
266
+ }
267
+ />
268
+ </View>
269
+ </View>
270
+ <View
271
+ style={
272
+ {
273
+ "alignItems": "center",
274
+ "flexDirection": "row",
275
+ "gap": 16,
276
+ }
277
+ }
278
+ >
279
+ <View
280
+ style={
281
+ {
282
+ "width": 120,
283
+ }
284
+ }
285
+ >
286
+ <Text
287
+ style={
288
+ {
289
+ "fontFamily": "GTStandardBold",
290
+ "fontSize": 14,
291
+ "letterSpacing": 0.3,
292
+ "lineHeight": 20,
293
+ }
294
+ }
295
+ suppressHighlighting={true}
296
+ >
297
+ large
298
+ </Text>
299
+ </View>
300
+ <View
301
+ style={
302
+ {
303
+ "width": 80,
304
+ }
305
+ }
306
+ >
307
+ <Text
308
+ style={
309
+ {
310
+ "color": "#505050",
311
+ "fontFamily": "GTStandard",
312
+ "fontSize": 14,
313
+ "letterSpacing": 0.3,
314
+ "lineHeight": 20,
315
+ }
316
+ }
317
+ suppressHighlighting={true}
318
+ >
319
+ &gt;= 1024px
320
+ </Text>
321
+ </View>
322
+ <View
323
+ style={
324
+ {
325
+ "flexGrow": 1,
326
+ "maxWidth": 400,
327
+ }
328
+ }
329
+ >
330
+ <View
331
+ style={
332
+ {
333
+ "backgroundColor": "#563B56",
334
+ "borderBottomLeftRadius": 2,
335
+ "borderBottomRightRadius": 2,
336
+ "borderTopLeftRadius": 2,
337
+ "borderTopRightRadius": 2,
338
+ "height": 24,
339
+ "width": 90,
340
+ }
341
+ }
342
+ />
343
+ </View>
344
+ </View>
345
+ <View
346
+ style={
347
+ {
348
+ "alignItems": "center",
349
+ "flexDirection": "row",
350
+ "gap": 16,
351
+ }
352
+ }
353
+ >
354
+ <View
355
+ style={
356
+ {
357
+ "width": 120,
358
+ }
359
+ }
360
+ >
361
+ <Text
362
+ style={
363
+ {
364
+ "fontFamily": "GTStandardBold",
365
+ "fontSize": 14,
366
+ "letterSpacing": 0.3,
367
+ "lineHeight": 20,
368
+ }
369
+ }
370
+ suppressHighlighting={true}
371
+ >
372
+ wide
373
+ </Text>
374
+ </View>
375
+ <View
376
+ style={
377
+ {
378
+ "width": 80,
379
+ }
380
+ }
381
+ >
382
+ <Text
383
+ style={
384
+ {
385
+ "color": "#505050",
386
+ "fontFamily": "GTStandard",
387
+ "fontSize": 14,
388
+ "letterSpacing": 0.3,
389
+ "lineHeight": 20,
390
+ }
391
+ }
392
+ suppressHighlighting={true}
393
+ >
394
+ &gt;= 1280px
395
+ </Text>
396
+ </View>
397
+ <View
398
+ style={
399
+ {
400
+ "flexGrow": 1,
401
+ "maxWidth": 400,
402
+ }
403
+ }
404
+ >
405
+ <View
406
+ style={
407
+ {
408
+ "backgroundColor": "#563B56",
409
+ "borderBottomLeftRadius": 2,
410
+ "borderBottomRightRadius": 2,
411
+ "borderTopLeftRadius": 2,
412
+ "borderTopRightRadius": 2,
413
+ "height": 24,
414
+ "width": 100,
415
+ }
416
+ }
417
+ />
418
+ </View>
419
+ </View>
420
+ </View>
421
+ </View>
422
+ </RNCSafeAreaProvider>
423
+ `;