@react-navigation/stack 8.0.0-alpha.6 → 8.0.0-alpha.60

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 (147) hide show
  1. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +280 -84
  2. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
  3. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +11 -44
  4. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
  5. package/lib/module/TransitionConfigs/TransitionEasings.js +71 -0
  6. package/lib/module/TransitionConfigs/TransitionEasings.js.map +1 -0
  7. package/lib/module/TransitionConfigs/TransitionPresets.js +50 -10
  8. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
  9. package/lib/module/TransitionConfigs/TransitionSpecs.js +69 -34
  10. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
  11. package/lib/module/index.js +2 -2
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/navigators/createStackNavigator.js +37 -33
  14. package/lib/module/navigators/createStackNavigator.js.map +1 -1
  15. package/lib/module/utils/GestureHandlerContext.js +5 -0
  16. package/lib/module/utils/GestureHandlerContext.js.map +1 -0
  17. package/lib/module/utils/gestureActivationCriteria.js +10 -8
  18. package/lib/module/utils/gestureActivationCriteria.js.map +1 -1
  19. package/lib/module/utils/useCardAnimation.js +1 -1
  20. package/lib/module/utils/useCardAnimation.js.map +1 -1
  21. package/lib/module/utils/useGestureHandler.js +9 -0
  22. package/lib/module/utils/useGestureHandler.js.map +1 -0
  23. package/lib/module/utils/useKeyboardManager.js +71 -26
  24. package/lib/module/utils/useKeyboardManager.js.map +1 -1
  25. package/lib/module/views/GestureHandler.js +15 -14
  26. package/lib/module/views/GestureHandler.js.map +1 -1
  27. package/lib/module/views/GestureHandlerNative.js +16 -10
  28. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  29. package/lib/module/views/Header/Header.js +4 -2
  30. package/lib/module/views/Header/Header.js.map +1 -1
  31. package/lib/module/views/Header/HeaderContainer.js +60 -21
  32. package/lib/module/views/Header/HeaderContainer.js.map +1 -1
  33. package/lib/module/views/Header/HeaderSegment.js +6 -9
  34. package/lib/module/views/Header/HeaderSegment.js.map +1 -1
  35. package/lib/module/views/Stack/Card.js +170 -123
  36. package/lib/module/views/Stack/Card.js.map +1 -1
  37. package/lib/module/views/Stack/CardContainer.js +96 -98
  38. package/lib/module/views/Stack/CardContainer.js.map +1 -1
  39. package/lib/module/views/Stack/CardContent.js +10 -37
  40. package/lib/module/views/Stack/CardContent.js.map +1 -1
  41. package/lib/module/views/Stack/CardStack.js +211 -147
  42. package/lib/module/views/Stack/CardStack.js.map +1 -1
  43. package/lib/module/views/Stack/StackView.js +106 -57
  44. package/lib/module/views/Stack/StackView.js.map +1 -1
  45. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +20 -12
  46. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -1
  47. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +4 -4
  48. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  49. package/lib/typescript/src/TransitionConfigs/TransitionEasings.d.ts +38 -0
  50. package/lib/typescript/src/TransitionConfigs/TransitionEasings.d.ts.map +1 -0
  51. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +15 -3
  52. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
  53. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +44 -15
  54. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
  55. package/lib/typescript/src/index.d.ts +12 -12
  56. package/lib/typescript/src/index.d.ts.map +1 -1
  57. package/lib/typescript/src/navigators/createStackNavigator.d.ts +10 -15
  58. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  59. package/lib/typescript/src/types.d.ts +120 -108
  60. package/lib/typescript/src/types.d.ts.map +1 -1
  61. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -1
  62. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  63. package/lib/typescript/src/utils/GestureHandlerContext.d.ts +3 -0
  64. package/lib/typescript/src/utils/GestureHandlerContext.d.ts.map +1 -0
  65. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts +4 -51
  66. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts.map +1 -1
  67. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  68. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  69. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  70. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  71. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts +1 -1
  72. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +1 -1
  73. package/lib/typescript/src/utils/getShadowStyle.d.ts +5 -5
  74. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  75. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  76. package/lib/typescript/src/utils/useGestureHandler.d.ts +2 -0
  77. package/lib/typescript/src/utils/useGestureHandler.d.ts.map +1 -0
  78. package/lib/typescript/src/utils/useKeyboardManager.d.ts +12 -2
  79. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
  80. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -1
  81. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -1
  82. package/lib/typescript/src/views/GestureHandler.d.ts +7 -11
  83. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  84. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -1
  85. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -1
  86. package/lib/typescript/src/views/GestureHandlerNative.d.ts +9 -4
  87. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  88. package/lib/typescript/src/views/Header/Header.d.ts +2 -2
  89. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  90. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +9 -3
  91. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  92. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +6 -4
  93. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  94. package/lib/typescript/src/views/Stack/Card.d.ts +14 -8
  95. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  96. package/lib/typescript/src/views/Stack/CardContainer.d.ts +7 -7
  97. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  98. package/lib/typescript/src/views/Stack/CardContent.d.ts +1 -1
  99. package/lib/typescript/src/views/Stack/CardContent.d.ts.map +1 -1
  100. package/lib/typescript/src/views/Stack/CardStack.d.ts +10 -6
  101. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  102. package/lib/typescript/src/views/Stack/StackView.d.ts +14 -17
  103. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  104. package/package.json +23 -24
  105. package/src/TransitionConfigs/CardStyleInterpolators.tsx +399 -100
  106. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +15 -46
  107. package/src/TransitionConfigs/TransitionEasings.tsx +90 -0
  108. package/src/TransitionConfigs/TransitionPresets.tsx +56 -10
  109. package/src/TransitionConfigs/TransitionSpecs.tsx +68 -34
  110. package/src/index.tsx +3 -2
  111. package/src/navigators/createStackNavigator.tsx +74 -91
  112. package/src/types.tsx +149 -123
  113. package/src/utils/GestureHandlerContext.tsx +5 -0
  114. package/src/utils/gestureActivationCriteria.tsx +14 -10
  115. package/src/utils/useCardAnimation.tsx +1 -1
  116. package/src/utils/useGestureHandler.tsx +9 -0
  117. package/src/utils/useKeyboardManager.tsx +96 -33
  118. package/src/views/GestureHandler.tsx +24 -16
  119. package/src/views/GestureHandlerNative.tsx +24 -13
  120. package/src/views/Header/Header.tsx +4 -2
  121. package/src/views/Header/HeaderContainer.tsx +79 -37
  122. package/src/views/Header/HeaderSegment.tsx +10 -11
  123. package/src/views/Stack/Card.tsx +241 -154
  124. package/src/views/Stack/CardContainer.tsx +111 -127
  125. package/src/views/Stack/CardContent.tsx +13 -51
  126. package/src/views/Stack/CardStack.tsx +478 -335
  127. package/src/views/Stack/StackView.tsx +181 -82
  128. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  129. package/lib/module/utils/GestureHandlerRefContext.js.map +0 -1
  130. package/lib/module/utils/findLastIndex.js +0 -11
  131. package/lib/module/utils/findLastIndex.js.map +0 -1
  132. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  133. package/lib/module/utils/useGestureHandlerRef.js.map +0 -1
  134. package/lib/module/views/Stack/CardA11yWrapper.js +0 -43
  135. package/lib/module/views/Stack/CardA11yWrapper.js.map +0 -1
  136. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +0 -3
  137. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +0 -1
  138. package/lib/typescript/src/utils/findLastIndex.d.ts +0 -2
  139. package/lib/typescript/src/utils/findLastIndex.d.ts.map +0 -1
  140. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +0 -3
  141. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +0 -1
  142. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts +0 -15
  143. package/lib/typescript/src/views/Stack/CardA11yWrapper.d.ts.map +0 -1
  144. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  145. package/src/utils/findLastIndex.tsx +0 -9
  146. package/src/utils/useGestureHandlerRef.tsx +0 -15
  147. package/src/views/Stack/CardA11yWrapper.tsx +0 -67
