@hero-design/rn 8.37.0 → 8.38.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 +1 -1
- package/es/index.js +752 -744
- package/lib/index.js +2332 -2323
- package/package.json +7 -7
- package/src/components/HeroDesignProvider/__tests__/__snapshots__/index.spec.tsx.snap +52 -0
- package/src/components/HeroDesignProvider/__tests__/index.spec.tsx +78 -0
- package/src/components/HeroDesignProvider/index.tsx +14 -0
- package/src/index.ts +2 -0
- package/types/components/HeroDesignProvider/index.d.ts +3 -0
- package/types/index.d.ts +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hero-design/rn",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.38.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@emotion/native": "^11.9.3",
|
|
23
23
|
"@emotion/react": "^11.9.3",
|
|
24
|
-
"@hero-design/colors": "8.
|
|
24
|
+
"@hero-design/colors": "8.38.0",
|
|
25
25
|
"date-fns": "^2.16.1",
|
|
26
26
|
"events": "^3.2.0",
|
|
27
27
|
"hero-editor": "^1.9.21",
|
|
28
28
|
"nanoid": "^4.0.2"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@hero-design/react-native-month-year-picker": "^8.
|
|
31
|
+
"@hero-design/react-native-month-year-picker": "^8.38.0",
|
|
32
32
|
"@react-native-community/datetimepicker": "^3.5.2",
|
|
33
33
|
"@react-native-community/slider": "4.1.12",
|
|
34
34
|
"react": "18.0.0",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"@babel/preset-typescript": "^7.17.12",
|
|
49
49
|
"@babel/runtime": "^7.18.9",
|
|
50
50
|
"@emotion/jest": "^11.9.3",
|
|
51
|
-
"@hero-design/eslint-plugin": "8.
|
|
52
|
-
"@hero-design/react-native-month-year-picker": "^8.
|
|
51
|
+
"@hero-design/eslint-plugin": "8.38.0",
|
|
52
|
+
"@hero-design/react-native-month-year-picker": "^8.38.0",
|
|
53
53
|
"@react-native-community/datetimepicker": "^3.5.2",
|
|
54
54
|
"@react-native-community/slider": "4.1.12",
|
|
55
55
|
"@rollup/plugin-babel": "^5.3.1",
|
|
@@ -65,10 +65,10 @@
|
|
|
65
65
|
"@types/react-native": "^0.67.7",
|
|
66
66
|
"@types/react-native-vector-icons": "^6.4.10",
|
|
67
67
|
"babel-plugin-inline-import": "^3.0.0",
|
|
68
|
-
"eslint-config-hd": "8.
|
|
68
|
+
"eslint-config-hd": "8.38.0",
|
|
69
69
|
"eslint-plugin-import": "^2.27.5",
|
|
70
70
|
"jest": "^27.3.1",
|
|
71
|
-
"prettier-config-hd": "8.
|
|
71
|
+
"prettier-config-hd": "8.38.0",
|
|
72
72
|
"react": "18.0.0",
|
|
73
73
|
"react-native": "0.69.7",
|
|
74
74
|
"react-native-gesture-handler": "~2.5.0",
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`HeroDesignProvider renders children correctly 1`] = `
|
|
4
|
+
<View
|
|
5
|
+
style={
|
|
6
|
+
Object {
|
|
7
|
+
"flex": 1,
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
>
|
|
11
|
+
<Text
|
|
12
|
+
allowFontScaling={false}
|
|
13
|
+
style={
|
|
14
|
+
Array [
|
|
15
|
+
Object {
|
|
16
|
+
"color": "#401960",
|
|
17
|
+
"fontFamily": "BeVietnamPro-Regular",
|
|
18
|
+
"fontSize": 42,
|
|
19
|
+
"letterSpacing": 0,
|
|
20
|
+
"lineHeight": 50,
|
|
21
|
+
},
|
|
22
|
+
undefined,
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
themeIntent="primary"
|
|
26
|
+
themeLevel="h1"
|
|
27
|
+
themeTypeface="neutral"
|
|
28
|
+
>
|
|
29
|
+
Test component
|
|
30
|
+
</Text>
|
|
31
|
+
<View
|
|
32
|
+
pointerEvents="box-none"
|
|
33
|
+
position="bottom"
|
|
34
|
+
style={
|
|
35
|
+
Array [
|
|
36
|
+
Object {
|
|
37
|
+
"bottom": 0,
|
|
38
|
+
"elevation": 9999,
|
|
39
|
+
"flexDirection": "column-reverse",
|
|
40
|
+
"left": 0,
|
|
41
|
+
"paddingHorizontal": 24,
|
|
42
|
+
"paddingVertical": 16,
|
|
43
|
+
"position": "absolute",
|
|
44
|
+
"right": 0,
|
|
45
|
+
"top": 0,
|
|
46
|
+
},
|
|
47
|
+
undefined,
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
/>
|
|
51
|
+
</View>
|
|
52
|
+
`;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { waitFor, within } from '@testing-library/react-native';
|
|
3
|
+
import renderWithTheme from '../../../testHelpers/renderWithTheme';
|
|
4
|
+
import Typography from '../../Typography';
|
|
5
|
+
import HeroDesignProvider from '..';
|
|
6
|
+
import { getTheme } from '../../../theme';
|
|
7
|
+
import Toast from '../../Toast';
|
|
8
|
+
import Box from '../../Box';
|
|
9
|
+
import Portal from '../../Portal';
|
|
10
|
+
|
|
11
|
+
const TestComponent = () => (
|
|
12
|
+
<Typography.Title intent="primary">Test component</Typography.Title>
|
|
13
|
+
);
|
|
14
|
+
const theme = getTheme();
|
|
15
|
+
|
|
16
|
+
describe('HeroDesignProvider', () => {
|
|
17
|
+
it('renders children correctly', () => {
|
|
18
|
+
const { toJSON, getByText } = renderWithTheme(
|
|
19
|
+
<HeroDesignProvider theme={theme}>
|
|
20
|
+
<TestComponent />
|
|
21
|
+
</HeroDesignProvider>
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
expect(toJSON()).toMatchSnapshot();
|
|
25
|
+
expect(getByText('Test component')).toBeTruthy();
|
|
26
|
+
expect(getByText('Test component')).toHaveStyle({
|
|
27
|
+
color: theme.colors.primary,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('renders toast correctly', async () => {
|
|
32
|
+
const Component = () => {
|
|
33
|
+
const toast = Toast.useToast();
|
|
34
|
+
|
|
35
|
+
React.useEffect(() => {
|
|
36
|
+
toast.show({
|
|
37
|
+
content: 'Your timesheet has been deleted.',
|
|
38
|
+
intent: 'warning',
|
|
39
|
+
variant: 'round',
|
|
40
|
+
duration: 50,
|
|
41
|
+
});
|
|
42
|
+
}, []);
|
|
43
|
+
|
|
44
|
+
return <TestComponent />;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const { queryByText } = renderWithTheme(
|
|
48
|
+
<HeroDesignProvider theme={theme}>
|
|
49
|
+
<Component />
|
|
50
|
+
</HeroDesignProvider>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
expect(queryByText('Your timesheet has been deleted.')).toBeTruthy();
|
|
54
|
+
|
|
55
|
+
await waitFor(() =>
|
|
56
|
+
expect(queryByText('Your timesheet has been deleted.')).toBeFalsy()
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('renders portal content correctly', async () => {
|
|
61
|
+
const { getByTestId } = renderWithTheme(
|
|
62
|
+
<HeroDesignProvider theme={theme}>
|
|
63
|
+
<Box testID="portal-wrapper">
|
|
64
|
+
<Portal.Host name="host" />
|
|
65
|
+
</Box>
|
|
66
|
+
<Portal hostName="host">
|
|
67
|
+
<Typography.Body>Portal content</Typography.Body>;
|
|
68
|
+
</Portal>
|
|
69
|
+
</HeroDesignProvider>
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
await waitFor(() =>
|
|
73
|
+
expect(
|
|
74
|
+
within(getByTestId('portal-wrapper')).getByText('Portal content')
|
|
75
|
+
).toBeDefined()
|
|
76
|
+
);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ThemeProvider, { ThemeProviderProps } from '../../theme/ThemeProvider';
|
|
3
|
+
import Toast from '../Toast';
|
|
4
|
+
import Portal from '../Portal';
|
|
5
|
+
|
|
6
|
+
const HeroDesignProvider = ({ theme, children }: ThemeProviderProps) => (
|
|
7
|
+
<ThemeProvider theme={theme}>
|
|
8
|
+
<Toast.Provider>
|
|
9
|
+
<Portal.Provider>{children}</Portal.Provider>
|
|
10
|
+
</Toast.Provider>
|
|
11
|
+
</ThemeProvider>
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
export default HeroDesignProvider;
|
package/src/index.ts
CHANGED
|
@@ -34,6 +34,7 @@ import Drawer from './components/Drawer';
|
|
|
34
34
|
import Empty from './components/Empty';
|
|
35
35
|
import Error from './components/Error';
|
|
36
36
|
import FAB from './components/FAB';
|
|
37
|
+
import HeroDesignProvider from './components/HeroDesignProvider';
|
|
37
38
|
import Icon from './components/Icon';
|
|
38
39
|
import Image from './components/Image';
|
|
39
40
|
import List from './components/List';
|
|
@@ -100,6 +101,7 @@ export {
|
|
|
100
101
|
FAB,
|
|
101
102
|
Icon,
|
|
102
103
|
Image,
|
|
104
|
+
HeroDesignProvider,
|
|
103
105
|
List,
|
|
104
106
|
Modal,
|
|
105
107
|
PinInput,
|
package/types/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ import Drawer from './components/Drawer';
|
|
|
21
21
|
import Empty from './components/Empty';
|
|
22
22
|
import Error from './components/Error';
|
|
23
23
|
import FAB from './components/FAB';
|
|
24
|
+
import HeroDesignProvider from './components/HeroDesignProvider';
|
|
24
25
|
import Icon from './components/Icon';
|
|
25
26
|
import Image from './components/Image';
|
|
26
27
|
import List from './components/List';
|
|
@@ -48,5 +49,5 @@ import RefreshControl from './components/RefreshControl';
|
|
|
48
49
|
import RichTextEditor from './components/RichTextEditor';
|
|
49
50
|
import PageControl from './components/PageControl';
|
|
50
51
|
import Portal from './components/Portal';
|
|
51
|
-
export { theme, getTheme, useTheme, scale, ThemeProvider, ThemeSwitcher, withTheme, swagSystemPalette, swagDarkSystemPalette, workSystemPalette, jobsSystemPalette, walletSystemPalette, eBensSystemPalette, Accordion, Alert, Attachment, Avatar, useAvatarColors, Badge, BottomNavigation, BottomSheet, Box, Button, Calendar, Card, Carousel, Collapse, Checkbox, ContentNavigator, DatePicker, Divider, Drawer, Empty, Error, FAB, Icon, Image, List, Modal, PinInput, Progress, Portal, PageControl, Skeleton, Slider, Spinner, Swipeable, Radio, SectionHeading, Select, Success, Switch, Tabs, Tag, TextInput, TimePicker, Toast, Toolbar, Typography, Rate, RefreshControl, RichTextEditor, };
|
|
52
|
+
export { theme, getTheme, useTheme, scale, ThemeProvider, ThemeSwitcher, withTheme, swagSystemPalette, swagDarkSystemPalette, workSystemPalette, jobsSystemPalette, walletSystemPalette, eBensSystemPalette, Accordion, Alert, Attachment, Avatar, useAvatarColors, Badge, BottomNavigation, BottomSheet, Box, Button, Calendar, Card, Carousel, Collapse, Checkbox, ContentNavigator, DatePicker, Divider, Drawer, Empty, Error, FAB, Icon, Image, HeroDesignProvider, List, Modal, PinInput, Progress, Portal, PageControl, Skeleton, Slider, Spinner, Swipeable, Radio, SectionHeading, Select, Success, Switch, Tabs, Tag, TextInput, TimePicker, Toast, Toolbar, Typography, Rate, RefreshControl, RichTextEditor, };
|
|
52
53
|
export * from './types';
|