@amazon-devices/react-navigation__stack 8.0.9000000000 → 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 (81) hide show
  1. package/SystemModules/amzn__react-navigation__stack-8.private.modules.txt +39 -34
  2. package/kepler-compatibility.json +4 -2
  3. package/lib/module/index.js +0 -34
  4. package/lib/typescript/src/index.d.ts +1 -1
  5. package/lib/typescript/src/index.d.ts.map +1 -1
  6. package/oss-attribution/attribution.txt +76 -0
  7. package/oss-attribution/licenseInfos.json +27 -0
  8. package/package.json +1 -1
  9. package/src/index.tsx +0 -55
  10. package/SystemBundles/98ca5eeb45684e3e5615c766e1d3a956fee53d14cd6c2318098c23c210bd76d7.bundle +0 -13464
  11. package/SystemBundles/98ca5eeb45684e3e5615c766e1d3a956fee53d14cd6c2318098c23c210bd76d7.map +0 -4638
  12. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +0 -394
  13. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +0 -262
  14. package/lib/module/TransitionConfigs/TransitionPresets.js +0 -156
  15. package/lib/module/TransitionConfigs/TransitionSpecs.js +0 -124
  16. package/lib/module/navigators/createStackNavigator.js +0 -71
  17. package/lib/module/types.js +0 -4
  18. package/lib/module/utils/CardAnimationContext.js +0 -5
  19. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  20. package/lib/module/utils/ModalPresentationContext.js +0 -5
  21. package/lib/module/utils/conditional.js +0 -28
  22. package/lib/module/utils/findLastIndex.js +0 -11
  23. package/lib/module/utils/gestureActivationCriteria.js +0 -60
  24. package/lib/module/utils/getDistanceForDirection.js +0 -15
  25. package/lib/module/utils/getInvertedMultiplier.js +0 -15
  26. package/lib/module/utils/getModalRoutesKeys.js +0 -12
  27. package/lib/module/utils/getShadowStyle.js +0 -24
  28. package/lib/module/utils/throttle.js +0 -14
  29. package/lib/module/utils/useCardAnimation.js +0 -12
  30. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  31. package/lib/module/utils/useKeyboardManager.js +0 -90
  32. package/lib/module/views/GestureHandler.android.js +0 -4
  33. package/lib/module/views/GestureHandler.ios.js +0 -4
  34. package/lib/module/views/GestureHandler.js +0 -21
  35. package/lib/module/views/GestureHandler.kepler.js +0 -4
  36. package/lib/module/views/GestureHandlerNative.js +0 -18
  37. package/lib/module/views/Header/Header.js +0 -56
  38. package/lib/module/views/Header/HeaderContainer.js +0 -128
  39. package/lib/module/views/Header/HeaderSegment.js +0 -142
  40. package/lib/module/views/Screens.js +0 -42
  41. package/lib/module/views/Stack/Card.js +0 -433
  42. package/lib/module/views/Stack/CardA11yWrapper.js +0 -43
  43. package/lib/module/views/Stack/CardContainer.js +0 -276
  44. package/lib/module/views/Stack/CardContent.js +0 -74
  45. package/lib/module/views/Stack/CardStack.js +0 -493
  46. package/lib/module/views/Stack/StackView.js +0 -339
  47. package/src/TransitionConfigs/CardStyleInterpolators.tsx +0 -460
  48. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +0 -286
  49. package/src/TransitionConfigs/TransitionPresets.tsx +0 -182
  50. package/src/TransitionConfigs/TransitionSpecs.tsx +0 -124
  51. package/src/navigators/createStackNavigator.tsx +0 -120
  52. package/src/types.tsx +0 -639
  53. package/src/utils/CardAnimationContext.tsx +0 -7
  54. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  55. package/src/utils/ModalPresentationContext.tsx +0 -3
  56. package/src/utils/conditional.tsx +0 -33
  57. package/src/utils/findLastIndex.tsx +0 -9
  58. package/src/utils/gestureActivationCriteria.tsx +0 -70
  59. package/src/utils/getDistanceForDirection.tsx +0 -19
  60. package/src/utils/getInvertedMultiplier.tsx +0 -17
  61. package/src/utils/getModalRoutesKeys.ts +0 -21
  62. package/src/utils/getShadowStyle.tsx +0 -37
  63. package/src/utils/throttle.tsx +0 -16
  64. package/src/utils/useCardAnimation.tsx +0 -15
  65. package/src/utils/useGestureHandlerRef.tsx +0 -15
  66. package/src/utils/useKeyboardManager.tsx +0 -103
  67. package/src/views/GestureHandler.android.tsx +0 -1
  68. package/src/views/GestureHandler.ios.tsx +0 -1
  69. package/src/views/GestureHandler.kepler.tsx +0 -1
  70. package/src/views/GestureHandler.tsx +0 -23
  71. package/src/views/GestureHandlerNative.tsx +0 -23
  72. package/src/views/Header/Header.tsx +0 -73
  73. package/src/views/Header/HeaderContainer.tsx +0 -191
  74. package/src/views/Header/HeaderSegment.tsx +0 -203
  75. package/src/views/Screens.tsx +0 -45
  76. package/src/views/Stack/Card.tsx +0 -646
  77. package/src/views/Stack/CardA11yWrapper.tsx +0 -67
  78. package/src/views/Stack/CardContainer.tsx +0 -339
  79. package/src/views/Stack/CardContent.tsx +0 -92
  80. package/src/views/Stack/CardStack.tsx +0 -844
  81. 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
- };