@amazon-devices/react-navigation__stack 8.0.9000000001 → 8.0.9000000002

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 (76) hide show
  1. package/kepler-compatibility.json +2 -1
  2. package/lib/module/index.js +0 -34
  3. package/lib/module/views/Stack/CardStack.js.map +1 -1
  4. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  5. package/package.json +1 -1
  6. package/src/index.tsx +0 -56
  7. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +0 -394
  8. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +0 -262
  9. package/lib/module/TransitionConfigs/TransitionPresets.js +0 -156
  10. package/lib/module/TransitionConfigs/TransitionSpecs.js +0 -124
  11. package/lib/module/navigators/createStackNavigator.js +0 -71
  12. package/lib/module/types.js +0 -4
  13. package/lib/module/utils/CardAnimationContext.js +0 -5
  14. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  15. package/lib/module/utils/ModalPresentationContext.js +0 -5
  16. package/lib/module/utils/conditional.js +0 -28
  17. package/lib/module/utils/findLastIndex.js +0 -11
  18. package/lib/module/utils/gestureActivationCriteria.js +0 -60
  19. package/lib/module/utils/getDistanceForDirection.js +0 -15
  20. package/lib/module/utils/getInvertedMultiplier.js +0 -15
  21. package/lib/module/utils/getModalRoutesKeys.js +0 -12
  22. package/lib/module/utils/getShadowStyle.js +0 -24
  23. package/lib/module/utils/throttle.js +0 -14
  24. package/lib/module/utils/useCardAnimation.js +0 -12
  25. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  26. package/lib/module/utils/useKeyboardManager.js +0 -90
  27. package/lib/module/views/GestureHandler.android.js +0 -4
  28. package/lib/module/views/GestureHandler.ios.js +0 -4
  29. package/lib/module/views/GestureHandler.js +0 -21
  30. package/lib/module/views/GestureHandler.kepler.js +0 -4
  31. package/lib/module/views/GestureHandlerNative.js +0 -18
  32. package/lib/module/views/Header/Header.js +0 -56
  33. package/lib/module/views/Header/HeaderContainer.js +0 -128
  34. package/lib/module/views/Header/HeaderSegment.js +0 -142
  35. package/lib/module/views/Screens.js +0 -42
  36. package/lib/module/views/Stack/Card.js +0 -433
  37. package/lib/module/views/Stack/CardA11yWrapper.js +0 -43
  38. package/lib/module/views/Stack/CardContainer.js +0 -276
  39. package/lib/module/views/Stack/CardContent.js +0 -74
  40. package/lib/module/views/Stack/CardStack.js +0 -498
  41. package/lib/module/views/Stack/StackView.js +0 -339
  42. package/src/TransitionConfigs/CardStyleInterpolators.tsx +0 -460
  43. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +0 -286
  44. package/src/TransitionConfigs/TransitionPresets.tsx +0 -182
  45. package/src/TransitionConfigs/TransitionSpecs.tsx +0 -124
  46. package/src/navigators/createStackNavigator.tsx +0 -120
  47. package/src/types.tsx +0 -639
  48. package/src/utils/CardAnimationContext.tsx +0 -7
  49. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  50. package/src/utils/ModalPresentationContext.tsx +0 -3
  51. package/src/utils/conditional.tsx +0 -33
  52. package/src/utils/findLastIndex.tsx +0 -9
  53. package/src/utils/gestureActivationCriteria.tsx +0 -70
  54. package/src/utils/getDistanceForDirection.tsx +0 -19
  55. package/src/utils/getInvertedMultiplier.tsx +0 -17
  56. package/src/utils/getModalRoutesKeys.ts +0 -21
  57. package/src/utils/getShadowStyle.tsx +0 -37
  58. package/src/utils/throttle.tsx +0 -16
  59. package/src/utils/useCardAnimation.tsx +0 -15
  60. package/src/utils/useGestureHandlerRef.tsx +0 -15
  61. package/src/utils/useKeyboardManager.tsx +0 -103
  62. package/src/views/GestureHandler.android.tsx +0 -1
  63. package/src/views/GestureHandler.ios.tsx +0 -1
  64. package/src/views/GestureHandler.kepler.tsx +0 -1
  65. package/src/views/GestureHandler.tsx +0 -23
  66. package/src/views/GestureHandlerNative.tsx +0 -23
  67. package/src/views/Header/Header.tsx +0 -73
  68. package/src/views/Header/HeaderContainer.tsx +0 -191
  69. package/src/views/Header/HeaderSegment.tsx +0 -203
  70. package/src/views/Screens.tsx +0 -45
  71. package/src/views/Stack/Card.tsx +0 -646
  72. package/src/views/Stack/CardA11yWrapper.tsx +0 -67
  73. package/src/views/Stack/CardContainer.tsx +0 -339
  74. package/src/views/Stack/CardContent.tsx +0 -92
  75. package/src/views/Stack/CardStack.tsx +0 -849
  76. package/src/views/Stack/StackView.tsx +0 -485
