@hero-design/rn 8.113.0 → 8.113.1
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 +3 -3
- package/CHANGELOG.md +11 -0
- package/es/index.js +116 -133
- package/lib/index.js +115 -132
- package/package.json +4 -4
- package/src/components/Alert/index.tsx +1 -1
- package/src/components/Badge/Count.tsx +2 -2
- package/src/components/Badge/Status.tsx +2 -2
- package/src/components/Badge/index.tsx +2 -1
- package/src/components/BottomNavigation/StyledBottomNavigation.tsx +1 -1
- package/src/components/BottomNavigation/__tests__/__snapshots__/index.spec.tsx.snap +32 -36
- package/src/components/BottomNavigation/__tests__/index.spec.tsx +17 -8
- package/src/components/BottomNavigation/index.tsx +4 -5
- package/src/components/BottomSheet/ScrollView.tsx +2 -1
- package/src/components/BottomSheet/index.tsx +1 -1
- package/src/components/Button/Button.tsx +2 -2
- package/src/components/Calendar/__tests__/index.spec.tsx +3 -8
- package/src/components/Card/DataCard/index.tsx +2 -2
- package/src/components/Card/index.tsx +2 -2
- package/src/components/Carousel/index.tsx +2 -2
- package/src/components/DatePicker/Dialog/__tests__/IOSDialog.spec.tsx +0 -6
- package/src/components/DatePicker/__tests__/DatePickerCalendar.spec.tsx +2 -10
- package/src/components/DatePicker/__tests__/DatePickerIOS.spec.tsx +27 -0
- package/src/components/DatePicker/__tests__/__snapshots__/DatePickerIOS.spec.tsx.snap +176 -728
- package/src/components/Drawer/DragableDrawer/index.tsx +2 -2
- package/src/components/Drawer/index.tsx +2 -2
- package/src/components/FAB/__tests__/index.spec.tsx +33 -8
- package/src/components/Image/index.tsx +2 -1
- package/src/components/List/BasicListItem.tsx +2 -1
- package/src/components/List/ListItem.tsx +1 -1
- package/src/components/MapPin/Focussed.tsx +2 -1
- package/src/components/MapPin/index.tsx +2 -1
- package/src/components/Modal/__tests__/index.spec.tsx +46 -0
- package/src/components/Modal/index.tsx +121 -149
- package/src/components/Progress/ProgressBar.tsx +2 -1
- package/src/components/Progress/ProgressCircle.tsx +2 -1
- package/src/components/RichTextEditor/MentionList.tsx +2 -1
- package/src/components/Tabs/ScrollableTabsHeader/ScrollableTabsHeader.tsx +4 -6
- package/src/components/Tabs/__tests__/ScrollableTabs.spec.tsx +43 -32
- package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabs.spec.tsx.snap +105 -129
- package/src/components/Tabs/__tests__/__snapshots__/ScrollableTabsHeader.spec.tsx.snap +30 -42
- package/src/components/Tabs/__tests__/__snapshots__/index.spec.tsx.snap +0 -683
- package/src/components/Tabs/__tests__/index.spec.tsx +37 -25
- package/src/components/Tabs/index.tsx +2 -2
- package/src/components/Tag/index.tsx +1 -1
- package/src/components/TimePicker/__tests__/TimePickerIOS.spec.tsx +0 -6
- package/src/components/TimePicker/__tests__/__snapshots__/TimePickerIOS.spec.tsx.snap +237 -282
- package/src/components/Toast/Toast.tsx +2 -1
- package/src/components/Toolbar/ToolbarItem.tsx +2 -1
- package/src/components/Typography/Label/index.tsx +1 -1
- package/src/testHelpers/renderWithTheme.tsx +2 -1
- package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +1 -1
- package/src/theme/components/bottomNavigation.ts +1 -1
- package/types/components/Alert/index.d.ts +1 -1
- package/types/components/Badge/Count.d.ts +2 -2
- package/types/components/Badge/Status.d.ts +2 -2
- package/types/components/Badge/index.d.ts +4 -3
- package/types/components/BottomNavigation/StyledBottomNavigation.d.ts +1 -1
- package/types/components/BottomNavigation/index.d.ts +2 -2
- package/types/components/BottomSheet/index.d.ts +1 -1
- package/types/components/Button/Button.d.ts +2 -2
- package/types/components/Card/DataCard/index.d.ts +2 -2
- package/types/components/Card/index.d.ts +3 -3
- package/types/components/Carousel/index.d.ts +2 -2
- package/types/components/Drawer/DragableDrawer/index.d.ts +2 -2
- package/types/components/Drawer/index.d.ts +3 -3
- package/types/components/Image/index.d.ts +2 -1
- package/types/components/List/BasicListItem.d.ts +2 -1
- package/types/components/List/ListItem.d.ts +1 -1
- package/types/components/MapPin/Focussed.d.ts +2 -1
- package/types/components/MapPin/index.d.ts +3 -2
- package/types/components/Modal/index.d.ts +2 -2
- package/types/components/Progress/ProgressBar.d.ts +2 -1
- package/types/components/Progress/ProgressCircle.d.ts +2 -1
- package/types/components/Progress/index.d.ts +2 -2
- package/types/components/RichTextEditor/MentionList.d.ts +2 -1
- package/types/components/Tabs/index.d.ts +2 -2
- package/types/components/Tag/index.d.ts +1 -1
- package/types/components/Toast/Toast.d.ts +2 -1
- package/types/components/Typography/Label/index.d.ts +1 -1
- package/types/testHelpers/renderWithTheme.d.ts +84 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Text } from 'react-native';
|
|
3
|
-
import { fireEvent,
|
|
3
|
+
import { fireEvent, act } from '@testing-library/react-native';
|
|
4
4
|
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
|
5
5
|
import type { ComponentProps } from 'react';
|
|
6
6
|
import renderWithTheme from '../../../testHelpers/renderWithTheme';
|
|
@@ -103,7 +103,9 @@ describe('Tabs', () => {
|
|
|
103
103
|
);
|
|
104
104
|
|
|
105
105
|
expect(getByText('Work Screen focused')).toBeDefined();
|
|
106
|
-
expect(
|
|
106
|
+
expect(
|
|
107
|
+
getByText('Personal Screen unfocused', { hidden: true })
|
|
108
|
+
).toBeDefined();
|
|
107
109
|
// Preload distance is 1, so Home Screen is not rendered.
|
|
108
110
|
expect(queryByText('Home Screen')).toBeNull();
|
|
109
111
|
|
|
@@ -146,34 +148,44 @@ describe('Tabs', () => {
|
|
|
146
148
|
|
|
147
149
|
describe('useIsFocused', () => {
|
|
148
150
|
it('renders correctly', async () => {
|
|
149
|
-
const { getByText, toJSON } = renderWithTheme(
|
|
151
|
+
const { getByText, toJSON } = renderWithTheme(
|
|
152
|
+
<TestTabsComponent lazyPreloadDistance={4} />
|
|
153
|
+
);
|
|
150
154
|
|
|
151
155
|
expect(toJSON()).toMatchSnapshot();
|
|
152
156
|
expect(getByText('Work Screen focused')).toBeDefined();
|
|
153
|
-
expect(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
);
|
|
157
|
-
expect(getByText('
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
157
|
+
expect(
|
|
158
|
+
getByText('Personal Screen unfocused', { hidden: true })
|
|
159
|
+
).toBeDefined();
|
|
160
|
+
expect(getByText('Home Screen unfocused', { hidden: true })).toBeDefined();
|
|
161
|
+
expect(getByText('Money Screen unfocused', { hidden: true })).toBeDefined();
|
|
162
|
+
|
|
163
|
+
act(() => {
|
|
164
|
+
fireEvent.press(getByText('Personal'));
|
|
165
|
+
});
|
|
162
166
|
expect(getByText('Personal Screen focused')).toBeDefined();
|
|
163
|
-
expect(getByText('Work Screen unfocused')).toBeDefined();
|
|
164
|
-
expect(getByText('Home Screen unfocused')).toBeDefined();
|
|
165
|
-
expect(getByText('Money Screen unfocused')).toBeDefined();
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
expect(getByText('Work Screen unfocused', { hidden: true })).toBeDefined();
|
|
168
|
+
expect(getByText('Home Screen unfocused', { hidden: true })).toBeDefined();
|
|
169
|
+
expect(getByText('Money Screen unfocused', { hidden: true })).toBeDefined();
|
|
170
|
+
|
|
171
|
+
act(() => {
|
|
172
|
+
fireEvent.press(getByText('Home'));
|
|
173
|
+
});
|
|
174
|
+
expect(
|
|
175
|
+
getByText('Personal Screen unfocused', { hidden: true })
|
|
176
|
+
).toBeDefined();
|
|
177
|
+
expect(getByText('Work Screen unfocused', { hidden: true })).toBeDefined();
|
|
170
178
|
expect(getByText('Home Screen focused')).toBeDefined();
|
|
171
|
-
expect(getByText('Money Screen unfocused')).toBeDefined();
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
expect(
|
|
179
|
+
expect(getByText('Money Screen unfocused', { hidden: true })).toBeDefined();
|
|
180
|
+
|
|
181
|
+
act(() => {
|
|
182
|
+
fireEvent.press(getByText('Money'));
|
|
183
|
+
});
|
|
184
|
+
expect(
|
|
185
|
+
getByText('Personal Screen unfocused', { hidden: true })
|
|
186
|
+
).toBeDefined();
|
|
187
|
+
expect(getByText('Work Screen unfocused', { hidden: true })).toBeDefined();
|
|
188
|
+
expect(getByText('Home Screen unfocused', { hidden: true })).toBeDefined();
|
|
177
189
|
expect(getByText('Money Screen focused')).toBeDefined();
|
|
178
190
|
expect(getByText('50')).toBeDefined();
|
|
179
191
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTheme } from '@emotion/react';
|
|
2
|
-
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
3
3
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import type { StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
5
5
|
import { Animated, TouchableWithoutFeedback, View } from 'react-native';
|
|
@@ -114,7 +114,7 @@ const Tabs = ({
|
|
|
114
114
|
lazyPreloadDistance = 1,
|
|
115
115
|
swipeEnabled = true,
|
|
116
116
|
testID: componentTestID,
|
|
117
|
-
}: TabsProps):
|
|
117
|
+
}: TabsProps): ReactElement => {
|
|
118
118
|
const theme = useTheme();
|
|
119
119
|
const insets = useSafeAreaInsets();
|
|
120
120
|
const pagerViewRef = useRef<PagerView>(null);
|
|
@@ -36,7 +36,7 @@ const Tag = ({
|
|
|
36
36
|
style,
|
|
37
37
|
testID,
|
|
38
38
|
...nativeProps
|
|
39
|
-
}: TagProps):
|
|
39
|
+
}: TagProps): ReactElement => {
|
|
40
40
|
useDeprecation(
|
|
41
41
|
`Tag's variant prop is deprecated and will be removed in the next major release. Please remove it.`,
|
|
42
42
|
variant !== undefined
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { fireEvent } from '@testing-library/react-native';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { ModalProps } from 'react-native';
|
|
4
3
|
import renderWithTheme from '../../../testHelpers/renderWithTheme';
|
|
5
4
|
import TimePickerIOS from '../TimePickerIOS';
|
|
6
5
|
import { setOrientation } from '../../../testHelpers/utils';
|
|
7
6
|
|
|
8
|
-
jest.mock('react-native/Libraries/Modal/Modal', () => {
|
|
9
|
-
const Modal = jest.requireActual('react-native/Libraries/Modal/Modal');
|
|
10
|
-
return (props: ModalProps) => <Modal {...props} />;
|
|
11
|
-
});
|
|
12
|
-
|
|
13
7
|
describe('TimePickerIOS', () => {
|
|
14
8
|
it('renders correctly', () => {
|
|
15
9
|
const onChange = jest.fn();
|