@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.
- package/.turbo/turbo-build.log +9 -9
- package/.turbo/turbo-publish:npm.log +0 -9
- package/es/index.js +286 -74
- package/lib/index.js +286 -73
- package/package.json +5 -5
- package/src/components/Error/StyledError.tsx +86 -0
- package/src/components/Error/__tests__/__snapshots__/index.spec.tsx.snap +343 -0
- package/src/components/Error/__tests__/index.spec.tsx +74 -0
- package/src/components/Error/index.tsx +215 -0
- package/src/components/Tabs/ScrollableTabs.tsx +167 -208
- package/src/components/Tabs/__tests__/ScrollableTabs.spec.tsx +11 -58
- package/src/index.ts +2 -0
- package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +30 -0
- package/src/theme/components/error.ts +40 -0
- package/src/theme/getTheme.ts +3 -0
- package/src/types.ts +0 -2
- package/types/components/Accordion/AccordionItem.d.ts +0 -0
- package/types/components/Accordion/StyledAccordion.d.ts +0 -0
- package/types/components/Accordion/index.d.ts +0 -0
- package/types/components/Alert/StyledAlert.d.ts +0 -0
- package/types/components/Alert/index.d.ts +0 -0
- package/types/components/Attachment/StyledAttachment.d.ts +0 -0
- package/types/components/Attachment/index.d.ts +0 -0
- package/types/components/Avatar/Avatar.d.ts +0 -0
- package/types/components/Avatar/AvatarStack/StyledAvatarStack.d.ts +0 -0
- package/types/components/Avatar/AvatarStack/index.d.ts +0 -0
- package/types/components/Avatar/AvatarStack/utils.d.ts +0 -0
- package/types/components/Avatar/StyledAvatar.d.ts +0 -0
- package/types/components/Avatar/index.d.ts +0 -0
- package/types/components/Badge/Status.d.ts +0 -0
- package/types/components/Badge/StyledBadge.d.ts +0 -0
- package/types/components/Badge/index.d.ts +0 -0
- package/types/components/BottomNavigation/StyledBottomNavigation.d.ts +0 -0
- package/types/components/BottomNavigation/index.d.ts +0 -0
- package/types/components/BottomSheet/BottomSheetContext.d.ts +0 -0
- package/types/components/BottomSheet/Footer.d.ts +0 -0
- package/types/components/BottomSheet/Header.d.ts +0 -0
- package/types/components/BottomSheet/ScrollView.d.ts +0 -0
- package/types/components/BottomSheet/StyledBottomSheet.d.ts +0 -0
- package/types/components/BottomSheet/index.d.ts +0 -0
- package/types/components/Box/StyledBox.d.ts +0 -0
- package/types/components/Box/config.d.ts +0 -0
- package/types/components/Box/index.d.ts +0 -0
- package/types/components/Box/types.d.ts +0 -0
- package/types/components/Button/Button.d.ts +0 -0
- package/types/components/Button/IconButton.d.ts +0 -0
- package/types/components/Button/LoadingIndicator/StyledLoadingIndicator.d.ts +0 -0
- package/types/components/Button/LoadingIndicator/index.d.ts +0 -0
- package/types/components/Button/StyledButton.d.ts +0 -0
- package/types/components/Button/UtilityButton/StyledUtilityButton.d.ts +0 -0
- package/types/components/Button/UtilityButton/index.d.ts +0 -0
- package/types/components/Button/index.d.ts +0 -0
- package/types/components/Calendar/CalendarRowItem.d.ts +0 -0
- package/types/components/Calendar/StyledCalendar.d.ts +0 -0
- package/types/components/Calendar/helpers.d.ts +0 -0
- package/types/components/Calendar/index.d.ts +0 -0
- package/types/components/Card/DataCard/StyledDataCard.d.ts +0 -0
- package/types/components/Card/DataCard/index.d.ts +0 -0
- package/types/components/Card/StyledCard.d.ts +0 -0
- package/types/components/Card/index.d.ts +0 -0
- package/types/components/Carousel/CardCarousel.d.ts +0 -0
- package/types/components/Carousel/CarouselItem.d.ts +0 -0
- package/types/components/Carousel/StyledCardCarousel.d.ts +0 -0
- package/types/components/Carousel/StyledCarousel.d.ts +0 -0
- package/types/components/Carousel/contants.d.ts +0 -0
- package/types/components/Carousel/index.d.ts +0 -0
- package/types/components/Carousel/types.d.ts +0 -0
- package/types/components/Checkbox/StyledCheckbox.d.ts +0 -0
- package/types/components/Checkbox/index.d.ts +0 -0
- package/types/components/Collapse/StyledCollapse.d.ts +0 -0
- package/types/components/Collapse/index.d.ts +0 -0
- package/types/components/ContentNavigator/StyledContentNavigator.d.ts +0 -0
- package/types/components/ContentNavigator/index.d.ts +0 -0
- package/types/components/DatePicker/DatePickerAndroid.d.ts +0 -0
- package/types/components/DatePicker/DatePickerIOS.d.ts +0 -0
- package/types/components/DatePicker/StyledDatePicker.d.ts +0 -0
- package/types/components/DatePicker/index.d.ts +0 -0
- package/types/components/DatePicker/types.d.ts +0 -0
- package/types/components/Divider/StyledDivider.d.ts +0 -0
- package/types/components/Divider/index.d.ts +0 -0
- package/types/components/Drawer/DragableDrawer/helpers.d.ts +0 -0
- package/types/components/Drawer/DragableDrawer/index.d.ts +0 -0
- package/types/components/Drawer/StyledDrawer.d.ts +0 -0
- package/types/components/Drawer/index.d.ts +0 -0
- package/types/components/Empty/StyledEmpty.d.ts +0 -0
- package/types/components/Empty/index.d.ts +0 -0
- package/types/components/Error/StyledError.d.ts +54 -0
- package/types/components/Error/index.d.ts +55 -0
- package/types/components/FAB/ActionGroup/ActionItem.d.ts +0 -0
- package/types/components/FAB/ActionGroup/StyledActionGroup.d.ts +0 -0
- package/types/components/FAB/ActionGroup/StyledActionItem.d.ts +0 -0
- package/types/components/FAB/ActionGroup/index.d.ts +0 -0
- package/types/components/FAB/AnimatedFABIcon.d.ts +0 -0
- package/types/components/FAB/FAB.d.ts +0 -0
- package/types/components/FAB/StyledFAB.d.ts +0 -0
- package/types/components/FAB/index.d.ts +0 -0
- package/types/components/Icon/AnimatedIcon.d.ts +0 -0
- package/types/components/Icon/HeroIcon/index.d.ts +0 -0
- package/types/components/Icon/IconList.d.ts +0 -0
- package/types/components/Icon/index.d.ts +0 -0
- package/types/components/Icon/utils.d.ts +0 -0
- package/types/components/Image/index.d.ts +0 -0
- package/types/components/List/BasicListItem.d.ts +0 -0
- package/types/components/List/ListItem.d.ts +0 -0
- package/types/components/List/StyledBasicListItem.d.ts +0 -0
- package/types/components/List/StyledListItem.d.ts +0 -0
- package/types/components/List/index.d.ts +0 -0
- package/types/components/PageControl/StyledPageControl.d.ts +0 -0
- package/types/components/PageControl/index.d.ts +0 -0
- package/types/components/PinInput/PinCell.d.ts +0 -0
- package/types/components/PinInput/StyledPinInput.d.ts +0 -0
- package/types/components/PinInput/index.d.ts +0 -0
- package/types/components/Progress/ProgressBar.d.ts +0 -0
- package/types/components/Progress/ProgressCircle.d.ts +0 -0
- package/types/components/Progress/StyledProgressBar.d.ts +0 -0
- package/types/components/Progress/StyledProgressCircle.d.ts +0 -0
- package/types/components/Progress/__tests__/index.spec.d.ts +0 -0
- package/types/components/Progress/constants.d.ts +0 -0
- package/types/components/Progress/index.d.ts +0 -0
- package/types/components/Progress/types.d.ts +0 -0
- package/types/components/Radio/Radio.d.ts +0 -0
- package/types/components/Radio/RadioGroup.d.ts +0 -0
- package/types/components/Radio/StyledRadio.d.ts +0 -0
- package/types/components/Radio/index.d.ts +0 -0
- package/types/components/Radio/types.d.ts +0 -0
- package/types/components/RefreshControl/index.d.ts +0 -0
- package/types/components/RichTextEditor/EditorEvent.d.ts +0 -0
- package/types/components/RichTextEditor/EditorToolbar.d.ts +0 -0
- package/types/components/RichTextEditor/MentionList.d.ts +0 -0
- package/types/components/RichTextEditor/RichTextEditor.d.ts +0 -0
- package/types/components/RichTextEditor/StyledRichTextEditor.d.ts +0 -0
- package/types/components/RichTextEditor/StyledToolbar.d.ts +0 -0
- package/types/components/RichTextEditor/__mocks__/heroEditorApp.d.ts +0 -0
- package/types/components/RichTextEditor/constants.d.ts +0 -0
- package/types/components/RichTextEditor/heroEditorApp.d.ts +0 -0
- package/types/components/RichTextEditor/index.d.ts +0 -0
- package/types/components/RichTextEditor/types.d.ts +0 -0
- package/types/components/RichTextEditor/utils/events.d.ts +0 -0
- package/types/components/RichTextEditor/utils/rnWebView.d.ts +0 -0
- package/types/components/SectionHeading/StyledHeading.d.ts +0 -0
- package/types/components/SectionHeading/index.d.ts +0 -0
- package/types/components/Select/BaseOptionList.d.ts +0 -0
- package/types/components/Select/Footer.d.ts +0 -0
- package/types/components/Select/MultiSelect/Option.d.ts +0 -0
- package/types/components/Select/MultiSelect/OptionList.d.ts +0 -0
- package/types/components/Select/MultiSelect/index.d.ts +0 -0
- package/types/components/Select/SingleSelect/Option.d.ts +0 -0
- package/types/components/Select/SingleSelect/OptionList.d.ts +0 -0
- package/types/components/Select/SingleSelect/StyledSingleSelect.d.ts +0 -0
- package/types/components/Select/SingleSelect/index.d.ts +0 -0
- package/types/components/Select/StyledSelect.d.ts +0 -0
- package/types/components/Select/helpers.d.ts +0 -0
- package/types/components/Select/index.d.ts +0 -0
- package/types/components/Select/types.d.ts +0 -0
- package/types/components/Slider/index.d.ts +0 -0
- package/types/components/Spinner/AnimatedSpinner.d.ts +0 -0
- package/types/components/Spinner/StyledSpinner.d.ts +0 -0
- package/types/components/Spinner/index.d.ts +0 -0
- package/types/components/Swipeable/StyledSwipeable.d.ts +0 -0
- package/types/components/Swipeable/SwipeableAction.d.ts +0 -0
- package/types/components/Swipeable/index.d.ts +0 -0
- package/types/components/Switch/SelectorSwitch/Option.d.ts +0 -0
- package/types/components/Switch/SelectorSwitch/StyledSelectorSwitch.d.ts +0 -0
- package/types/components/Switch/SelectorSwitch/index.d.ts +0 -0
- package/types/components/Switch/StyledSwitch.d.ts +0 -0
- package/types/components/Switch/index.d.ts +0 -0
- package/types/components/Tabs/ActiveTabIndicator.d.ts +0 -0
- package/types/components/Tabs/ScrollableTabs.d.ts +1 -8
- package/types/components/Tabs/StyledScrollableTabs.d.ts +0 -0
- package/types/components/Tabs/StyledTabs.d.ts +0 -0
- package/types/components/Tabs/TabWithBadge.d.ts +0 -0
- package/types/components/Tabs/index.d.ts +1 -2
- package/types/components/Tabs/utils.d.ts +0 -0
- package/types/components/Tag/StyledTag.d.ts +0 -0
- package/types/components/Tag/index.d.ts +0 -0
- package/types/components/TextInput/StyledTextInput.d.ts +0 -0
- package/types/components/TextInput/index.d.ts +0 -0
- package/types/components/TimePicker/StyledTimePicker.d.ts +0 -0
- package/types/components/TimePicker/TimePickerAndroid.d.ts +0 -0
- package/types/components/TimePicker/TimePickerIOS.d.ts +0 -0
- package/types/components/TimePicker/index.d.ts +0 -0
- package/types/components/TimePicker/types.d.ts +0 -0
- package/types/components/Toast/StyledToast.d.ts +0 -0
- package/types/components/Toast/Toast.d.ts +0 -0
- package/types/components/Toast/ToastContainer.d.ts +0 -0
- package/types/components/Toast/ToastContext.d.ts +0 -0
- package/types/components/Toast/ToastProvider.d.ts +0 -0
- package/types/components/Toast/index.d.ts +0 -0
- package/types/components/Toast/types.d.ts +0 -0
- package/types/components/Toolbar/StyledToolbar.d.ts +0 -0
- package/types/components/Toolbar/ToolbarGroup.d.ts +0 -0
- package/types/components/Toolbar/ToolbarItem.d.ts +0 -0
- package/types/components/Toolbar/index.d.ts +0 -0
- package/types/components/Typography/Text/StyledText.d.ts +0 -0
- package/types/components/Typography/Text/index.d.ts +0 -0
- package/types/components/Typography/index.d.ts +0 -0
- package/types/index.d.ts +2 -1
- package/types/testHelpers/renderWithTheme.d.ts +0 -0
- package/types/theme/ThemeProvider.d.ts +0 -0
- package/types/theme/ThemeSwitcher.d.ts +0 -0
- package/types/theme/components/accordion.d.ts +0 -0
- package/types/theme/components/alert.d.ts +0 -0
- package/types/theme/components/attachment.d.ts +0 -0
- package/types/theme/components/avatar.d.ts +0 -0
- package/types/theme/components/badge.d.ts +0 -0
- package/types/theme/components/bottomNavigation.d.ts +0 -0
- package/types/theme/components/bottomSheet.d.ts +0 -0
- package/types/theme/components/button.d.ts +0 -0
- package/types/theme/components/calendar.d.ts +0 -0
- package/types/theme/components/card.d.ts +0 -0
- package/types/theme/components/cardCarousel.d.ts +0 -0
- package/types/theme/components/carousel.d.ts +0 -0
- package/types/theme/components/checkbox.d.ts +0 -0
- package/types/theme/components/contentNavigator.d.ts +0 -0
- package/types/theme/components/datePicker.d.ts +0 -0
- package/types/theme/components/divider.d.ts +0 -0
- package/types/theme/components/drawer.d.ts +0 -0
- package/types/theme/components/empty.d.ts +0 -0
- package/types/theme/components/error.d.ts +32 -0
- package/types/theme/components/fab.d.ts +0 -0
- package/types/theme/components/icon.d.ts +0 -0
- package/types/theme/components/image.d.ts +0 -0
- package/types/theme/components/list.d.ts +0 -0
- package/types/theme/components/pageControl.d.ts +0 -0
- package/types/theme/components/pinInput.d.ts +0 -0
- package/types/theme/components/progress.d.ts +0 -0
- package/types/theme/components/radio.d.ts +0 -0
- package/types/theme/components/refreshControl.d.ts +0 -0
- package/types/theme/components/richTextEditor.d.ts +0 -0
- package/types/theme/components/sectionHeading.d.ts +0 -0
- package/types/theme/components/select.d.ts +0 -0
- package/types/theme/components/slider.d.ts +0 -0
- package/types/theme/components/spinner.d.ts +0 -0
- package/types/theme/components/swipeable.d.ts +0 -0
- package/types/theme/components/switch.d.ts +0 -0
- package/types/theme/components/tabs.d.ts +0 -0
- package/types/theme/components/tag.d.ts +0 -0
- package/types/theme/components/textInput.d.ts +0 -0
- package/types/theme/components/timePicker.d.ts +0 -0
- package/types/theme/components/toast.d.ts +0 -0
- package/types/theme/components/toolbar.d.ts +0 -0
- package/types/theme/components/typography.d.ts +0 -0
- package/types/theme/getTheme.d.ts +2 -0
- package/types/theme/global/borders.d.ts +0 -0
- package/types/theme/global/colors/eBens.d.ts +0 -0
- package/types/theme/global/colors/global.d.ts +0 -0
- package/types/theme/global/colors/globalDark.d.ts +0 -0
- package/types/theme/global/colors/jobs.d.ts +0 -0
- package/types/theme/global/colors/swag.d.ts +0 -0
- package/types/theme/global/colors/swagDark.d.ts +0 -0
- package/types/theme/global/colors/types.d.ts +0 -0
- package/types/theme/global/colors/wallet.d.ts +0 -0
- package/types/theme/global/colors/work.d.ts +0 -0
- package/types/theme/global/index.d.ts +0 -0
- package/types/theme/global/scale.d.ts +0 -0
- package/types/theme/global/sizes.d.ts +0 -0
- package/types/theme/global/space.d.ts +0 -0
- package/types/theme/global/typography.d.ts +0 -0
- package/types/theme/index.d.ts +0 -0
- package/types/types.d.ts +1 -2
- package/types/utils/functions.d.ts +0 -0
- package/types/utils/helpers.d.ts +0 -0
- package/types/utils/hooks.d.ts +0 -0
- package/types/utils/scale.d.ts +0 -0
- package/.turbo/turbo-build:types.log +0 -2
- package/.turbo/turbo-lint.log +0 -149
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { fireEvent
|
|
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
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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;
|
package/src/theme/getTheme.ts
CHANGED
|
@@ -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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|