@@ -1,203 +0,0 @@
1
- import {
2
- getDefaultHeaderHeight,
3
- Header,
4
- HeaderBackButton,
5
- type HeaderBackButtonProps,
6
- HeaderTitle,
7
- } from '@amazon-devices/react-navigation__elements';
8
- import { useLocale } from '@amazon-devices/react-navigation__native';
9
- import * as React from 'react';
10
- import {
11
- type LayoutChangeEvent,
12
- Platform,
13
- StyleSheet,
14
- type ViewStyle,
15
- } from 'react-native';
16
-
17
- import type {
18
- Layout,
19
- SceneProgress,
20
- StackHeaderOptions,
21
- StackHeaderStyleInterpolator,
22
- } from '../../types';
23
-
24
- type Props = Omit<StackHeaderOptions, 'headerStatusBarHeight'> & {
25
- headerStatusBarHeight: number;
26
- layout: Layout;
27
- title: string;
28
- modal: boolean;
29
- onGoBack?: () => void;
30
- backHref?: string;
31
- progress: SceneProgress;
32
- styleInterpolator: StackHeaderStyleInterpolator;
33
- };
34
-
35
- export function HeaderSegment(props: Props) {
36
- const { direction } = useLocale();
37
-
38
- const [leftLabelLayout, setLeftLabelLayout] = React.useState<
39
- Layout | undefined
40
- >(undefined);
41
-
42
- const [titleLayout, setTitleLayout] = React.useState<Layout | undefined>(
43
- undefined
44
- );
45
-
46
- const handleTitleLayout = (e: LayoutChangeEvent) => {
47
- const { height, width } = e.nativeEvent.layout;
48
-
49
- setTitleLayout((titleLayout) => {
50
- if (
51
- titleLayout &&
52
- height === titleLayout.height &&
53
- width === titleLayout.width
54
- ) {
55
- return titleLayout;
56
- }
57
-
58
- return { height, width };
59
- });
60
- };
61
-
62
- const handleLeftLabelLayout = (e: LayoutChangeEvent) => {
63
- const { height, width } = e.nativeEvent.layout;
64
-
65
- if (
66
- leftLabelLayout &&
67
- height === leftLabelLayout.height &&
68
- width === leftLabelLayout.width
69
- ) {
70
- return;
71
- }
72
-
73
- setLeftLabelLayout({ height, width });
74
- };
75
-
76
- const {
77
- progress,
78
- layout,
79
- modal,
80
- onGoBack,
81
- backHref,
82
- headerTitle: title,
83
- headerLeft: left = onGoBack
84
- ? (props: HeaderBackButtonProps) => <HeaderBackButton {...props} />
85
- : undefined,
86
- headerRight: right,
87
- headerBackImage,
88
- headerBackTitle,
89
- headerBackButtonDisplayMode = Platform.OS === 'ios' ? 'default' : 'minimal',
90
- headerBackTruncatedTitle,
91
- headerBackAccessibilityLabel,
92
- headerBackTestID,
93
- headerBackAllowFontScaling,
94
- headerBackTitleStyle,
95
- headerTitleContainerStyle,
96
- headerLeftContainerStyle,
97
- headerRightContainerStyle,
98
- headerBackgroundContainerStyle,
99
- headerStyle: customHeaderStyle,
100
- headerStatusBarHeight,
101
- styleInterpolator,
102
- ...rest
103
- } = props;
104
-
105
- const defaultHeight = getDefaultHeaderHeight(
106
- layout,
107
- modal,
108
- headerStatusBarHeight
109
- );
110
-
111
- const { height = defaultHeight } = StyleSheet.flatten(
112
- customHeaderStyle || {}
113
- ) as ViewStyle;
114
-
115
- const headerHeight = typeof height === 'number' ? height : defaultHeight;
116
-
117
- const {
118
- titleStyle,
119
- leftButtonStyle,
120
- leftLabelStyle,
121
- rightButtonStyle,
122
- backgroundStyle,
123
- } = React.useMemo(
124
- () =>
125
- styleInterpolator({
126
- current: { progress: progress.current },
127
- next: progress.next && { progress: progress.next },
128
- direction,
129
- layouts: {
130
- header: {
131
- height: headerHeight,
132
- width: layout.width,
133
- },
134
- screen: layout,
135
- title: titleLayout,
136
- leftLabel: leftLabelLayout,
137
- },
138
- }),
139
- [
140
- styleInterpolator,
141
- progress,
142
- direction,
143
- headerHeight,
144
- layout,
145
- titleLayout,
146
- leftLabelLayout,
147
- ]
148
- );
149
-
150
- const headerLeft: StackHeaderOptions['headerLeft'] = left
151
- ? (props) =>
152
- left({
153
- ...props,
154
- href: backHref,
155
- backImage: headerBackImage,
156
- accessibilityLabel: headerBackAccessibilityLabel,
157
- testID: headerBackTestID,
158
- allowFontScaling: headerBackAllowFontScaling,
159
- onPress: onGoBack,
160
- label: headerBackTitle,
161
- truncatedLabel: headerBackTruncatedTitle,
162
- labelStyle: [leftLabelStyle, headerBackTitleStyle],
163
- onLabelLayout: handleLeftLabelLayout,
164
- screenLayout: layout,
165
- titleLayout,
166
- canGoBack: Boolean(onGoBack),
167
- })
168
- : undefined;
169
-
170
- const headerRight: StackHeaderOptions['headerRight'] = right
171
- ? (props) =>
172
- right({
173
- ...props,
174
- canGoBack: Boolean(onGoBack),
175
- })
176
- : undefined;
177
-
178
- const headerTitle: StackHeaderOptions['headerTitle'] =
179
- typeof title !== 'function'
180
- ? (props) => <HeaderTitle {...props} onLayout={handleTitleLayout} />
181
- : (props) => title({ ...props, onLayout: handleTitleLayout });
182
-
183
- return (
184
- <Header
185
- modal={modal}
186
- layout={layout}
187
- headerTitle={headerTitle}
188
- headerLeft={headerLeft}
189
- headerRight={headerRight}
190
- headerTitleContainerStyle={[titleStyle, headerTitleContainerStyle]}
191
- headerLeftContainerStyle={[leftButtonStyle, headerLeftContainerStyle]}
192
- headerRightContainerStyle={[rightButtonStyle, headerRightContainerStyle]}
193
- headerBackButtonDisplayMode={headerBackButtonDisplayMode}
194
- headerBackgroundContainerStyle={[
195
- backgroundStyle,
196
- headerBackgroundContainerStyle,
197
- ]}
198
- headerStyle={customHeaderStyle}
199
- headerStatusBarHeight={headerStatusBarHeight}
200
- {...rest}
201
- />
202
- );
203
- }
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
- import { Animated, View, type ViewProps } from 'react-native';
3
-
4
- let Screens: typeof import('@amazon-devices/react-native-screens') | undefined;
5
-
6
- try {
7
- Screens = require('@amazon-devices/react-native-screens');
8
- } catch (e) {
9
- // Ignore
10
- }
11
-
12
- export const MaybeScreenContainer = ({
13
- enabled,
14
- ...rest
15
- }: ViewProps & {
16
- enabled: boolean;
17
- children: React.ReactNode;
18
- }) => {
19
- if (Screens != null) {
20
- return <Screens.ScreenContainer enabled={enabled} {...rest} />;
21
- }
22
-
23
- return <View {...rest} />;
24
- };
25
-
26
- export const MaybeScreen = ({
27
- enabled,
28
- active,
29
- ...rest
30
- }: ViewProps & {
31
- enabled: boolean;
32
- active: 0 | 1 | Animated.AnimatedInterpolation<0 | 1>;
33
- children: React.ReactNode;
34
- freezeOnBlur?: boolean;
35
- shouldFreeze: boolean;
36
- homeIndicatorHidden?: boolean;
37
- }) => {
38
- if (Screens != null) {
39
- return (
40
- <Screens.Screen enabled={enabled} activityState={active} {...rest} />
41
- );
42
- }
43
-
44
- return <View {...rest} />;
45
- };