@@ -7,26 +7,23 @@ import { StyleSheet, View } from 'react-native';
7
7
  import { ModalPresentationContext } from "../../utils/ModalPresentationContext.js";
8
8
  import { useKeyboardManager } from "../../utils/useKeyboardManager.js";
9
9
  import { Card } from "./Card.js";
10
- import { CardA11yWrapper } from "./CardA11yWrapper.js";
11
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const EPSILON = 0.1;
13
11
  function CardContainerInner({
14
12
  interpolationIndex,
15
13
  index,
16
14
  active,
17
15
  opening,
18
16
  closing,
17
+ closingAnimated,
18
+ nextClosingAnimated,
19
19
  gesture,
20
20
  focused,
21
21
  modal,
22
22
  getPreviousScene,
23
23
  getFocusedRoute,
24
- hasAbsoluteFloatHeader,
25
24
  headerHeight,
26
25
  onHeaderHeightChange,
27
26
  isParentHeaderShown,
28
- isNextScreenTransparent,
29
- detachCurrentScreen,
30
27
  layout,
31
28
  onCloseRoute,
32
29
  onOpenRoute,
@@ -41,24 +38,27 @@ function CardContainerInner({
41
38
  safeAreaInsetLeft,
42
39
  safeAreaInsetRight,
43
40
  safeAreaInsetTop,
44
- scene
41
+ scene,
42
+ children
45
43
  }) {
46
- const wrapperRef = React.useRef(null);
47
44
  const {
48
45
  direction
49
46
  } = useLocale();
50
- const parentHeaderHeight = React.useContext(HeaderHeightContext);
47
+ const parentHeaderHeight = React.use(HeaderHeightContext);
48
+ const {
49
+ options
50
+ } = scene.descriptor;
51
+ const enabled = options.keyboardHandlingEnabled !== false;
52
+ const contentRef = React.useRef(null);
51
53
  const {
52
54
  onPageChangeStart,
53
55
  onPageChangeCancel,
54
56
  onPageChangeConfirm
55
- } = useKeyboardManager(React.useCallback(() => {
56
- const {
57
- options,
58
- navigation
59
- } = scene.descriptor;
60
- return navigation.isFocused() && options.keyboardHandlingEnabled !== false;
61
- }, [scene.descriptor]));
57
+ } = useKeyboardManager({
58
+ enabled,
59
+ focused,
60
+ contentRef
61
+ });
62
62
  const handleOpen = () => {
63
63
  const {
64
64
  route
@@ -111,17 +111,14 @@ function CardContainerInner({
111
111
  closing,
112
112
  gesture
113
113
  }) => {
114
- wrapperRef.current?.setInert(closing);
115
114
  const {
116
115
  route
117
116
  } = scene.descriptor;
118
- if (!gesture) {
119
- onPageChangeConfirm?.(true);
120
- } else if (active && closing) {
121
- onPageChangeConfirm?.(false);
122
- } else {
123
- onPageChangeCancel?.();
124
- }
117
+ onPageChangeConfirm?.({
118
+ gesture,
119
+ active,
120
+ closing
121
+ });
125
122
  onTransitionStart?.({
126
123
  route
127
124
  }, closing);
@@ -135,18 +132,6 @@ function CardContainerInner({
135
132
  const {
136
133
  colors
137
134
  } = useTheme();
138
- React.useEffect(() => {
139
- const listener = scene.progress.next?.addListener?.(({
140
- value
141
- }) => {
142
- wrapperRef.current?.setInert(value > EPSILON);
143
- });
144
- return () => {
145
- if (listener) {
146
- scene.progress.next?.removeListener?.(listener);
147
- }
148
- };
149
- }, [scene.progress.next]);
150
135
  const {
151
136
  presentation,
152
137
  animation,
@@ -190,72 +175,85 @@ function CardContainerInner({
190
175
  return undefined;
191
176
  }, [canGoBack, backTitle, href]);
192
177
  const animated = animation !== 'none';
193
- return /*#__PURE__*/_jsx(CardA11yWrapper, {
194
- ref: wrapperRef,
195
- focused: focused,
196
- active: active,
178
+ const {
179
+ current,
180
+ next
181
+ } = React.useMemo(() => ({
182
+ current: {
183
+ progress: scene.progress.current,
184
+ closing: closingAnimated
185
+ },
186
+ next: scene.progress.next && nextClosingAnimated ? {
187
+ progress: scene.progress.next,
188
+ closing: nextClosingAnimated
189
+ } : undefined
190
+ }), [closingAnimated, nextClosingAnimated, scene.progress]);
191
+ return /*#__PURE__*/_jsx(Card, {
197
192
  animated: animated,
198
- isNextScreenTransparent: isNextScreenTransparent,
199
- detachCurrentScreen: detachCurrentScreen,
200
- children: /*#__PURE__*/_jsx(Card, {
201
- animated: animated,
202
- interpolationIndex: interpolationIndex,
203
- gestureDirection: gestureDirection,
204
- layout: layout,
205
- insets: insets,
206
- direction: direction,
207
- gesture: gesture,
208
- current: scene.progress.current,
209
- next: scene.progress.next,
210
- opening: opening,
211
- closing: closing,
212
- onOpen: handleOpen,
213
- onClose: handleClose,
214
- overlay: cardOverlay,
215
- overlayEnabled: cardOverlayEnabled,
216
- shadowEnabled: cardShadowEnabled,
217
- onTransition: handleTransition,
218
- onGestureBegin: handleGestureBegin,
219
- onGestureCanceled: handleGestureCanceled,
220
- onGestureEnd: handleGestureEnd,
221
- gestureEnabled: index === 0 ? false : gestureEnabled,
222
- gestureResponseDistance: gestureResponseDistance,
223
- gestureVelocityImpact: gestureVelocityImpact,
224
- transitionSpec: transitionSpec,
225
- styleInterpolator: cardStyleInterpolator,
226
- pageOverflowEnabled: headerMode !== 'float' && presentation !== 'modal',
227
- preloaded: preloaded,
228
- containerStyle: hasAbsoluteFloatHeader && headerMode !== 'screen' ? {
229
- marginTop: headerHeight
230
- } : null,
231
- contentStyle: [{
232
- backgroundColor: presentation === 'transparentModal' ? 'transparent' : colors.background
233
- }, cardStyle],
234
- children: /*#__PURE__*/_jsx(View, {
235
- style: styles.container,
236
- children: /*#__PURE__*/_jsxs(ModalPresentationContext.Provider, {
237
- value: modal,
238
- children: [headerMode !== 'float' ? renderHeader({
239
- mode: 'screen',
240
- scenes: [previousScene, scene],
241
- getPreviousScene,
242
- getFocusedRoute,
243
- onContentHeightChange: onHeaderHeightChange,
244
- style: styles.header
245
- }) : null, /*#__PURE__*/_jsx(View, {
246
- style: styles.scene,
247
- children: /*#__PURE__*/_jsx(HeaderBackContext.Provider, {
248
- value: headerBack,
249
- children: /*#__PURE__*/_jsx(HeaderShownContext.Provider, {
250
- value: isParentHeaderShown || headerShown !== false,
251
- children: /*#__PURE__*/_jsx(HeaderHeightContext.Provider, {
252
- value: headerShown !== false ? headerHeight : parentHeaderHeight ?? 0,
253
- children: scene.descriptor.render()
254
- })
193
+ interpolationIndex: interpolationIndex,
194
+ gestureDirection: gestureDirection,
195
+ layout: layout,
196
+ insets: insets,
197
+ direction: direction,
198
+ gesture: gesture,
199
+ current: current,
200
+ next: next,
201
+ opening: opening,
202
+ closing: closing,
203
+ onOpen: handleOpen,
204
+ onClose: handleClose,
205
+ overlay: cardOverlay,
206
+ overlayEnabled: cardOverlayEnabled,
207
+ shadowEnabled: cardShadowEnabled,
208
+ onTransition: handleTransition,
209
+ onGestureBegin: handleGestureBegin,
210
+ onGestureCanceled: handleGestureCanceled,
211
+ onGestureEnd: handleGestureEnd,
212
+ gestureEnabled: index === 0 ? false : gestureEnabled,
213
+ gestureResponseDistance: gestureResponseDistance,
214
+ gestureVelocityImpact: gestureVelocityImpact,
215
+ transitionSpec: transitionSpec,
216
+ styleInterpolator: cardStyleInterpolator,
217
+ pageOverflowEnabled:
218
+ // Avoid unfocused larger pages increasing scroll area
219
+ // e.g. when a smaller screen is pushed over a larger one on web
220
+ active &&
221
+ // Float header disables full-page scrolling in browsers
222
+ // So we don't need to keep overflow enabled
223
+ headerMode !== 'float' &&
224
+ // Avoid modals scrolling the whole page
225
+ // Modal content should be scrollable within the modal
226
+ presentation !== 'modal',
227
+ preloaded: preloaded,
228
+ contentStyle: [{
229
+ backgroundColor: presentation === 'transparentModal' ? 'transparent' : colors.background
230
+ }, cardStyle],
231
+ children: /*#__PURE__*/_jsx(View, {
232
+ ref: contentRef,
233
+ style: styles.container,
234
+ children: /*#__PURE__*/_jsxs(ModalPresentationContext.Provider, {
235
+ value: modal,
236
+ children: [headerMode !== 'float' ? renderHeader({
237
+ mode: 'screen',
238
+ scenes: [previousScene, scene],
239
+ getPreviousScene,
240
+ getFocusedRoute,
241
+ contentHeight: headerHeight,
242
+ onContentHeightChange: onHeaderHeightChange,
243
+ style: styles.header
244
+ }) : null, /*#__PURE__*/_jsx(View, {
245
+ style: styles.scene,
246
+ children: /*#__PURE__*/_jsx(HeaderBackContext.Provider, {
247
+ value: headerBack,
248
+ children: /*#__PURE__*/_jsx(HeaderShownContext.Provider, {
249
+ value: isParentHeaderShown || headerShown !== false,
250
+ children: /*#__PURE__*/_jsx(HeaderHeightContext.Provider, {
251
+ value: headerShown !== false ? headerHeight?.value ?? 0 : parentHeaderHeight ?? 0,
252
+ children: children
255
253
  })
256
254
  })
257
- })]
258
- })
255
+ })
256
+ })]
259
257
  })
260
258
  })
261
259
  });
@@ -1 +1 @@
1
- {"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useLinkBuilder","useLocale","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","CardA11yWrapper","jsx","_jsx","jsxs","_jsxs","EPSILON","CardContainerInner","interpolationIndex","index","active","opening","closing","gesture","focused","modal","getPreviousScene","getFocusedRoute","hasAbsoluteFloatHeader","headerHeight","onHeaderHeightChange","isParentHeaderShown","isNextScreenTransparent","detachCurrentScreen","layout","onCloseRoute","onOpenRoute","onGestureCancel","onGestureEnd","onGestureStart","onTransitionEnd","onTransitionStart","preloaded","renderHeader","safeAreaInsetBottom","safeAreaInsetLeft","safeAreaInsetRight","safeAreaInsetTop","scene","wrapperRef","useRef","direction","parentHeaderHeight","useContext","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","useCallback","options","navigation","descriptor","isFocused","keyboardHandlingEnabled","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","current","setInert","insets","top","right","bottom","left","colors","useEffect","listener","progress","next","addListener","value","removeListener","presentation","animation","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","buildHref","previousScene","backTitle","href","name","params","canGoBack","headerBack","useMemo","title","undefined","animated","ref","children","onOpen","onClose","overlay","overlayEnabled","shadowEnabled","onTransition","onGestureBegin","onGestureCanceled","styleInterpolator","pageOverflowEnabled","containerStyle","marginTop","contentStyle","backgroundColor","background","style","styles","container","Provider","mode","scenes","onContentHeightChange","header","render","CardContainer","memo","create","flex","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardContainer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useLinkBuilder","useLocale","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","jsx","_jsx","jsxs","_jsxs","CardContainerInner","interpolationIndex","index","active","opening","closing","closingAnimated","nextClosingAnimated","gesture","focused","modal","getPreviousScene","getFocusedRoute","headerHeight","onHeaderHeightChange","isParentHeaderShown","layout","onCloseRoute","onOpenRoute","onGestureCancel","onGestureEnd","onGestureStart","onTransitionEnd","onTransitionStart","preloaded","renderHeader","safeAreaInsetBottom","safeAreaInsetLeft","safeAreaInsetRight","safeAreaInsetTop","scene","children","direction","parentHeaderHeight","use","options","descriptor","enabled","keyboardHandlingEnabled","contentRef","useRef","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","insets","top","right","bottom","left","colors","presentation","animation","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","buildHref","previousScene","backTitle","href","name","params","canGoBack","headerBack","useMemo","title","undefined","animated","current","next","progress","onOpen","onClose","overlay","overlayEnabled","shadowEnabled","onTransition","onGestureBegin","onGestureCanceled","styleInterpolator","pageOverflowEnabled","contentStyle","backgroundColor","background","ref","style","styles","container","Provider","value","mode","scenes","contentHeight","onContentHeightChange","header","CardContainer","memo","create","flex","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardContainer.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,18 +3,18 @@
3
3
  import * as React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- // This component will render a page which overflows the screen
7
- // if the container fills the body by comparing the size
8
- // This lets the document.body handle scrolling of the content
9
- // It's necessary for mobile browsers to be able to hide address bar on scroll
10
6
  export function CardContent({
11
7
  enabled,
12
8
  layout,
13
9
  style,
14
10
  ...rest
15
11
  }) {
12
+ // If the container fills the body, we consider it to be a "page" that can overflow the screen
13
+ // So we adjust the style accordingly to let the content take more space if needed
14
+ // This lets the document.body handle scrolling of the content
15
+ // This is necessary for mobile browsers to be able to hide the address bar on scroll
16
16
  const [fill, setFill] = React.useState(false);
17
- React.useEffect(() => {
17
+ React.useLayoutEffect(() => {
18
18
  if (typeof document === 'undefined' || !document.body) {
19
19
  // Only run when DOM is available
20
20
  return;
@@ -22,39 +22,12 @@ export function CardContent({
22
22
  const width = document.body.clientWidth;
23
23
  const height = document.body.clientHeight;
24
24
 
25
- // Workaround for mobile Chrome, necessary when a navigation happens
26
- // when the address bar has already collapsed, which resulted in an
27
- // empty space at the bottom of the page (matching the height of the
28
- // address bar). To fix this, it's necessary to update the height of
29
- // the DOM with the current height of the window.
30
- // See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
31
- const isFullHeight = height === layout.height;
32
- const id = '__react-navigation-stack-mobile-chrome-viewport-fix';
33
- let unsubscribe;
34
- if (isFullHeight && navigator.maxTouchPoints > 0) {
35
- const style = document.getElementById(id) ?? document.createElement('style');
36
- style.id = id;
37
- const updateStyle = () => {
38
- const vh = window.innerHeight * 0.01;
39
- style.textContent = [`:root { --vh: ${vh}px; }`, `body { height: calc(var(--vh, 1vh) * 100); }`].join('\n');
40
- };
41
- updateStyle();
42
- if (!document.head.contains(style)) {
43
- document.head.appendChild(style);
44
- }
45
- window.addEventListener('resize', updateStyle);
46
- unsubscribe = () => {
47
- window.removeEventListener('resize', updateStyle);
48
- };
49
- } else {
50
- // Remove the workaround if the stack does not occupy the whole
51
- // height of the page
52
- document.getElementById(id)?.remove();
53
- }
25
+ // `document.body.clientHeight`/`clientWidth` are always rounded integers,
26
+ // But `layout` is sub-pixel precise, so we allow a small difference.
27
+ const approximatelyEqual = (a, b) => Math.abs(a - b) < 1;
54
28
 
55
- // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
56
- setFill(width === layout.width && height === layout.height);
57
- return unsubscribe;
29
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect
30
+ setFill(approximatelyEqual(width, layout.width) && approximatelyEqual(height, layout.height));
58
31
  }, [layout.height, layout.width]);
59
32
  return /*#__PURE__*/_jsx(View, {
60
33
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","CardContent","enabled","layout","style","rest","fill","setFill","useState","useEffect","document","body","width","clientWidth","height","clientHeight","isFullHeight","id","unsubscribe","navigator","maxTouchPoints","getElementById","createElement","updateStyle","vh","window","innerHeight","textContent","join","head","contains","appendChild","addEventListener","removeEventListener","remove","pointerEvents","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardContent.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQhE;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAC;EAAEC,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAY,CAAC,EAAE;EACtE,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAAC,KAAK,CAAC;EAE7CZ,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;;IAEzC;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,YAAY,GAAGF,MAAM,KAAKX,MAAM,CAACW,MAAM;IAC7C,MAAMG,EAAE,GAAG,qDAAqD;IAEhE,IAAIC,WAAqC;IAEzC,IAAIF,YAAY,IAAIG,SAAS,CAACC,cAAc,GAAG,CAAC,EAAE;MAChD,MAAMhB,KAAK,GACTM,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,IAAIP,QAAQ,CAACY,aAAa,CAAC,OAAO,CAAC;MAEhElB,KAAK,CAACa,EAAE,GAAGA,EAAE;MAEb,MAAMM,WAAW,GAAGA,CAAA,KAAM;QACxB,MAAMC,EAAE,GAAGC,MAAM,CAACC,WAAW,GAAG,IAAI;QAEpCtB,KAAK,CAACuB,WAAW,GAAG,CAClB,iBAAiBH,EAAE,OAAO,EAC1B,8CAA8C,CAC/C,CAACI,IAAI,CAAC,IAAI,CAAC;MACd,CAAC;MAEDL,WAAW,CAAC,CAAC;MAEb,IAAI,CAACb,QAAQ,CAACmB,IAAI,CAACC,QAAQ,CAAC1B,KAAK,CAAC,EAAE;QAClCM,QAAQ,CAACmB,IAAI,CAACE,WAAW,CAAC3B,KAAK,CAAC;MAClC;MAEAqB,MAAM,CAACO,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAAC;MAE9CL,WAAW,GAAGA,CAAA,KAAM;QAClBO,MAAM,CAACQ,mBAAmB,CAAC,QAAQ,EAAEV,WAAW,CAAC;MACnD,CAAC;IACH,CAAC,MAAM;MACL;MACA;MACAb,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,EAAEiB,MAAM,CAAC,CAAC;IACvC;;IAEA;IACA3B,OAAO,CAACK,KAAK,KAAKT,MAAM,CAACS,KAAK,IAAIE,MAAM,KAAKX,MAAM,CAACW,MAAM,CAAC;IAE3D,OAAOI,WAAW;EACpB,CAAC,EAAE,CAACf,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACS,KAAK,CAAC,CAAC;EAEjC,oBACEZ,IAAA,CAACF,IAAI;IAAA,GACCO,IAAI;IACRD,KAAK,EAAE,CACL;MAAE+B,aAAa,EAAE;IAAW,CAAC,EAC7BjC,OAAO,IAAII,IAAI,GAAG8B,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAC3ClC,KAAK;EACL,CACH,CAAC;AAEN;AAEA,MAAMgC,MAAM,GAAGvC,UAAU,CAAC0C,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","CardContent","enabled","layout","style","rest","fill","setFill","useState","useLayoutEffect","document","body","width","clientWidth","height","clientHeight","approximatelyEqual","a","b","Math","abs","pointerEvents","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardContent.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQhE,OAAO,SAASC,WAAWA,CAAC;EAAEC,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAY,CAAC,EAAE;EACtE;EACA;EACA;EACA;EACA,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAAC,KAAK,CAAC;EAE7CZ,KAAK,CAACa,eAAe,CAAC,MAAM;IAC1B,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;;IAEzC;IACA;IACA,MAAMC,kBAAkB,GAAGA,CAACC,CAAS,EAAEC,CAAS,KAAKC,IAAI,CAACC,GAAG,CAACH,CAAC,GAAGC,CAAC,CAAC,GAAG,CAAC;;IAExE;IACAX,OAAO,CACLS,kBAAkB,CAACJ,KAAK,EAAET,MAAM,CAACS,KAAK,CAAC,IACrCI,kBAAkB,CAACF,MAAM,EAAEX,MAAM,CAACW,MAAM,CAC5C,CAAC;EACH,CAAC,EAAE,CAACX,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACS,KAAK,CAAC,CAAC;EAEjC,oBACEZ,IAAA,CAACF,IAAI;IAAA,GACCO,IAAI;IACRD,KAAK,EAAE,CACL;MAAEiB,aAAa,EAAE;IAAW,CAAC,EAC7BnB,OAAO,IAAII,IAAI,GAAGgB,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAC3CpB,KAAK;EACL,CACH,CAAC;AAEN;AAEA,MAAMkB,MAAM,GAAGzB,UAAU,CAAC4B,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}