@hero-design/rn 8.12.5-alpha.1 → 8.13.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 (266) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/.turbo/turbo-publish:npm.log +0 -9
  3. package/es/index.js +286 -74
  4. package/lib/index.js +286 -73
  5. package/package.json +5 -5
  6. package/src/components/Error/StyledError.tsx +86 -0
  7. package/src/components/Error/__tests__/__snapshots__/index.spec.tsx.snap +343 -0
  8. package/src/components/Error/__tests__/index.spec.tsx +74 -0
  9. package/src/components/Error/index.tsx +215 -0
  10. package/src/components/Tabs/ScrollableTabs.tsx +167 -208
  11. package/src/components/Tabs/__tests__/ScrollableTabs.spec.tsx +11 -58
  12. package/src/index.ts +2 -0
  13. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +30 -0
  14. package/src/theme/components/error.ts +40 -0
  15. package/src/theme/getTheme.ts +3 -0
  16. package/src/types.ts +0 -2
  17. package/types/components/Accordion/AccordionItem.d.ts +0 -0
  18. package/types/components/Accordion/StyledAccordion.d.ts +0 -0
  19. package/types/components/Accordion/index.d.ts +0 -0
  20. package/types/components/Alert/StyledAlert.d.ts +0 -0
  21. package/types/components/Alert/index.d.ts +0 -0
  22. package/types/components/Attachment/StyledAttachment.d.ts +0 -0
  23. package/types/components/Attachment/index.d.ts +0 -0
  24. package/types/components/Avatar/Avatar.d.ts +0 -0
  25. package/types/components/Avatar/AvatarStack/StyledAvatarStack.d.ts +0 -0
  26. package/types/components/Avatar/AvatarStack/index.d.ts +0 -0
  27. package/types/components/Avatar/AvatarStack/utils.d.ts +0 -0
  28. package/types/components/Avatar/StyledAvatar.d.ts +0 -0
  29. package/types/components/Avatar/index.d.ts +0 -0
  30. package/types/components/Badge/Status.d.ts +0 -0
  31. package/types/components/Badge/StyledBadge.d.ts +0 -0
  32. package/types/components/Badge/index.d.ts +0 -0
  33. package/types/components/BottomNavigation/StyledBottomNavigation.d.ts +0 -0
  34. package/types/components/BottomNavigation/index.d.ts +0 -0
  35. package/types/components/BottomSheet/BottomSheetContext.d.ts +0 -0
  36. package/types/components/BottomSheet/Footer.d.ts +0 -0
  37. package/types/components/BottomSheet/Header.d.ts +0 -0
  38. package/types/components/BottomSheet/ScrollView.d.ts +0 -0
  39. package/types/components/BottomSheet/StyledBottomSheet.d.ts +0 -0
  40. package/types/components/BottomSheet/index.d.ts +0 -0
  41. package/types/components/Box/StyledBox.d.ts +0 -0
  42. package/types/components/Box/config.d.ts +0 -0
  43. package/types/components/Box/index.d.ts +0 -0
  44. package/types/components/Box/types.d.ts +0 -0
  45. package/types/components/Button/Button.d.ts +0 -0
  46. package/types/components/Button/IconButton.d.ts +0 -0
  47. package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +0 -0
  48. package/types/components/Button/LoadingIndicator/index.d.ts +0 -0
  49. package/types/components/Button/StyledButton.d.ts +0 -0
  50. package/types/components/Button/UtilityButton/StyledUtilityButton.d.ts +0 -0
  51. package/types/components/Button/UtilityButton/index.d.ts +0 -0
  52. package/types/components/Button/index.d.ts +0 -0
  53. package/types/components/Calendar/CalendarRowItem.d.ts +0 -0
  54. package/types/components/Calendar/StyledCalendar.d.ts +0 -0
  55. package/types/components/Calendar/helpers.d.ts +0 -0
  56. package/types/components/Calendar/index.d.ts +0 -0
  57. package/types/components/Card/DataCard/StyledDataCard.d.ts +0 -0
  58. package/types/components/Card/DataCard/index.d.ts +0 -0
  59. package/types/components/Card/StyledCard.d.ts +0 -0
  60. package/types/components/Card/index.d.ts +0 -0
  61. package/types/components/Carousel/CardCarousel.d.ts +0 -0
  62. package/types/components/Carousel/CarouselItem.d.ts +0 -0
  63. package/types/components/Carousel/StyledCardCarousel.d.ts +0 -0
  64. package/types/components/Carousel/StyledCarousel.d.ts +0 -0
  65. package/types/components/Carousel/contants.d.ts +0 -0
  66. package/types/components/Carousel/index.d.ts +0 -0
  67. package/types/components/Carousel/types.d.ts +0 -0
  68. package/types/components/Checkbox/StyledCheckbox.d.ts +0 -0
  69. package/types/components/Checkbox/index.d.ts +0 -0
  70. package/types/components/Collapse/StyledCollapse.d.ts +0 -0
  71. package/types/components/Collapse/index.d.ts +0 -0
  72. package/types/components/ContentNavigator/StyledContentNavigator.d.ts +0 -0
  73. package/types/components/ContentNavigator/index.d.ts +0 -0
  74. package/types/components/DatePicker/DatePickerAndroid.d.ts +0 -0
  75. package/types/components/DatePicker/DatePickerIOS.d.ts +0 -0
  76. package/types/components/DatePicker/StyledDatePicker.d.ts +0 -0
  77. package/types/components/DatePicker/index.d.ts +0 -0
  78. package/types/components/DatePicker/types.d.ts +0 -0
  79. package/types/components/Divider/StyledDivider.d.ts +0 -0
  80. package/types/components/Divider/index.d.ts +0 -0
  81. package/types/components/Drawer/DragableDrawer/helpers.d.ts +0 -0
  82. package/types/components/Drawer/DragableDrawer/index.d.ts +0 -0
  83. package/types/components/Drawer/StyledDrawer.d.ts +0 -0
  84. package/types/components/Drawer/index.d.ts +0 -0
  85. package/types/components/Empty/StyledEmpty.d.ts +0 -0
  86. package/types/components/Empty/index.d.ts +0 -0
  87. package/types/components/Error/StyledError.d.ts +54 -0
  88. package/types/components/Error/index.d.ts +55 -0
  89. package/types/components/FAB/ActionGroup/ActionItem.d.ts +0 -0
  90. package/types/components/FAB/ActionGroup/StyledActionGroup.d.ts +0 -0
  91. package/types/components/FAB/ActionGroup/StyledActionItem.d.ts +0 -0
  92. package/types/components/FAB/ActionGroup/index.d.ts +0 -0
  93. package/types/components/FAB/AnimatedFABIcon.d.ts +0 -0
  94. package/types/components/FAB/FAB.d.ts +0 -0
  95. package/types/components/FAB/StyledFAB.d.ts +0 -0
  96. package/types/components/FAB/index.d.ts +0 -0
  97. package/types/components/Icon/AnimatedIcon.d.ts +0 -0
  98. package/types/components/Icon/HeroIcon/index.d.ts +0 -0
  99. package/types/components/Icon/IconList.d.ts +0 -0
  100. package/types/components/Icon/index.d.ts +0 -0
  101. package/types/components/Icon/utils.d.ts +0 -0
  102. package/types/components/Image/index.d.ts +0 -0
  103. package/types/components/List/BasicListItem.d.ts +0 -0
  104. package/types/components/List/ListItem.d.ts +0 -0
  105. package/types/components/List/StyledBasicListItem.d.ts +0 -0
  106. package/types/components/List/StyledListItem.d.ts +0 -0
  107. package/types/components/List/index.d.ts +0 -0
  108. package/types/components/PageControl/StyledPageControl.d.ts +0 -0
  109. package/types/components/PageControl/index.d.ts +0 -0
  110. package/types/components/PinInput/PinCell.d.ts +0 -0
  111. package/types/components/PinInput/StyledPinInput.d.ts +0 -0
  112. package/types/components/PinInput/index.d.ts +0 -0
  113. package/types/components/Progress/ProgressBar.d.ts +0 -0
  114. package/types/components/Progress/ProgressCircle.d.ts +0 -0
  115. package/types/components/Progress/StyledProgressBar.d.ts +0 -0
  116. package/types/components/Progress/StyledProgressCircle.d.ts +0 -0
  117. package/types/components/Progress/__tests__/index.spec.d.ts +0 -0
  118. package/types/components/Progress/constants.d.ts +0 -0
  119. package/types/components/Progress/index.d.ts +0 -0
  120. package/types/components/Progress/types.d.ts +0 -0
  121. package/types/components/Radio/Radio.d.ts +0 -0
  122. package/types/components/Radio/RadioGroup.d.ts +0 -0
  123. package/types/components/Radio/StyledRadio.d.ts +0 -0
  124. package/types/components/Radio/index.d.ts +0 -0
  125. package/types/components/Radio/types.d.ts +0 -0
  126. package/types/components/RefreshControl/index.d.ts +0 -0
  127. package/types/components/RichTextEditor/EditorEvent.d.ts +0 -0
  128. package/types/components/RichTextEditor/EditorToolbar.d.ts +0 -0
  129. package/types/components/RichTextEditor/MentionList.d.ts +0 -0
  130. package/types/components/RichTextEditor/RichTextEditor.d.ts +0 -0
  131. package/types/components/RichTextEditor/StyledRichTextEditor.d.ts +0 -0
  132. package/types/components/RichTextEditor/StyledToolbar.d.ts +0 -0
  133. package/types/components/RichTextEditor/__mocks__/heroEditorApp.d.ts +0 -0
  134. package/types/components/RichTextEditor/constants.d.ts +0 -0
  135. package/types/components/RichTextEditor/heroEditorApp.d.ts +0 -0
  136. package/types/components/RichTextEditor/index.d.ts +0 -0
  137. package/types/components/RichTextEditor/types.d.ts +0 -0
  138. package/types/components/RichTextEditor/utils/events.d.ts +0 -0
  139. package/types/components/RichTextEditor/utils/rnWebView.d.ts +0 -0
  140. package/types/components/SectionHeading/StyledHeading.d.ts +0 -0
  141. package/types/components/SectionHeading/index.d.ts +0 -0
  142. package/types/components/Select/BaseOptionList.d.ts +0 -0
  143. package/types/components/Select/Footer.d.ts +0 -0
  144. package/types/components/Select/MultiSelect/Option.d.ts +0 -0
  145. package/types/components/Select/MultiSelect/OptionList.d.ts +0 -0
  146. package/types/components/Select/MultiSelect/index.d.ts +0 -0
  147. package/types/components/Select/SingleSelect/Option.d.ts +0 -0
  148. package/types/components/Select/SingleSelect/OptionList.d.ts +0 -0
  149. package/types/components/Select/SingleSelect/StyledSingleSelect.d.ts +0 -0
  150. package/types/components/Select/SingleSelect/index.d.ts +0 -0
  151. package/types/components/Select/StyledSelect.d.ts +0 -0
  152. package/types/components/Select/helpers.d.ts +0 -0
  153. package/types/components/Select/index.d.ts +0 -0
  154. package/types/components/Select/types.d.ts +0 -0
  155. package/types/components/Slider/index.d.ts +0 -0
  156. package/types/components/Spinner/AnimatedSpinner.d.ts +0 -0
  157. package/types/components/Spinner/StyledSpinner.d.ts +0 -0
  158. package/types/components/Spinner/index.d.ts +0 -0
  159. package/types/components/Swipeable/StyledSwipeable.d.ts +0 -0
  160. package/types/components/Swipeable/SwipeableAction.d.ts +0 -0
  161. package/types/components/Swipeable/index.d.ts +0 -0
  162. package/types/components/Switch/SelectorSwitch/Option.d.ts +0 -0
  163. package/types/components/Switch/SelectorSwitch/StyledSelectorSwitch.d.ts +0 -0
  164. package/types/components/Switch/SelectorSwitch/index.d.ts +0 -0
  165. package/types/components/Switch/StyledSwitch.d.ts +0 -0
  166. package/types/components/Switch/index.d.ts +0 -0
  167. package/types/components/Tabs/ActiveTabIndicator.d.ts +0 -0
  168. package/types/components/Tabs/ScrollableTabs.d.ts +1 -8
  169. package/types/components/Tabs/StyledScrollableTabs.d.ts +0 -0
  170. package/types/components/Tabs/StyledTabs.d.ts +0 -0
  171. package/types/components/Tabs/TabWithBadge.d.ts +0 -0
  172. package/types/components/Tabs/index.d.ts +1 -2
  173. package/types/components/Tabs/utils.d.ts +0 -0
  174. package/types/components/Tag/StyledTag.d.ts +0 -0
  175. package/types/components/Tag/index.d.ts +0 -0
  176. package/types/components/TextInput/StyledTextInput.d.ts +0 -0
  177. package/types/components/TextInput/index.d.ts +0 -0
  178. package/types/components/TimePicker/StyledTimePicker.d.ts +0 -0
  179. package/types/components/TimePicker/TimePickerAndroid.d.ts +0 -0
  180. package/types/components/TimePicker/TimePickerIOS.d.ts +0 -0
  181. package/types/components/TimePicker/index.d.ts +0 -0
  182. package/types/components/TimePicker/types.d.ts +0 -0
  183. package/types/components/Toast/StyledToast.d.ts +0 -0
  184. package/types/components/Toast/Toast.d.ts +0 -0
  185. package/types/components/Toast/ToastContainer.d.ts +0 -0
  186. package/types/components/Toast/ToastContext.d.ts +0 -0
  187. package/types/components/Toast/ToastProvider.d.ts +0 -0
  188. package/types/components/Toast/index.d.ts +0 -0
  189. package/types/components/Toast/types.d.ts +0 -0
  190. package/types/components/Toolbar/StyledToolbar.d.ts +0 -0
  191. package/types/components/Toolbar/ToolbarGroup.d.ts +0 -0
  192. package/types/components/Toolbar/ToolbarItem.d.ts +0 -0
  193. package/types/components/Toolbar/index.d.ts +0 -0
  194. package/types/components/Typography/Text/StyledText.d.ts +0 -0
  195. package/types/components/Typography/Text/index.d.ts +0 -0
  196. package/types/components/Typography/index.d.ts +0 -0
  197. package/types/index.d.ts +2 -1
  198. package/types/testHelpers/renderWithTheme.d.ts +0 -0
  199. package/types/theme/ThemeProvider.d.ts +0 -0
  200. package/types/theme/ThemeSwitcher.d.ts +0 -0
  201. package/types/theme/components/accordion.d.ts +0 -0
  202. package/types/theme/components/alert.d.ts +0 -0
  203. package/types/theme/components/attachment.d.ts +0 -0
  204. package/types/theme/components/avatar.d.ts +0 -0
  205. package/types/theme/components/badge.d.ts +0 -0
  206. package/types/theme/components/bottomNavigation.d.ts +0 -0
  207. package/types/theme/components/bottomSheet.d.ts +0 -0
  208. package/types/theme/components/button.d.ts +0 -0
  209. package/types/theme/components/calendar.d.ts +0 -0
  210. package/types/theme/components/card.d.ts +0 -0
  211. package/types/theme/components/cardCarousel.d.ts +0 -0
  212. package/types/theme/components/carousel.d.ts +0 -0
  213. package/types/theme/components/checkbox.d.ts +0 -0
  214. package/types/theme/components/contentNavigator.d.ts +0 -0
  215. package/types/theme/components/datePicker.d.ts +0 -0
  216. package/types/theme/components/divider.d.ts +0 -0
  217. package/types/theme/components/drawer.d.ts +0 -0
  218. package/types/theme/components/empty.d.ts +0 -0
  219. package/types/theme/components/error.d.ts +32 -0
  220. package/types/theme/components/fab.d.ts +0 -0
  221. package/types/theme/components/icon.d.ts +0 -0
  222. package/types/theme/components/image.d.ts +0 -0
  223. package/types/theme/components/list.d.ts +0 -0
  224. package/types/theme/components/pageControl.d.ts +0 -0
  225. package/types/theme/components/pinInput.d.ts +0 -0
  226. package/types/theme/components/progress.d.ts +0 -0
  227. package/types/theme/components/radio.d.ts +0 -0
  228. package/types/theme/components/refreshControl.d.ts +0 -0
  229. package/types/theme/components/richTextEditor.d.ts +0 -0
  230. package/types/theme/components/sectionHeading.d.ts +0 -0
  231. package/types/theme/components/select.d.ts +0 -0
  232. package/types/theme/components/slider.d.ts +0 -0
  233. package/types/theme/components/spinner.d.ts +0 -0
  234. package/types/theme/components/swipeable.d.ts +0 -0
  235. package/types/theme/components/switch.d.ts +0 -0
  236. package/types/theme/components/tabs.d.ts +0 -0
  237. package/types/theme/components/tag.d.ts +0 -0
  238. package/types/theme/components/textInput.d.ts +0 -0
  239. package/types/theme/components/timePicker.d.ts +0 -0
  240. package/types/theme/components/toast.d.ts +0 -0
  241. package/types/theme/components/toolbar.d.ts +0 -0
  242. package/types/theme/components/typography.d.ts +0 -0
  243. package/types/theme/getTheme.d.ts +2 -0
  244. package/types/theme/global/borders.d.ts +0 -0
  245. package/types/theme/global/colors/eBens.d.ts +0 -0
  246. package/types/theme/global/colors/global.d.ts +0 -0
  247. package/types/theme/global/colors/globalDark.d.ts +0 -0
  248. package/types/theme/global/colors/jobs.d.ts +0 -0
  249. package/types/theme/global/colors/swag.d.ts +0 -0
  250. package/types/theme/global/colors/swagDark.d.ts +0 -0
  251. package/types/theme/global/colors/types.d.ts +0 -0
  252. package/types/theme/global/colors/wallet.d.ts +0 -0
  253. package/types/theme/global/colors/work.d.ts +0 -0
  254. package/types/theme/global/index.d.ts +0 -0
  255. package/types/theme/global/scale.d.ts +0 -0
  256. package/types/theme/global/sizes.d.ts +0 -0
  257. package/types/theme/global/space.d.ts +0 -0
  258. package/types/theme/global/typography.d.ts +0 -0
  259. package/types/theme/index.d.ts +0 -0
  260. package/types/types.d.ts +1 -2
  261. package/types/utils/functions.d.ts +0 -0
  262. package/types/utils/helpers.d.ts +0 -0
  263. package/types/utils/hooks.d.ts +0 -0
  264. package/types/utils/scale.d.ts +0 -0
  265. package/.turbo/turbo-build:types.log +0 -2
  266. package/.turbo/turbo-lint.log +0 -149
