react-native-screen-transitions 3.0.0-beta.3 → 3.0.0-beta.4
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/blank-stack/components/Overlay.js +19 -5
- package/lib/commonjs/blank-stack/components/Overlay.js.map +1 -1
- package/lib/module/blank-stack/components/Overlay.js +19 -5
- package/lib/module/blank-stack/components/Overlay.js.map +1 -1
- package/lib/typescript/blank-stack/components/Overlay.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +4 -0
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/Overlay.tsx +24 -4
- package/src/blank-stack/types.ts +4 -0
|
@@ -8,10 +8,10 @@ var _native = require("@react-navigation/native");
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
10
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
11
|
+
var _useScreenAnimation = require("../../shared/hooks/animation/use-screen-animation");
|
|
11
12
|
var _keys = require("../../shared/providers/keys");
|
|
12
13
|
var _useOverlayAnimation = require("../hooks/use-overlay-animation");
|
|
13
14
|
var _withStackNavigation = require("../utils/with-stack-navigation");
|
|
14
|
-
var _useScreenAnimation = require("../../shared/hooks/animation/use-screen-animation");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
const getActiveFloatOverlay = (scenes, index) => {
|
|
17
17
|
if (scenes.length === 0) {
|
|
@@ -45,12 +45,27 @@ const OverlayHost = ({
|
|
|
45
45
|
overlayAnimation,
|
|
46
46
|
optimisticActiveIndex
|
|
47
47
|
} = (0, _useOverlayAnimation.useOverlayAnimation)();
|
|
48
|
+
const {
|
|
49
|
+
scenes
|
|
50
|
+
} = (0, _withStackNavigation.useStackNavigationContext)();
|
|
51
|
+
const overlaySceneIndex = (0, _react.useMemo)(() => {
|
|
52
|
+
return scenes.findIndex(stackScene => stackScene.route.key === scene.route.key);
|
|
53
|
+
}, [scenes, scene.route.key]);
|
|
54
|
+
const focusedRoute = (0, _react.useMemo)(() => {
|
|
55
|
+
if (overlaySceneIndex === -1) {
|
|
56
|
+
return scene.route;
|
|
57
|
+
}
|
|
58
|
+
const maxOffset = Math.max(scenes.length - overlaySceneIndex - 1, 0);
|
|
59
|
+
const normalizedIndex = Math.min(Math.max(optimisticActiveIndex, 0), maxOffset);
|
|
60
|
+
return scenes[overlaySceneIndex + normalizedIndex]?.route ?? scene.route;
|
|
61
|
+
}, [overlaySceneIndex, optimisticActiveIndex, scenes, scene.route]);
|
|
48
62
|
const screenAnimation = (0, _useScreenAnimation.useScreenAnimation)();
|
|
49
63
|
if (!OverlayComponent) {
|
|
50
64
|
return null;
|
|
51
65
|
}
|
|
52
66
|
const overlayProps = {
|
|
53
67
|
route: scene.route,
|
|
68
|
+
focusedRoute,
|
|
54
69
|
navigation: scene.descriptor.navigation,
|
|
55
70
|
overlayAnimation,
|
|
56
71
|
screenAnimation,
|
|
@@ -59,7 +74,9 @@ const OverlayHost = ({
|
|
|
59
74
|
};
|
|
60
75
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
61
76
|
pointerEvents: "box-none",
|
|
62
|
-
style: [styles.container, isFloating ? styles.floating :
|
|
77
|
+
style: [styles.container, isFloating ? styles.floating : {
|
|
78
|
+
zIndex: 1
|
|
79
|
+
}, styles.absolute],
|
|
63
80
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
|
|
64
81
|
value: scene.descriptor.navigation,
|
|
65
82
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationRouteContext.Provider, {
|
|
@@ -102,9 +119,6 @@ const FloatOverlay = () => {
|
|
|
102
119
|
});
|
|
103
120
|
};
|
|
104
121
|
const ScreenOverlay = () => {
|
|
105
|
-
const {
|
|
106
|
-
focusedIndex
|
|
107
|
-
} = (0, _withStackNavigation.useStackNavigationContext)();
|
|
108
122
|
const {
|
|
109
123
|
current
|
|
110
124
|
} = (0, _keys.useKeys)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeSafeAreaContext","_keys","_useOverlayAnimation","_withStackNavigation","
|
|
1
|
+
{"version":3,"names":["_native","require","_react","_reactNative","_reactNativeSafeAreaContext","_useScreenAnimation","_keys","_useOverlayAnimation","_withStackNavigation","_jsxRuntime","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","useSafeAreaInsets","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","useOverlayAnimation","useStackNavigationContext","overlaySceneIndex","useMemo","findIndex","stackScene","route","key","focusedRoute","maxOffset","normalizedIndex","min","screenAnimation","useScreenAnimation","overlayProps","navigation","focusedIndex","jsx","Animated","View","pointerEvents","style","styles","container","floating","zIndex","absolute","children","NavigationContext","Provider","value","NavigationRouteContext","FloatOverlay","activeOverlay","previous","current","next","KeysProvider","ScreenOverlay","useKeys","Overlay","exports","Float","Screen","StyleSheet","create","absoluteFillObject","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,10 @@ import { NavigationContext, NavigationRouteContext } from "@react-navigation/nat
|
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
import { Animated, StyleSheet, View } from "react-native";
|
|
6
6
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
7
|
+
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
7
8
|
import { KeysProvider, useKeys } from "../../shared/providers/keys";
|
|
8
9
|
import { useOverlayAnimation } from "../hooks/use-overlay-animation";
|
|
9
10
|
import { useStackNavigationContext } from "../utils/with-stack-navigation";
|
|
10
|
-
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
const getActiveFloatOverlay = (scenes, index) => {
|
|
13
13
|
if (scenes.length === 0) {
|
|
@@ -41,12 +41,27 @@ const OverlayHost = ({
|
|
|
41
41
|
overlayAnimation,
|
|
42
42
|
optimisticActiveIndex
|
|
43
43
|
} = useOverlayAnimation();
|
|
44
|
+
const {
|
|
45
|
+
scenes
|
|
46
|
+
} = useStackNavigationContext();
|
|
47
|
+
const overlaySceneIndex = useMemo(() => {
|
|
48
|
+
return scenes.findIndex(stackScene => stackScene.route.key === scene.route.key);
|
|
49
|
+
}, [scenes, scene.route.key]);
|
|
50
|
+
const focusedRoute = useMemo(() => {
|
|
51
|
+
if (overlaySceneIndex === -1) {
|
|
52
|
+
return scene.route;
|
|
53
|
+
}
|
|
54
|
+
const maxOffset = Math.max(scenes.length - overlaySceneIndex - 1, 0);
|
|
55
|
+
const normalizedIndex = Math.min(Math.max(optimisticActiveIndex, 0), maxOffset);
|
|
56
|
+
return scenes[overlaySceneIndex + normalizedIndex]?.route ?? scene.route;
|
|
57
|
+
}, [overlaySceneIndex, optimisticActiveIndex, scenes, scene.route]);
|
|
44
58
|
const screenAnimation = useScreenAnimation();
|
|
45
59
|
if (!OverlayComponent) {
|
|
46
60
|
return null;
|
|
47
61
|
}
|
|
48
62
|
const overlayProps = {
|
|
49
63
|
route: scene.route,
|
|
64
|
+
focusedRoute,
|
|
50
65
|
navigation: scene.descriptor.navigation,
|
|
51
66
|
overlayAnimation,
|
|
52
67
|
screenAnimation,
|
|
@@ -55,7 +70,9 @@ const OverlayHost = ({
|
|
|
55
70
|
};
|
|
56
71
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
57
72
|
pointerEvents: "box-none",
|
|
58
|
-
style: [styles.container, isFloating ? styles.floating :
|
|
73
|
+
style: [styles.container, isFloating ? styles.floating : {
|
|
74
|
+
zIndex: 1
|
|
75
|
+
}, styles.absolute],
|
|
59
76
|
children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
60
77
|
value: scene.descriptor.navigation,
|
|
61
78
|
children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
|
|
@@ -98,9 +115,6 @@ const FloatOverlay = () => {
|
|
|
98
115
|
});
|
|
99
116
|
};
|
|
100
117
|
const ScreenOverlay = () => {
|
|
101
|
-
const {
|
|
102
|
-
focusedIndex
|
|
103
|
-
} = useStackNavigationContext();
|
|
104
118
|
const {
|
|
105
119
|
current
|
|
106
120
|
} = useKeys();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useSafeAreaInsets","KeysProvider","useKeys","useOverlayAnimation","useStackNavigationContext","
|
|
1
|
+
{"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useSafeAreaInsets","useScreenAnimation","KeysProvider","useKeys","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","overlaySceneIndex","findIndex","stackScene","route","key","focusedRoute","maxOffset","normalizedIndex","min","screenAnimation","overlayProps","navigation","focusedIndex","pointerEvents","style","styles","container","floating","zIndex","absolute","children","Provider","value","FloatOverlay","activeOverlay","previous","current","next","ScreenOverlay","Overlay","Float","Screen","create","absoluteFillObject","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Overlay.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzD,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,kBAAkB,QAAQ,mDAAmD;AACtF,SAASC,YAAY,EAAEC,OAAO,QAAQ,6BAA6B;AACnE,SAASC,mBAAmB,QAAQ,gCAAgC;AAMpE,SAASC,yBAAyB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO3E,MAAMC,qBAAqB,GAAGA,CAACC,MAAyB,EAAEC,KAAa,KAAK;EAC3E,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA;EACA;EACA,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAED,MAAM,CAACE,MAAM,GAAG,CAAC,CAAC;EAErD,KAAK,IAAII,CAAC,GAAGH,UAAU,EAAEG,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IACrC,MAAMC,KAAK,GAAGP,MAAM,CAACM,CAAC,CAAC;IACvB,MAAME,OAAO,GAAGD,KAAK,EAAEE,UAAU,EAAED,OAAO;IAE1C,IAAIA,OAAO,EAAEE,WAAW,KAAK,OAAO,IAAIF,OAAO,EAAEG,YAAY,EAAE;MAC9D,OAAO;QAAEJ,KAAK;QAAEK,YAAY,EAAEN;MAAE,CAAC;IAClC;EACD;EAEA,OAAO,IAAI;AACZ,CAAC;AAED,MAAMO,WAAW,GAAGA,CAAC;EAAEN,KAAK;EAAEO;AAA6B,CAAC,KAAK;EAChE,MAAMC,MAAM,GAAGxB,iBAAiB,CAAC,CAAC;EAElC,MAAMyB,gBAAgB,GAAGT,KAAK,CAACE,UAAU,CAACD,OAAO,CAACS,OAAO;EAEzD,MAAM;IAAEC,gBAAgB;IAAEC;EAAsB,CAAC,GAAGxB,mBAAmB,CAAC,CAAC;EACzE,MAAM;IAAEK;EAAO,CAAC,GAAGJ,yBAAyB,CAAC,CAAC;EAE9C,MAAMwB,iBAAiB,GAAGjC,OAAO,CAAC,MAAM;IACvC,OAAOa,MAAM,CAACqB,SAAS,CACrBC,UAAU,IAAKA,UAAU,CAACC,KAAK,CAACC,GAAG,KAAKjB,KAAK,CAACgB,KAAK,CAACC,GACtD,CAAC;EACF,CAAC,EAAE,CAACxB,MAAM,EAAEO,KAAK,CAACgB,KAAK,CAACC,GAAG,CAAC,CAAC;EAE7B,MAAMC,YAAY,GAAGtC,OAAO,CAAC,MAAM;IAClC,IAAIiC,iBAAiB,KAAK,CAAC,CAAC,EAAE;MAC7B,OAAOb,KAAK,CAACgB,KAAK;IACnB;IAEA,MAAMG,SAAS,GAAGtB,IAAI,CAACC,GAAG,CAACL,MAAM,CAACE,MAAM,GAAGkB,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,MAAMO,eAAe,GAAGvB,IAAI,CAACwB,GAAG,CAC/BxB,IAAI,CAACC,GAAG,CAACc,qBAAqB,EAAE,CAAC,CAAC,EAClCO,SACD,CAAC;IAED,OAAO1B,MAAM,CAACoB,iBAAiB,GAAGO,eAAe,CAAC,EAAEJ,KAAK,IAAIhB,KAAK,CAACgB,KAAK;EACzE,CAAC,EAAE,CAACH,iBAAiB,EAAED,qBAAqB,EAAEnB,MAAM,EAAEO,KAAK,CAACgB,KAAK,CAAC,CAAC;EAEnE,MAAMM,eAAe,GAAGrC,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACwB,gBAAgB,EAAE;IACtB,OAAO,IAAI;EACZ;EAEA,MAAMc,YAAoC,GAAG;IAC5CP,KAAK,EAAEhB,KAAK,CAACgB,KAAK;IAClBE,YAAY;IACZM,UAAU,EAAExB,KAAK,CAACE,UAAU,CAACsB,UAAU;IACvCb,gBAAgB;IAChBW,eAAe;IACfG,YAAY,EAAEb,qBAAqB;IACnCJ;EACD,CAAC;EAED,oBACCjB,IAAA,CAACV,QAAQ,CAACE,IAAI;IACb2C,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CACNC,MAAM,CAACC,SAAS,EAChBtB,UAAU,GAAGqB,MAAM,CAACE,QAAQ,GAAG;MAAEC,MAAM,EAAE;IAAE,CAAC,EAC5CH,MAAM,CAACI,QAAQ,CACd;IAAAC,QAAA,eAEF1C,IAAA,CAACb,iBAAiB,CAACwD,QAAQ;MAACC,KAAK,EAAEnC,KAAK,CAACE,UAAU,CAACsB,UAAW;MAAAS,QAAA,eAC9D1C,IAAA,CAACZ,sBAAsB,CAACuD,QAAQ;QAACC,KAAK,EAAEnC,KAAK,CAACgB,KAAM;QAAAiB,QAAA,eACnD1C,IAAA,CAACR,IAAI;UAAC2C,aAAa,EAAC,UAAU;UAACC,KAAK,EAAEC,MAAM,CAAClB,OAAQ;UAAAuB,QAAA,eACpD1C,IAAA,CAACkB,gBAAgB;YAAA,GAAKc;UAAY,CAAG;QAAC,CACjC;MAAC,CACyB;IAAC,CACP;EAAC,CACf,CAAC;AAElB,CAAC;AAED,MAAMa,YAAY,GAAGA,CAAA,KAAM;EAC1B,MAAM;IAAE3C,MAAM;IAAEgC;EAAa,CAAC,GAAGpC,yBAAyB,CAAC,CAAC;EAE5D,MAAMgD,aAAa,GAAGzD,OAAO,CAC5B,MAAMY,qBAAqB,CAACC,MAAM,EAAEgC,YAAY,CAAC,EACjD,CAAChC,MAAM,EAAEgC,YAAY,CACtB,CAAC;EAED,IAAI,CAACY,aAAa,EAAE;IACnB,OAAO,IAAI;EACZ;EAEA,MAAM;IAAErC,KAAK;IAAEK;EAAa,CAAC,GAAGgC,aAAa;EAE7C,MAAMC,QAAQ,GAAG7C,MAAM,CAACY,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EACrD,MAAMqC,OAAO,GAAGvC,KAAK,CAACE,UAAU;EAChC,MAAMsC,IAAI,GAAG/C,MAAM,CAACY,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EAEjD,oBACCX,IAAA,CAACL,YAAY;IAACqD,OAAO,EAAEA,OAAQ;IAACD,QAAQ,EAAEA,QAAS;IAACE,IAAI,EAAEA,IAAK;IAAAP,QAAA,eAC9D1C,IAAA,CAACe,WAAW;MAACN,KAAK,EAAEA,KAAM;MAACO,UAAU;IAAA,CAAE;EAAC,CAC3B,CAAC;AAEjB,CAAC;AAED,MAAMkC,aAAa,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEF;EAAQ,CAAC,GAAGpD,OAAO,CAAuB,CAAC;EAEnD,MAAMc,OAAO,GAAGsC,OAAO,CAACtC,OAAO;EAE/B,IAAI,CAACA,OAAO,CAACG,YAAY,IAAIH,OAAO,CAACE,WAAW,KAAK,QAAQ,EAAE;IAC9D,OAAO,IAAI;EACZ;EAEA,MAAMH,KAAsB,GAAG;IAC9BE,UAAU,EAAEqC,OAAO;IACnBvB,KAAK,EAAEuB,OAAO,CAACvB;EAChB,CAAC;EAED,oBAAOzB,IAAA,CAACe,WAAW;IAACN,KAAK,EAAEA;EAAM,CAAE,CAAC;AACrC,CAAC;AAED,OAAO,MAAM0C,OAAO,GAAG;EACtBC,KAAK,EAAEP,YAAY;EACnBQ,MAAM,EAAEH;AACT,CAAC;AAED,MAAMb,MAAM,GAAG9C,UAAU,CAAC+D,MAAM,CAAC;EAChCnC,OAAO,EAAE;IACR,GAAG5B,UAAU,CAACgE,kBAAkB;IAChCf,MAAM,EAAE;EACT,CAAC;EACDF,SAAS,EAAE;IACVkB,IAAI,EAAE;EACP,CAAC;EACDf,QAAQ,EAAElD,UAAU,CAACgE,kBAAkB;EACvChB,QAAQ,EAAE;IACTC,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"AAuJA,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
|
|
@@ -70,6 +70,10 @@ export type BlankStackOverlayProps = {
|
|
|
70
70
|
* Route object for the current screen.
|
|
71
71
|
*/
|
|
72
72
|
route: Route<string>;
|
|
73
|
+
/**
|
|
74
|
+
* Route object for the currently focused screen in the stack.
|
|
75
|
+
*/
|
|
76
|
+
focusedRoute: Route<string>;
|
|
73
77
|
/**
|
|
74
78
|
* Navigation prop for the overlay.
|
|
75
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blank-stack/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/blank-stack/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
import { useMemo } from "react";
|
|
6
6
|
import { Animated, StyleSheet, View } from "react-native";
|
|
7
7
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
8
|
+
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
8
9
|
import { KeysProvider, useKeys } from "../../shared/providers/keys";
|
|
9
10
|
import { useOverlayAnimation } from "../hooks/use-overlay-animation";
|
|
10
11
|
import type {
|
|
@@ -13,7 +14,6 @@ import type {
|
|
|
13
14
|
BlankStackScene,
|
|
14
15
|
} from "../types";
|
|
15
16
|
import { useStackNavigationContext } from "../utils/with-stack-navigation";
|
|
16
|
-
import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
|
|
17
17
|
|
|
18
18
|
type OverlayHostProps = {
|
|
19
19
|
scene: BlankStackScene;
|
|
@@ -43,13 +43,33 @@ const getActiveFloatOverlay = (scenes: BlankStackScene[], index: number) => {
|
|
|
43
43
|
return null;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
|
|
47
46
|
const OverlayHost = ({ scene, isFloating }: OverlayHostProps) => {
|
|
48
47
|
const insets = useSafeAreaInsets();
|
|
49
48
|
|
|
50
49
|
const OverlayComponent = scene.descriptor.options.overlay;
|
|
51
50
|
|
|
52
51
|
const { overlayAnimation, optimisticActiveIndex } = useOverlayAnimation();
|
|
52
|
+
const { scenes } = useStackNavigationContext();
|
|
53
|
+
|
|
54
|
+
const overlaySceneIndex = useMemo(() => {
|
|
55
|
+
return scenes.findIndex(
|
|
56
|
+
(stackScene) => stackScene.route.key === scene.route.key,
|
|
57
|
+
);
|
|
58
|
+
}, [scenes, scene.route.key]);
|
|
59
|
+
|
|
60
|
+
const focusedRoute = useMemo(() => {
|
|
61
|
+
if (overlaySceneIndex === -1) {
|
|
62
|
+
return scene.route;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const maxOffset = Math.max(scenes.length - overlaySceneIndex - 1, 0);
|
|
66
|
+
const normalizedIndex = Math.min(
|
|
67
|
+
Math.max(optimisticActiveIndex, 0),
|
|
68
|
+
maxOffset,
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return scenes[overlaySceneIndex + normalizedIndex]?.route ?? scene.route;
|
|
72
|
+
}, [overlaySceneIndex, optimisticActiveIndex, scenes, scene.route]);
|
|
53
73
|
|
|
54
74
|
const screenAnimation = useScreenAnimation();
|
|
55
75
|
|
|
@@ -59,6 +79,7 @@ const OverlayHost = ({ scene, isFloating }: OverlayHostProps) => {
|
|
|
59
79
|
|
|
60
80
|
const overlayProps: BlankStackOverlayProps = {
|
|
61
81
|
route: scene.route,
|
|
82
|
+
focusedRoute,
|
|
62
83
|
navigation: scene.descriptor.navigation,
|
|
63
84
|
overlayAnimation,
|
|
64
85
|
screenAnimation,
|
|
@@ -71,7 +92,7 @@ const OverlayHost = ({ scene, isFloating }: OverlayHostProps) => {
|
|
|
71
92
|
pointerEvents="box-none"
|
|
72
93
|
style={[
|
|
73
94
|
styles.container,
|
|
74
|
-
isFloating ? styles.floating :
|
|
95
|
+
isFloating ? styles.floating : { zIndex: 1 },
|
|
75
96
|
styles.absolute,
|
|
76
97
|
]}
|
|
77
98
|
>
|
|
@@ -112,7 +133,6 @@ const FloatOverlay = () => {
|
|
|
112
133
|
};
|
|
113
134
|
|
|
114
135
|
const ScreenOverlay = () => {
|
|
115
|
-
const { focusedIndex } = useStackNavigationContext();
|
|
116
136
|
const { current } = useKeys<BlankStackDescriptor>();
|
|
117
137
|
|
|
118
138
|
const options = current.options;
|
package/src/blank-stack/types.ts
CHANGED
|
@@ -107,6 +107,10 @@ export type BlankStackOverlayProps = {
|
|
|
107
107
|
* Route object for the current screen.
|
|
108
108
|
*/
|
|
109
109
|
route: Route<string>;
|
|
110
|
+
/**
|
|
111
|
+
* Route object for the currently focused screen in the stack.
|
|
112
|
+
*/
|
|
113
|
+
focusedRoute: Route<string>;
|
|
110
114
|
/**
|
|
111
115
|
* Navigation prop for the overlay.
|
|
112
116
|
*/
|