@react-navigation/stack 7.0.0-alpha.0 → 7.0.0-alpha.10
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/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +4 -5
- package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +19 -12
- package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js +11 -21
- package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +7 -14
- package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/commonjs/index.js +16 -17
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createStackNavigator.js +35 -28
- package/lib/commonjs/navigators/createStackNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/CardAnimationContext.js +4 -5
- package/lib/commonjs/utils/CardAnimationContext.js.map +1 -1
- package/lib/commonjs/utils/GestureHandlerRefContext.js +4 -5
- package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/commonjs/utils/ModalPresentationContext.js +4 -6
- package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -1
- package/lib/commonjs/utils/conditional.js +1 -1
- package/lib/commonjs/utils/conditional.js.map +1 -1
- package/lib/commonjs/utils/debounce.js +1 -1
- package/lib/commonjs/utils/debounce.js.map +1 -1
- package/lib/commonjs/utils/findLastIndex.js +2 -2
- package/lib/commonjs/utils/findLastIndex.js.map +1 -1
- package/lib/commonjs/utils/getDistanceForDirection.js +4 -5
- package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -1
- package/lib/commonjs/utils/getInvertedMultiplier.js +4 -5
- package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/commonjs/utils/memoize.js +1 -1
- package/lib/commonjs/utils/memoize.js.map +1 -1
- package/lib/commonjs/utils/useCardAnimation.js +5 -6
- package/lib/commonjs/utils/useCardAnimation.js.map +1 -1
- package/lib/commonjs/utils/useGestureHandlerRef.js +5 -6
- package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/commonjs/utils/useKeyboardManager.js +7 -7
- package/lib/commonjs/utils/useKeyboardManager.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +5 -8
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +4 -5
- package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
- package/lib/commonjs/views/Header/Header.js +11 -12
- package/lib/commonjs/views/Header/Header.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderContainer.js +15 -13
- package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -1
- package/lib/commonjs/views/Header/HeaderSegment.js +14 -7
- package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -1
- package/lib/commonjs/views/Screens.js +2 -2
- package/lib/commonjs/views/Screens.js.map +1 -1
- package/lib/commonjs/views/Stack/Card.js +236 -234
- package/lib/commonjs/views/Stack/Card.js.map +1 -1
- package/lib/commonjs/views/Stack/CardContainer.js +33 -30
- package/lib/commonjs/views/Stack/CardContainer.js.map +1 -1
- package/lib/commonjs/views/Stack/CardSheet.js +25 -5
- package/lib/commonjs/views/Stack/CardSheet.js.map +1 -1
- package/lib/commonjs/views/Stack/CardStack.js +131 -136
- package/lib/commonjs/views/Stack/CardStack.js.map +1 -1
- package/lib/commonjs/views/Stack/StackView.js +153 -164
- package/lib/commonjs/views/Stack/StackView.js.map +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js +1 -1
- package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +20 -13
- package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js +1 -1
- package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -1
- package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -1
- package/lib/module/index.js +7 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createStackNavigator.js +32 -23
- package/lib/module/navigators/createStackNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/CardAnimationContext.js +1 -1
- package/lib/module/utils/CardAnimationContext.js.map +1 -1
- package/lib/module/utils/GestureHandlerRefContext.js +1 -1
- package/lib/module/utils/GestureHandlerRefContext.js.map +1 -1
- package/lib/module/utils/ModalPresentationContext.js +1 -2
- package/lib/module/utils/ModalPresentationContext.js.map +1 -1
- package/lib/module/utils/conditional.js +1 -1
- package/lib/module/utils/conditional.js.map +1 -1
- package/lib/module/utils/debounce.js +1 -1
- package/lib/module/utils/debounce.js.map +1 -1
- package/lib/module/utils/findLastIndex.js +2 -2
- package/lib/module/utils/findLastIndex.js.map +1 -1
- package/lib/module/utils/getDistanceForDirection.js +3 -3
- package/lib/module/utils/getDistanceForDirection.js.map +1 -1
- package/lib/module/utils/getInvertedMultiplier.js +3 -4
- package/lib/module/utils/getInvertedMultiplier.js.map +1 -1
- package/lib/module/utils/memoize.js +1 -1
- package/lib/module/utils/memoize.js.map +1 -1
- package/lib/module/utils/useCardAnimation.js +2 -2
- package/lib/module/utils/useCardAnimation.js.map +1 -1
- package/lib/module/utils/useGestureHandlerRef.js +3 -3
- package/lib/module/utils/useGestureHandlerRef.js.map +1 -1
- package/lib/module/utils/useKeyboardManager.js +5 -5
- package/lib/module/utils/useKeyboardManager.js.map +1 -1
- package/lib/module/views/GestureHandler.android.js.map +1 -1
- package/lib/module/views/GestureHandler.ios.js.map +1 -1
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/GestureHandlerNative.js +1 -1
- package/lib/module/views/GestureHandlerNative.js.map +1 -1
- package/lib/module/views/Header/Header.js +5 -4
- package/lib/module/views/Header/Header.js.map +1 -1
- package/lib/module/views/Header/HeaderContainer.js +13 -10
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Header/HeaderSegment.js +11 -3
- package/lib/module/views/Header/HeaderSegment.js.map +1 -1
- package/lib/module/views/Screens.js.map +1 -1
- package/lib/module/views/Stack/Card.js +231 -228
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardContainer.js +28 -23
- package/lib/module/views/Stack/CardContainer.js.map +1 -1
- package/lib/module/views/Stack/CardSheet.js +22 -1
- package/lib/module/views/Stack/CardSheet.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +124 -128
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +149 -159
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +3 -3
- package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -7
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createStackNavigator.d.ts +6 -6
- package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +47 -9
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -2
- package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
- package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +1 -2
- package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -1
- package/lib/typescript/src/utils/ModalPresentationContext.d.ts +1 -2
- package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -1
- package/lib/typescript/src/utils/conditional.d.ts +1 -1
- package/lib/typescript/src/utils/conditional.d.ts.map +1 -1
- package/lib/typescript/src/utils/debounce.d.ts +1 -1
- package/lib/typescript/src/utils/debounce.d.ts.map +1 -1
- package/lib/typescript/src/utils/findLastIndex.d.ts +1 -1
- package/lib/typescript/src/utils/findLastIndex.d.ts.map +1 -1
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
- package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
- package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
- package/lib/typescript/src/utils/memoize.d.ts +1 -1
- package/lib/typescript/src/utils/memoize.d.ts.map +1 -1
- package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
- package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
- package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +1 -1
- package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -1
- package/lib/typescript/src/utils/useKeyboardManager.d.ts +1 -1
- package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -1
- package/lib/typescript/src/views/GestureHandlerNative.d.ts +3 -3
- package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/Header.d.ts +1 -2
- package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts +4 -4
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
- package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
- package/lib/typescript/src/views/Screens.d.ts +4 -3
- package/lib/typescript/src/views/Screens.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/Card.d.ts +7 -6
- package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardContainer.d.ts +5 -8
- package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardSheet.d.ts +2 -3
- package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardStack.d.ts +5 -6
- package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/StackView.d.ts +10 -81
- package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
- package/package.json +20 -21
- package/src/TransitionConfigs/CardStyleInterpolators.tsx +6 -6
- package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +32 -22
- package/src/TransitionConfigs/TransitionPresets.tsx +4 -4
- package/src/index.tsx +7 -7
- package/src/navigators/createStackNavigator.tsx +20 -9
- package/src/types.tsx +50 -10
- package/src/utils/CardAnimationContext.tsx +3 -3
- package/src/utils/GestureHandlerRefContext.tsx +1 -1
- package/src/utils/ModalPresentationContext.tsx +1 -3
- package/src/utils/conditional.tsx +1 -1
- package/src/utils/debounce.tsx +1 -1
- package/src/utils/findLastIndex.tsx +2 -5
- package/src/utils/getDistanceForDirection.tsx +5 -4
- package/src/utils/getInvertedMultiplier.tsx +5 -6
- package/src/utils/memoize.tsx +1 -1
- package/src/utils/useCardAnimation.tsx +2 -2
- package/src/utils/useGestureHandlerRef.tsx +3 -3
- package/src/utils/useKeyboardManager.tsx +2 -2
- package/src/views/GestureHandlerNative.tsx +2 -2
- package/src/views/Header/Header.tsx +7 -6
- package/src/views/Header/HeaderContainer.tsx +19 -8
- package/src/views/Header/HeaderSegment.tsx +14 -6
- package/src/views/Screens.tsx +2 -1
- package/src/views/Stack/Card.tsx +80 -61
- package/src/views/Stack/CardContainer.tsx +23 -14
- package/src/views/Stack/CardSheet.tsx +58 -35
- package/src/views/Stack/CardStack.tsx +220 -190
- package/src/views/Stack/StackView.tsx +29 -31
- package/lib/commonjs/views/ModalStatusBarManager.js +0 -44
- package/lib/commonjs/views/ModalStatusBarManager.js.map +0 -1
- package/lib/module/views/ModalStatusBarManager.js +0 -36
- package/lib/module/views/ModalStatusBarManager.js.map +0 -1
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts +0 -12
- package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +0 -1
- package/src/views/ModalStatusBarManager.tsx +0 -50
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { getHeaderTitle, HeaderBackContext, HeaderHeightContext, HeaderShownContext } from '@react-navigation/elements';
|
|
2
|
-
import { useTheme } from '@react-navigation/native';
|
|
2
|
+
import { useLinkBuilder, useLocale, useTheme } from '@react-navigation/native';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
|
-
import ModalPresentationContext from '../../utils/ModalPresentationContext';
|
|
6
|
-
import useKeyboardManager from '../../utils/useKeyboardManager';
|
|
7
|
-
import Card from './Card';
|
|
5
|
+
import { ModalPresentationContext } from '../../utils/ModalPresentationContext';
|
|
6
|
+
import { useKeyboardManager } from '../../utils/useKeyboardManager';
|
|
7
|
+
import { Card } from './Card';
|
|
8
8
|
const EPSILON = 0.1;
|
|
9
|
-
function
|
|
9
|
+
function CardContainerInner(_ref) {
|
|
10
10
|
let {
|
|
11
11
|
interpolationIndex,
|
|
12
12
|
index,
|
|
@@ -17,7 +17,6 @@ function CardContainer(_ref) {
|
|
|
17
17
|
modal,
|
|
18
18
|
getPreviousScene,
|
|
19
19
|
getFocusedRoute,
|
|
20
|
-
headerDarkContent,
|
|
21
20
|
hasAbsoluteFloatHeader,
|
|
22
21
|
headerHeight,
|
|
23
22
|
onHeaderHeightChange,
|
|
@@ -32,14 +31,17 @@ function CardContainer(_ref) {
|
|
|
32
31
|
onGestureStart,
|
|
33
32
|
onTransitionEnd,
|
|
34
33
|
onTransitionStart,
|
|
34
|
+
preloaded,
|
|
35
35
|
renderHeader,
|
|
36
|
-
renderScene,
|
|
37
36
|
safeAreaInsetBottom,
|
|
38
37
|
safeAreaInsetLeft,
|
|
39
38
|
safeAreaInsetRight,
|
|
40
39
|
safeAreaInsetTop,
|
|
41
40
|
scene
|
|
42
41
|
} = _ref;
|
|
42
|
+
const {
|
|
43
|
+
direction
|
|
44
|
+
} = useLocale();
|
|
43
45
|
const parentHeaderHeight = React.useContext(HeaderHeightContext);
|
|
44
46
|
const {
|
|
45
47
|
onPageChangeStart,
|
|
@@ -109,13 +111,13 @@ function CardContainer(_ref) {
|
|
|
109
111
|
route
|
|
110
112
|
} = scene.descriptor;
|
|
111
113
|
if (!gesture) {
|
|
112
|
-
onPageChangeConfirm
|
|
114
|
+
onPageChangeConfirm?.(true);
|
|
113
115
|
} else if (active && closing) {
|
|
114
|
-
onPageChangeConfirm
|
|
116
|
+
onPageChangeConfirm?.(false);
|
|
115
117
|
} else {
|
|
116
|
-
onPageChangeCancel
|
|
118
|
+
onPageChangeCancel?.();
|
|
117
119
|
}
|
|
118
|
-
onTransitionStart
|
|
120
|
+
onTransitionStart?.({
|
|
119
121
|
route
|
|
120
122
|
}, closing);
|
|
121
123
|
};
|
|
@@ -130,8 +132,7 @@ function CardContainer(_ref) {
|
|
|
130
132
|
} = useTheme();
|
|
131
133
|
const [pointerEvents, setPointerEvents] = React.useState('box-none');
|
|
132
134
|
React.useEffect(() => {
|
|
133
|
-
|
|
134
|
-
const listener = (_scene$progress$next = scene.progress.next) === null || _scene$progress$next === void 0 ? void 0 : (_scene$progress$next$ = _scene$progress$next.addListener) === null || _scene$progress$next$ === void 0 ? void 0 : _scene$progress$next$.call(_scene$progress$next, _ref3 => {
|
|
135
|
+
const listener = scene.progress.next?.addListener?.(_ref3 => {
|
|
135
136
|
let {
|
|
136
137
|
value
|
|
137
138
|
} = _ref3;
|
|
@@ -139,8 +140,7 @@ function CardContainer(_ref) {
|
|
|
139
140
|
});
|
|
140
141
|
return () => {
|
|
141
142
|
if (listener) {
|
|
142
|
-
|
|
143
|
-
(_scene$progress$next2 = scene.progress.next) === null || _scene$progress$next2 === void 0 ? void 0 : (_scene$progress$next3 = _scene$progress$next2.removeListener) === null || _scene$progress$next3 === void 0 ? void 0 : _scene$progress$next3.call(_scene$progress$next2, listener);
|
|
143
|
+
scene.progress.next?.removeListener?.(listener);
|
|
144
144
|
}
|
|
145
145
|
};
|
|
146
146
|
}, [pointerEvents, scene.progress.next]);
|
|
@@ -160,25 +160,32 @@ function CardContainer(_ref) {
|
|
|
160
160
|
headerShown,
|
|
161
161
|
transitionSpec
|
|
162
162
|
} = scene.descriptor.options;
|
|
163
|
+
const {
|
|
164
|
+
buildHref
|
|
165
|
+
} = useLinkBuilder();
|
|
163
166
|
const previousScene = getPreviousScene({
|
|
164
167
|
route: scene.descriptor.route
|
|
165
168
|
});
|
|
166
169
|
let backTitle;
|
|
170
|
+
let href;
|
|
167
171
|
if (previousScene) {
|
|
168
172
|
const {
|
|
169
173
|
options,
|
|
170
174
|
route
|
|
171
175
|
} = previousScene.descriptor;
|
|
172
176
|
backTitle = getHeaderTitle(options, route.name);
|
|
177
|
+
href = buildHref(route.name, route.params);
|
|
173
178
|
}
|
|
174
|
-
const headerBack = React.useMemo(() =>
|
|
175
|
-
title: backTitle
|
|
176
|
-
|
|
179
|
+
const headerBack = React.useMemo(() => ({
|
|
180
|
+
title: backTitle,
|
|
181
|
+
href
|
|
182
|
+
}), [backTitle, href]);
|
|
177
183
|
return /*#__PURE__*/React.createElement(Card, {
|
|
178
184
|
interpolationIndex: interpolationIndex,
|
|
179
185
|
gestureDirection: gestureDirection,
|
|
180
186
|
layout: layout,
|
|
181
187
|
insets: insets,
|
|
188
|
+
direction: direction,
|
|
182
189
|
gesture: gesture,
|
|
183
190
|
current: scene.progress.current,
|
|
184
191
|
next: scene.progress.next,
|
|
@@ -201,7 +208,7 @@ function CardContainer(_ref) {
|
|
|
201
208
|
importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
|
|
202
209
|
pointerEvents: active ? 'box-none' : pointerEvents,
|
|
203
210
|
pageOverflowEnabled: headerMode !== 'float' && presentation !== 'modal',
|
|
204
|
-
|
|
211
|
+
preloaded: preloaded,
|
|
205
212
|
containerStyle: hasAbsoluteFloatHeader && headerMode !== 'screen' ? {
|
|
206
213
|
marginTop: headerHeight
|
|
207
214
|
} : null,
|
|
@@ -229,9 +236,7 @@ function CardContainer(_ref) {
|
|
|
229
236
|
value: isParentHeaderShown || headerShown !== false
|
|
230
237
|
}, /*#__PURE__*/React.createElement(HeaderHeightContext.Provider, {
|
|
231
238
|
value: headerShown ? headerHeight : parentHeaderHeight ?? 0
|
|
232
|
-
},
|
|
233
|
-
route: scene.descriptor.route
|
|
234
|
-
}))))), headerMode !== 'float' ? renderHeader({
|
|
239
|
+
}, scene.descriptor.render())))), headerMode !== 'float' ? renderHeader({
|
|
235
240
|
mode: 'screen',
|
|
236
241
|
layout,
|
|
237
242
|
scenes: [previousScene, scene],
|
|
@@ -240,7 +245,7 @@ function CardContainer(_ref) {
|
|
|
240
245
|
onContentHeightChange: onHeaderHeightChange
|
|
241
246
|
}) : null)));
|
|
242
247
|
}
|
|
243
|
-
export
|
|
248
|
+
export const CardContainer = /*#__PURE__*/React.memo(CardContainerInner);
|
|
244
249
|
const styles = StyleSheet.create({
|
|
245
250
|
container: {
|
|
246
251
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","EPSILON","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","useLinkBuilder","useLocale","useTheme","React","StyleSheet","View","ModalPresentationContext","useKeyboardManager","Card","EPSILON","CardContainerInner","_ref","interpolationIndex","index","active","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","direction","parentHeaderHeight","useContext","onPageChangeStart","onPageChangeCancel","onPageChangeConfirm","useCallback","options","navigation","descriptor","isFocused","keyboardHandlingEnabled","handleOpen","route","handleClose","handleGestureBegin","handleGestureCanceled","handleGestureEnd","handleTransition","_ref2","insets","top","right","bottom","left","colors","pointerEvents","setPointerEvents","useState","useEffect","listener","progress","next","addListener","_ref3","value","removeListener","presentation","animationEnabled","cardOverlay","cardOverlayEnabled","cardShadowEnabled","cardStyle","cardStyleInterpolator","gestureDirection","gestureEnabled","gestureResponseDistance","gestureVelocityImpact","headerMode","headerShown","transitionSpec","buildHref","previousScene","backTitle","href","name","params","headerBack","useMemo","title","createElement","current","onOpen","onClose","overlay","overlayEnabled","shadowEnabled","onTransition","onGestureBegin","onGestureCanceled","styleInterpolator","accessibilityElementsHidden","importantForAccessibility","pageOverflowEnabled","containerStyle","marginTop","contentStyle","backgroundColor","background","style","overflow","undefined","display","absoluteFill","styles","container","Provider","render","mode","scenes","onContentHeightChange","CardContainer","memo","create","flex","flexDirection"],"sourceRoot":"../../../../src","sources":["views/Stack/CardContainer.tsx"],"mappings":"AAAA,SACEA,cAAc,EACdC,iBAAiB,EACjBC,mBAAmB,EACnBC,kBAAkB,QACb,4BAA4B;AACnC,SAEEC,cAAc,EACdC,SAAS,EACTC,QAAQ,QACH,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAAmBC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAGzD,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,kBAAkB,QAAQ,gCAAgC;AAEnE,SAASC,IAAI,QAAQ,QAAQ;AAyC7B,MAAMC,OAAO,GAAG,GAAG;AAEnB,SAASC,kBAAkBA,CAAAC,IAAA,EA+BjB;EAAA,IA/BkB;IAC1BC,kBAAkB;IAClBC,KAAK;IACLC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,OAAO;IACPC,KAAK;IACLC,gBAAgB;IAChBC,eAAe;IACfC,sBAAsB;IACtBC,YAAY;IACZC,oBAAoB;IACpBC,mBAAmB;IACnBC,uBAAuB;IACvBC,mBAAmB;IACnBC,MAAM;IACNC,YAAY;IACZC,WAAW;IACXC,eAAe;IACfC,YAAY;IACZC,cAAc;IACdC,eAAe;IACfC,iBAAiB;IACjBC,SAAS;IACTC,YAAY;IACZC,mBAAmB;IACnBC,iBAAiB;IACjBC,kBAAkB;IAClBC,gBAAgB;IAChBC;EACK,CAAC,GAAA9B,IAAA;EACN,MAAM;IAAE+B;EAAU,CAAC,GAAGzC,SAAS,CAAC,CAAC;EAEjC,MAAM0C,kBAAkB,GAAGxC,KAAK,CAACyC,UAAU,CAAC9C,mBAAmB,CAAC;EAEhE,MAAM;IAAE+C,iBAAiB;IAAEC,kBAAkB;IAAEC;EAAoB,CAAC,GAClExC,kBAAkB,CAChBJ,KAAK,CAAC6C,WAAW,CAAC,MAAM;IACtB,MAAM;MAAEC,OAAO;MAAEC;IAAW,CAAC,GAAGT,KAAK,CAACU,UAAU;IAEhD,OACED,UAAU,CAACE,SAAS,CAAC,CAAC,IAAIH,OAAO,CAACI,uBAAuB,KAAK,KAAK;EAEvE,CAAC,EAAE,CAACZ,KAAK,CAACU,UAAU,CAAC,CACvB,CAAC;EAEH,MAAMG,UAAU,GAAGA,CAAA,KAAM;IACvB,MAAM;MAAEC;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElClB,eAAe,CAAC;MAAEsB;IAAM,CAAC,EAAE,KAAK,CAAC;IACjC1B,WAAW,CAAC;MAAE0B;IAAM,CAAC,CAAC;EACxB,CAAC;EAED,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAED;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElClB,eAAe,CAAC;MAAEsB;IAAM,CAAC,EAAE,IAAI,CAAC;IAChC3B,YAAY,CAAC;MAAE2B;IAAM,CAAC,CAAC;EACzB,CAAC;EAED,MAAME,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,MAAM;MAAEF;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElCN,iBAAiB,CAAC,CAAC;IACnBb,cAAc,CAAC;MAAEuB;IAAM,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMG,qBAAqB,GAAGA,CAAA,KAAM;IAClC,MAAM;MAAEH;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElCL,kBAAkB,CAAC,CAAC;IACpBhB,eAAe,CAAC;MAAEyB;IAAM,CAAC,CAAC;EAC5B,CAAC;EAED,MAAMI,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,MAAM;MAAEJ;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElCpB,YAAY,CAAC;MAAEwB;IAAM,CAAC,CAAC;EACzB,CAAC;EAED,MAAMK,gBAAgB,GAAGC,KAAA,IAMnB;IAAA,IANoB;MACxB9C,OAAO;MACPC;IAIF,CAAC,GAAA6C,KAAA;IACC,MAAM;MAAEN;IAAM,CAAC,GAAGd,KAAK,CAACU,UAAU;IAElC,IAAI,CAACnC,OAAO,EAAE;MACZ+B,mBAAmB,GAAG,IAAI,CAAC;IAC7B,CAAC,MAAM,IAAIjC,MAAM,IAAIC,OAAO,EAAE;MAC5BgC,mBAAmB,GAAG,KAAK,CAAC;IAC9B,CAAC,MAAM;MACLD,kBAAkB,GAAG,CAAC;IACxB;IAEAZ,iBAAiB,GAAG;MAAEqB;IAAM,CAAC,EAAExC,OAAO,CAAC;EACzC,CAAC;EAED,MAAM+C,MAAM,GAAG;IACbC,GAAG,EAAEvB,gBAAgB;IACrBwB,KAAK,EAAEzB,kBAAkB;IACzB0B,MAAM,EAAE5B,mBAAmB;IAC3B6B,IAAI,EAAE5B;EACR,CAAC;EAED,MAAM;IAAE6B;EAAO,CAAC,GAAGjE,QAAQ,CAAC,CAAC;EAE7B,MAAM,CAACkE,aAAa,EAAEC,gBAAgB,CAAC,GAAGlE,KAAK,CAACmE,QAAQ,CACtD,UACF,CAAC;EAEDnE,KAAK,CAACoE,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG/B,KAAK,CAACgC,QAAQ,CAACC,IAAI,EAAEC,WAAW,GAC/CC,KAAA,IAAkC;MAAA,IAAjC;QAAEC;MAAyB,CAAC,GAAAD,KAAA;MAC3BP,gBAAgB,CAACQ,KAAK,IAAIpE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1D,CACF,CAAC;IAED,OAAO,MAAM;MACX,IAAI+D,QAAQ,EAAE;QACZ/B,KAAK,CAACgC,QAAQ,CAACC,IAAI,EAAEI,cAAc,GAAGN,QAAQ,CAAC;MACjD;IACF,CAAC;EACH,CAAC,EAAE,CAACJ,aAAa,EAAE3B,KAAK,CAACgC,QAAQ,CAACC,IAAI,CAAC,CAAC;EAExC,MAAM;IACJK,YAAY;IACZC,gBAAgB;IAChBC,WAAW;IACXC,kBAAkB;IAClBC,iBAAiB;IACjBC,SAAS;IACTC,qBAAqB;IACrBC,gBAAgB;IAChBC,cAAc;IACdC,uBAAuB;IACvBC,qBAAqB;IACrBC,UAAU;IACVC,WAAW;IACXC;EACF,CAAC,GAAGnD,KAAK,CAACU,UAAU,CAACF,OAAO;EAE5B,MAAM;IAAE4C;EAAU,CAAC,GAAG7F,cAAc,CAAC,CAAC;EACtC,MAAM8F,aAAa,GAAG3E,gBAAgB,CAAC;IAAEoC,KAAK,EAAEd,KAAK,CAACU,UAAU,CAACI;EAAM,CAAC,CAAC;EAEzE,IAAIwC,SAA6B;EACjC,IAAIC,IAAwB;EAE5B,IAAIF,aAAa,EAAE;IACjB,MAAM;MAAE7C,OAAO;MAAEM;IAAM,CAAC,GAAGuC,aAAa,CAAC3C,UAAU;IAEnD4C,SAAS,GAAGnG,cAAc,CAACqD,OAAO,EAAEM,KAAK,CAAC0C,IAAI,CAAC;IAC/CD,IAAI,GAAGH,SAAS,CAACtC,KAAK,CAAC0C,IAAI,EAAE1C,KAAK,CAAC2C,MAAM,CAAC;EAC5C;EAEA,MAAMC,UAAU,GAAGhG,KAAK,CAACiG,OAAO,CAC9B,OAAO;IAAEC,KAAK,EAAEN,SAAS;IAAEC;EAAK,CAAC,CAAC,EAClC,CAACD,SAAS,EAAEC,IAAI,CAClB,CAAC;EAED,oBACE7F,KAAA,CAAAmG,aAAA,CAAC9F,IAAI;IACHI,kBAAkB,EAAEA,kBAAmB;IACvC0E,gBAAgB,EAAEA,gBAAiB;IACnC3D,MAAM,EAAEA,MAAO;IACfmC,MAAM,EAAEA,MAAO;IACfpB,SAAS,EAAEA,SAAU;IACrB1B,OAAO,EAAEA,OAAQ;IACjBuF,OAAO,EAAE9D,KAAK,CAACgC,QAAQ,CAAC8B,OAAQ;IAChC7B,IAAI,EAAEjC,KAAK,CAACgC,QAAQ,CAACC,IAAK;IAC1B3D,OAAO,EAAEA,OAAQ;IACjByF,MAAM,EAAElD,UAAW;IACnBmD,OAAO,EAAEjD,WAAY;IACrBkD,OAAO,EAAEzB,WAAY;IACrB0B,cAAc,EAAEzB,kBAAmB;IACnC0B,aAAa,EAAEzB,iBAAkB;IACjC0B,YAAY,EAAEjD,gBAAiB;IAC/BkD,cAAc,EAAErD,kBAAmB;IACnCsD,iBAAiB,EAAErD,qBAAsB;IACzC3B,YAAY,EAAE4B,gBAAiB;IAC/B4B,cAAc,EAAE1E,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG0E,cAAe;IACrDC,uBAAuB,EAAEA,uBAAwB;IACjDC,qBAAqB,EAAEA,qBAAsB;IAC7CG,cAAc,EAAEA,cAAe;IAC/BoB,iBAAiB,EAAE3B,qBAAsB;IACzC4B,2BAA2B,EAAE,CAAChG,OAAQ;IACtCiG,yBAAyB,EAAEjG,OAAO,GAAG,MAAM,GAAG,qBAAsB;IACpEmD,aAAa,EAAEtD,MAAM,GAAG,UAAU,GAAGsD,aAAc;IACnD+C,mBAAmB,EAAEzB,UAAU,KAAK,OAAO,IAAIX,YAAY,KAAK,OAAQ;IACxE5C,SAAS,EAAEA,SAAU;IACrBiF,cAAc,EACZ/F,sBAAsB,IAAIqE,UAAU,KAAK,QAAQ,GAC7C;MAAE2B,SAAS,EAAE/F;IAAa,CAAC,GAC3B,IACL;IACDgG,YAAY,EAAE,CACZ;MACEC,eAAe,EACbxC,YAAY,KAAK,kBAAkB,GAC/B,aAAa,GACbZ,MAAM,CAACqD;IACf,CAAC,EACDpC,SAAS,CACT;IACFqC,KAAK,EAAE,CACL;MACE;MACA;MACAC,QAAQ,EAAE5G,MAAM,GAAG6G,SAAS,GAAG,QAAQ;MACvCC,OAAO;MACL;MACA;MACA5C,gBAAgB,KAAK,KAAK,IAC1BvD,uBAAuB,KAAK,KAAK,IACjCC,mBAAmB,KAAK,KAAK,IAC7B,CAACT,OAAO,GACJ,MAAM,GACN;IACR,CAAC,EACDb,UAAU,CAACyH,YAAY;EACvB,gBAEF1H,KAAA,CAAAmG,aAAA,CAACjG,IAAI;IAACoH,KAAK,EAAEK,MAAM,CAACC;EAAU,gBAC5B5H,KAAA,CAAAmG,aAAA,CAAChG,wBAAwB,CAAC0H,QAAQ;IAACnD,KAAK,EAAE3D;EAAM,gBAC9Cf,KAAA,CAAAmG,aAAA,CAACjG,IAAI;IAACoH,KAAK,EAAEK,MAAM,CAACrF;EAAM,gBACxBtC,KAAA,CAAAmG,aAAA,CAACzG,iBAAiB,CAACmI,QAAQ;IAACnD,KAAK,EAAEsB;EAAW,gBAC5ChG,KAAA,CAAAmG,aAAA,CAACvG,kBAAkB,CAACiI,QAAQ;IAC1BnD,KAAK,EAAErD,mBAAmB,IAAImE,WAAW,KAAK;EAAM,gBAEpDxF,KAAA,CAAAmG,aAAA,CAACxG,mBAAmB,CAACkI,QAAQ;IAC3BnD,KAAK,EAAEc,WAAW,GAAGrE,YAAY,GAAGqB,kBAAkB,IAAI;EAAE,GAE3DF,KAAK,CAACU,UAAU,CAAC8E,MAAM,CAAC,CACG,CACH,CACH,CACxB,CAAC,EACNvC,UAAU,KAAK,OAAO,GACnBtD,YAAY,CAAC;IACX8F,IAAI,EAAE,QAAQ;IACdvG,MAAM;IACNwG,MAAM,EAAE,CAACrC,aAAa,EAAErD,KAAK,CAAC;IAC9BtB,gBAAgB;IAChBC,eAAe;IACfgH,qBAAqB,EAAE7G;EACzB,CAAC,CAAC,GACF,IAC6B,CAC/B,CACF,CAAC;AAEX;AAEA,OAAO,MAAM8G,aAAa,gBAAGlI,KAAK,CAACmI,IAAI,CAAC5H,kBAAkB,CAAC;AAE3D,MAAMoH,MAAM,GAAG1H,UAAU,CAACmI,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE;EACjB,CAAC;EACDhG,KAAK,EAAE;IACL+F,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { StyleSheet, View } from 'react-native';
|
|
|
5
5
|
// if the container fills the body by comparing the size
|
|
6
6
|
// This lets the document.body handle scrolling of the content
|
|
7
7
|
// It's necessary for mobile browsers to be able to hide address bar on scroll
|
|
8
|
-
export
|
|
8
|
+
export const CardSheet = /*#__PURE__*/React.forwardRef(function CardSheet(_ref, ref) {
|
|
9
9
|
let {
|
|
10
10
|
enabled,
|
|
11
11
|
layout,
|
|
@@ -21,6 +21,7 @@ export default /*#__PURE__*/React.forwardRef(function CardSheet(_ref, ref) {
|
|
|
21
21
|
setPointerEvents
|
|
22
22
|
};
|
|
23
23
|
});
|
|
24
|
+
const workaroundApplied = React.useRef(false);
|
|
24
25
|
React.useEffect(() => {
|
|
25
26
|
if (typeof document === 'undefined' || !document.body) {
|
|
26
27
|
// Only run when DOM is available
|
|
@@ -28,6 +29,26 @@ export default /*#__PURE__*/React.forwardRef(function CardSheet(_ref, ref) {
|
|
|
28
29
|
}
|
|
29
30
|
const width = document.body.clientWidth;
|
|
30
31
|
const height = document.body.clientHeight;
|
|
32
|
+
|
|
33
|
+
// Workaround for mobile Chrome, necessary when a navigation happens
|
|
34
|
+
// when the address bar has already collapsed, which resulted in an
|
|
35
|
+
// empty space at the bottom of the page (matching the height of the
|
|
36
|
+
// address bar). To fix this, it's necessary to update the height of
|
|
37
|
+
// the DOM with the current height of the window.
|
|
38
|
+
// See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
|
|
39
|
+
const fillHeight = height === layout.height;
|
|
40
|
+
if (fillHeight) {
|
|
41
|
+
const vh = window.innerHeight * 0.01;
|
|
42
|
+
document.documentElement.style.setProperty('--vh', `${vh}px`);
|
|
43
|
+
document.body.setAttribute('style', `height: calc(var(--vh, 1vh) * 100);`);
|
|
44
|
+
workaroundApplied.current = true;
|
|
45
|
+
} else {
|
|
46
|
+
// Revert the workaround if the stack does not occupy the whole
|
|
47
|
+
// height of the page
|
|
48
|
+
if (workaroundApplied.current) {
|
|
49
|
+
document.documentElement.style.removeProperty('--vh');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
31
52
|
setFill(width === layout.width && height === layout.height);
|
|
32
53
|
}, [layout.height, layout.width]);
|
|
33
54
|
return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","forwardRef","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","CardSheet","forwardRef","_ref","ref","enabled","layout","style","rest","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","workaroundApplied","useRef","useEffect","document","body","width","clientWidth","height","clientHeight","fillHeight","vh","window","innerHeight","documentElement","setProperty","setAttribute","current","removeProperty","createElement","_extends","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAY/D;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,gBAAGH,KAAK,CAACI,UAAU,CACvC,SAASD,SAASA,CAAAE,IAAA,EAAsCC,GAAG,EAAE;EAAA,IAA1C;IAAEC,OAAO;IAAEC,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAAL,IAAA;EACpD,MAAM,CAACM,IAAI,EAAEC,OAAO,CAAC,GAAGZ,KAAK,CAACa,QAAQ,CAAC,KAAK,CAAC;EAC7C;EACA;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GACrCf,KAAK,CAACa,QAAQ,CAA6B,MAAM,CAAC;EAEpDb,KAAK,CAACgB,mBAAmB,CAACV,GAAG,EAAE,MAAM;IACnC,OAAO;MAAES;IAAiB,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAME,iBAAiB,GAAGjB,KAAK,CAACkB,MAAM,CAAC,KAAK,CAAC;EAC7ClB,KAAK,CAACmB,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,UAAU,GAAGF,MAAM,KAAKhB,MAAM,CAACgB,MAAM;IAC3C,IAAIE,UAAU,EAAE;MACd,MAAMC,EAAE,GAAGC,MAAM,CAACC,WAAW,GAAG,IAAI;MACpCT,QAAQ,CAACU,eAAe,CAACrB,KAAK,CAACsB,WAAW,CAAC,MAAM,EAAG,GAAEJ,EAAG,IAAG,CAAC;MAC7DP,QAAQ,CAACC,IAAI,CAACW,YAAY,CACxB,OAAO,EACN,qCACH,CAAC;MACDf,iBAAiB,CAACgB,OAAO,GAAG,IAAI;IAClC,CAAC,MAAM;MACL;MACA;MACA,IAAIhB,iBAAiB,CAACgB,OAAO,EAAE;QAC7Bb,QAAQ,CAACU,eAAe,CAACrB,KAAK,CAACyB,cAAc,CAAC,MAAM,CAAC;MACvD;IACF;IAEAtB,OAAO,CAACU,KAAK,KAAKd,MAAM,CAACc,KAAK,IAAIE,MAAM,KAAKhB,MAAM,CAACgB,MAAM,CAAC;EAC7D,CAAC,EAAE,CAAChB,MAAM,CAACgB,MAAM,EAAEhB,MAAM,CAACc,KAAK,CAAC,CAAC;EAEjC,oBACEtB,KAAA,CAAAmC,aAAA,CAACjC,IAAI,EAAAkC,QAAA,KACC1B,IAAI;IACRI,aAAa,EAAEA,aAAc;IAC7BL,KAAK,EAAE,CAACF,OAAO,IAAII,IAAI,GAAG0B,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAAE9B,KAAK;EAAE,EAC7D,CAAC;AAEN,CACF,CAAC;AAED,MAAM4B,MAAM,GAAGpC,UAAU,CAACuC,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"}
|