@@ -1,24 +1,19 @@
1
1
  import React from 'react';
2
- import { FlatList, Text } from 'react-native';
3
- import { fireEvent, waitFor } from '@testing-library/react-native';
2
+ import { Text } from 'react-native';
3
+ import { fireEvent } from '@testing-library/react-native';
4
4
  import { SafeAreaProvider } from 'react-native-safe-area-context';
5
- import PagerView from 'react-native-pager-view';
5
+ import type { ComponentProps } from 'react';
6
6
  import renderWithTheme from '../../../testHelpers/renderWithTheme';
7
7
  import Tabs from '..';
8
8
  import Button from '../../Button';
9
9
  import type { TabType } from '..';
10
- import { ScrollableTabsProps, ScrollableTabsHandles } from '../ScrollableTabs';
11
10
 
12
- type TestTabsProps = Omit<
13
- ScrollableTabsProps,
14
- 'selectedTabKey' | 'onTabPress' | 'tabs'
15
- > & {
16
- onTabPress?: (tabKey: string) => void;
17
- };
18
- const TestTabsComponent = React.forwardRef<
19
- ScrollableTabsHandles,
20
- TestTabsProps
21
- >((props, ref) => {
11
+ const TestTabsComponent = (
12
+ props: Omit<
13
+ ComponentProps<typeof Tabs>,
14
+ 'selectedTabKey' | 'onTabPress' | 'tabs'
15
+ >
16
+ ) => {
22
17
  const [selectedTabKey, setSelectedTabKey] = React.useState('work');
23
18
  const tabs: TabType[] = [
24
19
  {
@@ -66,20 +61,14 @@ const TestTabsComponent = React.forwardRef<
66
61
  icon="sync"
67
62
  />
68
63
  <Tabs.Scroll
69
- ref={ref}
70
64
  {...props}
71
65
  tabs={tabs}
72
66
  selectedTabKey={selectedTabKey}
73
- onTabPress={(newTabKey) => {
74
- setSelectedTabKey(newTabKey);
75
- if (props.onTabPress) {
76
- props.onTabPress(newTabKey);
77
- }
78
- }}
67
+ onTabPress={(newTabKey) => setSelectedTabKey(newTabKey)}
79
68
  />
80
69
  </SafeAreaProvider>
81
70
  );
82
- });
71
+ };
83
72
 
84
73
  describe('Tabs.Scroll', () => {
85
74
  it('renders correctly', () => {
@@ -117,40 +106,4 @@ describe('Tabs.Scroll', () => {
117
106
  expect(getByText('Home Screen')).toBeDefined();
118
107
  expect(queryByText('Work Screen')).toBeNull();
119
108
  });
120
-
121
- describe('selectTabKey', () => {
122
- it('should render correctly', () => {
123
- const ref = React.createRef<
124
- ScrollableTabsHandles & {
125
- getFlatListRef: () => FlatList;
126
- getPagerViewRef: () => PagerView;
127
- }
128
- >();
129
- const onTabPressSpye = jest.fn();
130
- renderWithTheme(
131
- <TestTabsComponent
132
- ref={ref}
133
- lazy
134
- lazyPreloadDistance={1}
135
- onTabPress={onTabPressSpye}
136
- swipeEnabled={false}
137
- />
138
- );
139
-
140
- const flatListRef = ref.current!.getFlatListRef()!;
141
- const pagerViewRef = ref.current!.getPagerViewRef()!;
142
- const scrollToIndexSpy = jest.spyOn(flatListRef, 'scrollToIndex');
143
- const setPageSpy = jest.spyOn(pagerViewRef, 'setPage');
144
- ref.current?.selectTabKey('personal');
145
- waitFor(() => expect(scrollToIndexSpy).toHaveBeenCalled());
146
- waitFor(() => expect(setPageSpy).toHaveBeenCalled());
147
-
148
- expect(scrollToIndexSpy).toHaveBeenCalledWith({
149
- index: 1,
150
- viewPosition: 0.5,
151
- });
152
- expect(setPageSpy).toHaveBeenCalledWith(1);
153
- expect(onTabPressSpye).toHaveBeenCalledWith('personal');
154
- });
155
- });
156
109
  });
package/src/index.ts CHANGED
@@ -32,6 +32,7 @@ import DatePicker from './components/DatePicker';
32
32
  import Divider from './components/Divider';
33
33
  import Drawer from './components/Drawer';
34
34
  import Empty from './components/Empty';
35
+ import Error from './components/Error';
35
36
  import FAB from './components/FAB';
36
37
  import Icon from './components/Icon';
37
38
  import Image from './components/Image';
@@ -90,6 +91,7 @@ export {
90
91
  Divider,
91
92
  Drawer,
92
93
  Empty,
94
+ Error,
93
95
  FAB,
94
96
  Icon,
95
97
  Image,
@@ -420,6 +420,36 @@ Object {
420
420
  "wrapperPadding": 16,
421
421
  },
422
422
  },
423
+ "error": Object {
424
+ "colors": Object {
425
+ "description": "#4d6265",
426
+ "fullScreenBackground": "#ccd2d3",
427
+ "inPageBackground": "#f6f6f7",
428
+ "title": "#001f23",
429
+ },
430
+ "fontSizes": Object {
431
+ "description": 18,
432
+ "title": 24,
433
+ },
434
+ "fonts": Object {
435
+ "description": "RebondGrotesque",
436
+ "title": "RebondGrotesque-SemiBold",
437
+ },
438
+ "sizes": Object {
439
+ "image": 176,
440
+ },
441
+ "space": Object {
442
+ "button": Object {
443
+ "margin": 16,
444
+ "padding": 16,
445
+ "wrapperHorizontalPadding": 16,
446
+ "wrapperVerticalPadding": 48,
447
+ },
448
+ "imageMarginBottom": 32,
449
+ "titleMarginBottom": 8,
450
+ "wrapperPadding": 24,
451
+ },
452
+ },
423
453
  "fab": Object {
424
454
  "colors": Object {
425
455
  "actionItemBackground": "#401960",
@@ -0,0 +1,40 @@
1
+ import type { GlobalTheme } from '../global';
2
+
3
+ const getErrorTheme = (theme: GlobalTheme) => {
4
+ const space = {
5
+ titleMarginBottom: theme.space.small,
6
+ imageMarginBottom: theme.space.xlarge,
7
+ wrapperPadding: theme.space.large,
8
+ button: {
9
+ wrapperHorizontalPadding: theme.space.medium,
10
+ wrapperVerticalPadding: theme.space.xxxlarge,
11
+ margin: theme.space.medium,
12
+ padding: theme.space.medium,
13
+ },
14
+ };
15
+
16
+ const sizes = {
17
+ image: theme.sizes['19xlarge'],
18
+ };
19
+
20
+ const colors = {
21
+ title: theme.colors.onDefaultGlobalSurface,
22
+ description: theme.colors.mutedOnDefaultGlobalSurface,
23
+ fullScreenBackground: theme.colors.decorativePrimarySurface,
24
+ inPageBackground: theme.colors.neutralGlobalSurface,
25
+ };
26
+
27
+ const fontSizes = {
28
+ title: theme.fontSizes.xxxlarge,
29
+ description: theme.fontSizes.xlarge,
30
+ };
31
+
32
+ const fonts = {
33
+ title: theme.fonts.playful.semiBold,
34
+ description: theme.fonts.playful.regular,
35
+ };
36
+
37
+ return { fontSizes, colors, sizes, space, fonts };
38
+ };
39
+
40
+ export default getErrorTheme;
@@ -18,6 +18,7 @@ import getDatePickerTheme from './components/datePicker';
18
18
  import getDividerTheme from './components/divider';
19
19
  import getDrawerTheme from './components/drawer';
20
20
  import getEmptyTheme from './components/empty';
21
+ import getErrorTheme from './components/error';
21
22
  import getFABTheme from './components/fab';
22
23
  import getIconTheme from './components/icon';
23
24
  import getImageTheme from './components/image';
@@ -64,6 +65,7 @@ type Theme = GlobalTheme & {
64
65
  divider: ReturnType<typeof getDividerTheme>;
65
66
  drawer: ReturnType<typeof getDrawerTheme>;
66
67
  empty: ReturnType<typeof getEmptyTheme>;
68
+ error: ReturnType<typeof getErrorTheme>;
67
69
  fab: ReturnType<typeof getFABTheme>;
68
70
  icon: ReturnType<typeof getIconTheme>;
69
71
  image: ReturnType<typeof getImageTheme>;
@@ -116,6 +118,7 @@ const getTheme = (
116
118
  divider: getDividerTheme(globalTheme),
117
119
  drawer: getDrawerTheme(globalTheme),
118
120
  empty: getEmptyTheme(globalTheme),
121
+ error: getErrorTheme(globalTheme),
119
122
  fab: getFABTheme(globalTheme),
120
123
  icon: getIconTheme(globalTheme),
121
124
  image: getImageTheme(globalTheme),
package/src/types.ts CHANGED
@@ -15,7 +15,6 @@ import type {
15
15
  import { SwipeableProps } from './components/Swipeable';
16
16
  import { TextProps } from './components/Typography/Text';
17
17
  import { CardCarouselHandles } from './components/Carousel/CardCarousel';
18
- import { ScrollableTabsHandles } from './components/Tabs/ScrollableTabs';
19
18
 
20
19
  export type {
21
20
  BottomNavigationTabType,
@@ -28,7 +27,6 @@ export type {
28
27
  RichTextEditorProps,
29
28
  RichTextEditorRef,
30
29
  TabType,
31
- ScrollableTabsHandles,
32
30
  TextInputProps,
33
31
  TextProps,
34
32
  TextInputHandles,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,54 @@
1
+ /// <reference types="react" />
2
+ import { Modal, View } from 'react-native';
3
+ declare type ErrorVariant = 'full-screen' | 'in-page';
4
+ declare const StyledErrorModal: import("@emotion/native").StyledComponent<import("react-native").ModalBaseProps & import("react-native").ModalPropsIOS & import("react-native").ModalPropsAndroid & import("react-native").ViewProps & {
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any> | undefined;
7
+ }, {}, {
8
+ ref?: import("react").Ref<Modal> | undefined;
9
+ }>;
10
+ declare const StyledErrorContainer: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any> | undefined;
13
+ } & {
14
+ themeVariant: ErrorVariant;
15
+ }, {}, {
16
+ ref?: import("react").Ref<View> | undefined;
17
+ }>;
18
+ declare const StyledErrorContent: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any> | undefined;
21
+ }, {}, {
22
+ ref?: import("react").Ref<View> | undefined;
23
+ }>;
24
+ declare const StyledErrorButtonContainer: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
25
+ theme?: import("@emotion/react").Theme | undefined;
26
+ as?: import("react").ElementType<any> | undefined;
27
+ }, {}, {
28
+ ref?: import("react").Ref<View> | undefined;
29
+ }>;
30
+ declare const StyledErrorButtonPrimary: import("@emotion/native").StyledComponent<import("../Button/Button").ButtonProps & {
31
+ children?: import("react").ReactNode;
32
+ } & {
33
+ theme?: import("@emotion/react").Theme | undefined;
34
+ as?: import("react").ElementType<any> | undefined;
35
+ }, {}, {}>;
36
+ declare const StyledErrorButtonSecondary: import("@emotion/native").StyledComponent<import("../Button/Button").ButtonProps & {
37
+ children?: import("react").ReactNode;
38
+ } & {
39
+ theme?: import("@emotion/react").Theme | undefined;
40
+ as?: import("react").ElementType<any> | undefined;
41
+ }, {}, {}>;
42
+ declare const StyledErrorImage: import("@emotion/native").StyledComponent<import("../Image").ImageProps & {
43
+ theme?: import("@emotion/react").Theme | undefined;
44
+ as?: import("react").ElementType<any> | undefined;
45
+ }, {}, {}>;
46
+ declare const StyledErrorTitle: import("@emotion/native").StyledComponent<import("../..").TextProps & {
47
+ theme?: import("@emotion/react").Theme | undefined;
48
+ as?: import("react").ElementType<any> | undefined;
49
+ }, {}, {}>;
50
+ declare const StyledErrorDescription: import("@emotion/native").StyledComponent<import("../..").TextProps & {
51
+ theme?: import("@emotion/react").Theme | undefined;
52
+ as?: import("react").ElementType<any> | undefined;
53
+ }, {}, {}>;
54
+ export { ErrorVariant, StyledErrorModal, StyledErrorImage, StyledErrorContainer, StyledErrorButtonContainer, StyledErrorButtonPrimary, StyledErrorButtonSecondary, StyledErrorContent, StyledErrorTitle, StyledErrorDescription, };
@@ -0,0 +1,55 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ImageSourcePropType, ViewProps } from 'react-native';
3
+ import { ErrorVariant } from './StyledError';
4
+ interface ErrorPageProps extends ViewProps {
5
+ /**
6
+ * Variant of the error
7
+ */
8
+ variant?: ErrorVariant;
9
+ /**
10
+ * Title of the error
11
+ */
12
+ title: string;
13
+ /**
14
+ * Description of the error
15
+ */
16
+ description?: string;
17
+ /**
18
+ * Image of the error
19
+ */
20
+ image?: ImageSourcePropType | string;
21
+ /**
22
+ * Testing id of the component.
23
+ */
24
+ testID?: string;
25
+ /**
26
+ * Action button text
27
+ */
28
+ ctaText?: string;
29
+ /**
30
+ * Callback when the action button is pressed.
31
+ */
32
+ onCtaPress?: () => void;
33
+ /**
34
+ * Secondary button text
35
+ */
36
+ secondaryCtaText?: string;
37
+ /**
38
+ * Callback when the secondary button is pressed.
39
+ */
40
+ onSecondaryCtaPress?: () => void;
41
+ }
42
+ declare type ErrorProps = ErrorPageProps & {
43
+ /**
44
+ * Visibility of the error
45
+ */
46
+ visible: boolean;
47
+ };
48
+ /**
49
+ * Renders error page
50
+ *
51
+ * @param {ErrorProps}
52
+ * @return {*} {ReactElement}
53
+ */
54
+ declare const Error: ({ visible, variant, title, description, testID, ctaText, onCtaPress, secondaryCtaText, onSecondaryCtaPress, ...nativeProps }: ErrorProps) => ReactElement;
55
+ export default Error;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes