react-native-screen-transitions 3.0.0-beta.2 → 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.
Files changed (27) hide show
  1. package/lib/commonjs/blank-stack/components/Overlay.js +19 -5
  2. package/lib/commonjs/blank-stack/components/Overlay.js.map +1 -1
  3. package/lib/commonjs/blank-stack/components/Screens.js +3 -3
  4. package/lib/commonjs/blank-stack/components/Screens.js.map +1 -1
  5. package/lib/commonjs/blank-stack/components/StackView.js +5 -3
  6. package/lib/commonjs/blank-stack/components/StackView.js.map +1 -1
  7. package/lib/module/blank-stack/components/Overlay.js +19 -5
  8. package/lib/module/blank-stack/components/Overlay.js.map +1 -1
  9. package/lib/module/blank-stack/components/Screens.js +3 -3
  10. package/lib/module/blank-stack/components/Screens.js.map +1 -1
  11. package/lib/module/blank-stack/components/StackView.js +4 -3
  12. package/lib/module/blank-stack/components/StackView.js.map +1 -1
  13. package/lib/typescript/blank-stack/components/Overlay.d.ts.map +1 -1
  14. package/lib/typescript/blank-stack/components/Screens.d.ts +2 -3
  15. package/lib/typescript/blank-stack/components/Screens.d.ts.map +1 -1
  16. package/lib/typescript/blank-stack/components/StackView.d.ts.map +1 -1
  17. package/lib/typescript/blank-stack/types.d.ts +4 -0
  18. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  19. package/lib/typescript/shared/configs/index.d.ts +9 -9
  20. package/lib/typescript/shared/index.d.ts +2 -1
  21. package/lib/typescript/shared/index.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/blank-stack/components/Overlay.tsx +24 -4
  24. package/src/blank-stack/components/Screens.tsx +5 -5
  25. package/src/blank-stack/components/StackView.tsx +4 -3
  26. package/src/blank-stack/types.ts +4 -0
  27. package/src/shared/index.ts +3 -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 : null, styles.absolute],
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","_useScreenAnimation","_jsxRuntime","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","useSafeAreaInsets","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","useOverlayAnimation","screenAnimation","useScreenAnimation","overlayProps","route","navigation","focusedIndex","jsx","Animated","View","pointerEvents","style","styles","container","floating","absolute","children","NavigationContext","Provider","value","NavigationRouteContext","FloatOverlay","useStackNavigationContext","activeOverlay","useMemo","previous","current","next","KeysProvider","ScreenOverlay","useKeys","Overlay","exports","Float","Screen","StyleSheet","create","absoluteFillObject","zIndex","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -18,7 +18,7 @@ const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_r
18
18
  const Screen = ({
19
19
  routeKey,
20
20
  index,
21
- routes,
21
+ routesLength,
22
22
  isPreloaded,
23
23
  activeScreensLimit,
24
24
  children,
@@ -32,10 +32,10 @@ const Screen = ({
32
32
  screenActivity.value = STATE_TRANSITIONING_OR_BELOW_TOP;
33
33
  return;
34
34
  }
35
- if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
35
+ if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
36
36
  screenActivity.value = STATE_INACTIVE;
37
37
  } else {
38
- const outputValue = index === routes.length - 1 ? STATE_ON_TOP : index >= routes.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
38
+ const outputValue = index === routesLength - 1 ? STATE_ON_TOP : index >= routesLength - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
39
39
  const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.value, [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
40
40
  const next = Math.trunc(v) ?? STATE_TRANSITIONING_OR_BELOW_TOP;
41
41
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_animationStore","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","Animated","createAnimatedComponent","RNSScreen","Screen","routeKey","index","routes","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","AnimationStore","getAnimation","screenActivity","useSharedValue","useDerivedValue","value","length","outputValue","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","activityState","jsx","enabled","style","StyleSheet","absoluteFill","pointerEvents","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Screens.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_animationStore","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","Animated","createAnimatedComponent","RNSScreen","Screen","routeKey","index","routesLength","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","AnimationStore","getAnimation","screenActivity","useSharedValue","useDerivedValue","value","outputValue","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","activityState","jsx","enabled","style","StyleSheet","absoluteFill","pointerEvents","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Screens.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.StackView = void 0;
7
7
  var _elements = require("@react-navigation/elements");
8
8
  var _native = require("@react-navigation/native");
9
+ var React = _interopRequireWildcard(require("react"));
9
10
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
11
  var _reactNativeScreens = require("react-native-screens");
11
12
  var _screenLifecycle = require("../../shared/components/controllers/screen-lifecycle");
@@ -14,10 +15,11 @@ var _withStackNavigation = require("../utils/with-stack-navigation");
14
15
  var _Overlay = require("./Overlay");
15
16
  var _Screens = require("./Screens");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
19
  function isFabric() {
18
20
  return "nativeFabricUIManager" in global;
19
21
  }
20
- const SceneView = ({
22
+ const SceneView = /*#__PURE__*/React.memo(({
21
23
  descriptor
22
24
  }) => {
23
25
  const {
@@ -32,7 +34,7 @@ const SceneView = ({
32
34
  children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Overlay.Overlay.Screen, {}), render()]
33
35
  })
34
36
  });
35
- };
37
+ });
36
38
  const StackView = exports.StackView = (0, _withStackNavigation.withStackNavigationProvider)(({
37
39
  activeScreensLimit,
38
40
  descriptors,
@@ -64,7 +66,7 @@ const StackView = exports.StackView = (0, _withStackNavigation.withStackNavigati
64
66
  index: sceneIndex,
65
67
  activeScreensLimit: activeScreensLimit,
66
68
  routeKey: route.key,
67
- routes: routes,
69
+ routesLength: routes.length,
68
70
  shouldFreeze: shouldFreeze,
69
71
  freezeOnBlur: descriptor.options.freezeOnBlur,
70
72
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenTransitionProvider.ScreenTransitionProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_elements","require","_native","_reactNativeGestureHandler","_reactNativeScreens","_screenLifecycle","_screenTransitionProvider","_withStackNavigation","_Overlay","_Screens","_jsxRuntime","isFabric","global","SceneView","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackNavigationProvider","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","GestureHandlerRootView","SafeAreaProviderCompat","Float","ScreenContainer","style","flex","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","ScreenTransitionProvider","previous","current","next","LifecycleController","BlankStackScreenLifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNativeGestureHandler","_reactNativeScreens","_screenLifecycle","_screenTransitionProvider","_withStackNavigation","_Overlay","_Screens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackNavigationProvider","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","GestureHandlerRootView","SafeAreaProviderCompat","Float","ScreenContainer","style","flex","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","routesLength","length","freezeOnBlur","ScreenTransitionProvider","previous","current","next","LifecycleController","BlankStackScreenLifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.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 : null, styles.absolute],
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","useScreenAnimation","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","screenAnimation","overlayProps","route","navigation","focusedIndex","pointerEvents","style","styles","container","floating","absolute","children","Provider","value","FloatOverlay","activeOverlay","previous","current","next","ScreenOverlay","Overlay","Float","Screen","create","absoluteFillObject","zIndex","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
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":"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","ignoreList":[]}
@@ -13,7 +13,7 @@ const AnimatedScreen = Animated.createAnimatedComponent(RNSScreen);
13
13
  export const Screen = ({
14
14
  routeKey,
15
15
  index,
16
- routes,
16
+ routesLength,
17
17
  isPreloaded,
18
18
  activeScreensLimit,
19
19
  children,
@@ -27,10 +27,10 @@ export const Screen = ({
27
27
  screenActivity.value = STATE_TRANSITIONING_OR_BELOW_TOP;
28
28
  return;
29
29
  }
30
- if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
30
+ if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
31
31
  screenActivity.value = STATE_INACTIVE;
32
32
  } else {
33
- const outputValue = index === routes.length - 1 ? STATE_ON_TOP : index >= routes.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
33
+ const outputValue = index === routesLength - 1 ? STATE_ON_TOP : index >= routesLength - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP : STATE_INACTIVE;
34
34
  const v = interpolate(sceneProgress.value, [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
35
35
  const next = Math.trunc(v) ?? STATE_TRANSITIONING_OR_BELOW_TOP;
36
36
 
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","Animated","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","AnimationStore","jsx","_jsx","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","createAnimatedComponent","routeKey","index","routes","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","getAnimation","screenActivity","value","length","outputValue","v","next","Math","trunc","animatedProps","activityState","enabled","style","absoluteFill","pointerEvents"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Screens.tsx"],"mappings":";;AAEA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IACdC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,MAAM,IAAIC,SAAS,QAAQ,sBAAsB;AAC1D,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAarE,MAAMC,OAAO,GAAG,IAAI;AAEpB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,gCAAgC,GAAG,CAAC;AAC1C,MAAMC,YAAY,GAAG,CAAC;AAEtB,MAAMC,cAAc,GAAGd,QAAQ,CAACe,uBAAuB,CAACT,SAAS,CAAC;AAElE,OAAO,MAAMD,MAAM,GAAGA,CAAC;EACtBW,QAAQ;EACRC,KAAK;EACLC,MAAM;EACNC,WAAW;EACXC,kBAAkB;EAClBC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGjB,cAAc,CAACkB,YAAY,CAACT,QAAQ,EAAE,UAAU,CAAC;EACvE,MAAMU,cAAc,GAAGtB,cAAc,CAAY,CAAC,CAAC;EAEnDD,eAAe,CAAC,MAAM;IACrB,IAAI,CAACqB,aAAa,EAAE;MACnBE,cAAc,CAACC,KAAK,GAAGf,gCAAgC;MACvD;IACD;IAEA,IAAIK,KAAK,GAAGC,MAAM,CAACU,MAAM,GAAGR,kBAAkB,GAAG,CAAC,IAAID,WAAW,EAAE;MAClEO,cAAc,CAACC,KAAK,GAAGhB,cAAc;IACtC,CAAC,MAAM;MACN,MAAMkB,WAAW,GAChBZ,KAAK,KAAKC,MAAM,CAACU,MAAM,GAAG,CAAC,GACxBf,YAAY,GACZI,KAAK,IAAIC,MAAM,CAACU,MAAM,GAAGR,kBAAkB,GAC1CR,gCAAgC,GAChCD,cAAc;MAEnB,MAAMmB,CAAC,GAAG7B,WAAW,CACpBuB,aAAa,CAACG,KAAK,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGjB,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAEmB,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAME,IAAI,GACRC,IAAI,CAACC,KAAK,CAACH,CAAC,CAAC,IAAkBlB,gCAAgC;;MAEjE;MACA,IAAImB,IAAI,KAAKL,cAAc,CAACC,KAAK,EAAE;QAClCD,cAAc,CAACC,KAAK,GAAGI,IAAI;MAC5B;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAGhC,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNiC,aAAa,EAAET,cAAc,CAACC,KAAK;MACnCJ,YAAY,EAAEG,cAAc,CAACC,KAAK,KAAKhB,cAAc,IAAIY;IAC1D,CAAC;EACF,CAAC,CAAC;EAEF,oBACCd,IAAA,CAACK,cAAc;IACdsB,OAAO;IACPC,KAAK,EAAEtC,UAAU,CAACuC,YAAa;IAC/BC,aAAa,EAAC,UAAU;IACxBjB,YAAY,EAAEA,YAAa;IAC3BY,aAAa,EAAEA,aAAc;IAAAb,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","Animated","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","AnimationStore","jsx","_jsx","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","AnimatedScreen","createAnimatedComponent","routeKey","index","routesLength","isPreloaded","activeScreensLimit","children","freezeOnBlur","shouldFreeze","sceneProgress","getAnimation","screenActivity","value","outputValue","v","next","Math","trunc","animatedProps","activityState","enabled","style","absoluteFill","pointerEvents"],"sourceRoot":"../../../../src","sources":["blank-stack/components/Screens.tsx"],"mappings":";;AAEA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IACdC,WAAW,EACXC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,MAAM,IAAIC,SAAS,QAAQ,sBAAsB;AAC1D,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAarE,MAAMC,OAAO,GAAG,IAAI;AAEpB,MAAMC,cAAc,GAAG,CAAC;AACxB,MAAMC,gCAAgC,GAAG,CAAC;AAC1C,MAAMC,YAAY,GAAG,CAAC;AAEtB,MAAMC,cAAc,GAAGd,QAAQ,CAACe,uBAAuB,CAACT,SAAS,CAAC;AAElE,OAAO,MAAMD,MAAM,GAAGA,CAAC;EACtBW,QAAQ;EACRC,KAAK;EACLC,YAAY;EACZC,WAAW;EACXC,kBAAkB;EAClBC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,MAAMC,aAAa,GAAGjB,cAAc,CAACkB,YAAY,CAACT,QAAQ,EAAE,UAAU,CAAC;EACvE,MAAMU,cAAc,GAAGtB,cAAc,CAAY,CAAC,CAAC;EAEnDD,eAAe,CAAC,MAAM;IACrB,IAAI,CAACqB,aAAa,EAAE;MACnBE,cAAc,CAACC,KAAK,GAAGf,gCAAgC;MACvD;IACD;IAEA,IAAIK,KAAK,GAAGC,YAAY,GAAGE,kBAAkB,GAAG,CAAC,IAAID,WAAW,EAAE;MACjEO,cAAc,CAACC,KAAK,GAAGhB,cAAc;IACtC,CAAC,MAAM;MACN,MAAMiB,WAAW,GAChBX,KAAK,KAAKC,YAAY,GAAG,CAAC,GACvBL,YAAY,GACZI,KAAK,IAAIC,YAAY,GAAGE,kBAAkB,GACzCR,gCAAgC,GAChCD,cAAc;MAEnB,MAAMkB,CAAC,GAAG5B,WAAW,CACpBuB,aAAa,CAACG,KAAK,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGjB,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAEkB,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAME,IAAI,GACRC,IAAI,CAACC,KAAK,CAACH,CAAC,CAAC,IAAkBjB,gCAAgC;;MAEjE;MACA,IAAIkB,IAAI,KAAKJ,cAAc,CAACC,KAAK,EAAE;QAClCD,cAAc,CAACC,KAAK,GAAGG,IAAI;MAC5B;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG/B,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNgC,aAAa,EAAER,cAAc,CAACC,KAAK;MACnCJ,YAAY,EAAEG,cAAc,CAACC,KAAK,KAAKhB,cAAc,IAAIY;IAC1D,CAAC;EACF,CAAC,CAAC;EAEF,oBACCd,IAAA,CAACK,cAAc;IACdqB,OAAO;IACPC,KAAK,EAAErC,UAAU,CAACsC,YAAa;IAC/BC,aAAa,EAAC,UAAU;IACxBhB,YAAY,EAAEA,YAAa;IAC3BW,aAAa,EAAEA,aAAc;IAAAZ,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { SafeAreaProviderCompat } from "@react-navigation/elements";
4
4
  import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
5
+ import * as React from "react";
5
6
  import { GestureHandlerRootView } from "react-native-gesture-handler";
6
7
  import { ScreenContainer } from "react-native-screens";
7
8
  import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
@@ -13,7 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  function isFabric() {
14
15
  return "nativeFabricUIManager" in global;
15
16
  }
16
- const SceneView = ({
17
+ const SceneView = /*#__PURE__*/React.memo(({
17
18
  descriptor
18
19
  }) => {
19
20
  const {
@@ -28,7 +29,7 @@ const SceneView = ({
28
29
  children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
30
  })
30
31
  });
31
- };
32
+ });
32
33
  export const StackView = withStackNavigationProvider(({
33
34
  activeScreensLimit,
34
35
  descriptors,
@@ -60,7 +61,7 @@ export const StackView = withStackNavigationProvider(({
60
61
  index: sceneIndex,
61
62
  activeScreensLimit: activeScreensLimit,
62
63
  routeKey: route.key,
63
- routes: routes,
64
+ routesLength: routes.length,
64
65
  shouldFreeze: shouldFreeze,
65
66
  freezeOnBlur: descriptor.options.freezeOnBlur,
66
67
  children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","ScreenTransitionProvider","withStackNavigationProvider","Overlay","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","Float","style","flex","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SafeAreaProviderCompat","NavigationContext","NavigationRouteContext","React","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","ScreenTransitionProvider","withStackNavigationProvider","Overlay","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","activeScreensLimit","descriptors","focusedIndex","routes","scenes","shouldShowFloatOverlay","Float","style","flex","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","routesLength","length","freezeOnBlur","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"AAmIA,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"AAuJA,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
@@ -1,15 +1,14 @@
1
- import type { NavigationRoute, ParamListBase } from "@react-navigation/native";
2
1
  import type * as React from "react";
3
2
  interface ScreenProps {
4
3
  routeKey: string;
5
4
  index: number;
6
- routes: NavigationRoute<ParamListBase, string>[];
5
+ routesLength: number;
7
6
  isPreloaded: boolean;
8
7
  children: React.ReactNode;
9
8
  freezeOnBlur?: boolean;
10
9
  shouldFreeze?: boolean;
11
10
  activeScreensLimit: number;
12
11
  }
13
- export declare const Screen: ({ routeKey, index, routes, isPreloaded, activeScreensLimit, children, freezeOnBlur, shouldFreeze, }: ScreenProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const Screen: ({ routeKey, index, routesLength, isPreloaded, activeScreensLimit, children, freezeOnBlur, shouldFreeze, }: ScreenProps) => import("react/jsx-runtime").JSX.Element;
14
13
  export {};
15
14
  //# sourceMappingURL=Screens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Screens.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Screens.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAWpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACjD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC3B;AAUD,eAAO,MAAM,MAAM,GAAI,qGASpB,WAAW,4CAuDb,CAAC"}
1
+ {"version":3,"file":"Screens.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Screens.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAWpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC3B;AAUD,eAAO,MAAM,MAAM,GAAI,2GASpB,WAAW,4CAuDb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/StackView.tsx"],"names":[],"mappings":"AAqCA,eAAO,MAAM,SAAS,iIAgErB,CAAC"}
1
+ {"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/StackView.tsx"],"names":[],"mappings":"AAsCA,eAAO,MAAM,SAAS,iIAgErB,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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"}
@@ -2,15 +2,15 @@ export declare const Specs: {
2
2
  DefaultSpec: import("react-native-reanimated/lib/typescript/animation/spring").SpringConfig;
3
3
  };
4
4
  export declare const Presets: {
5
- SlideFromTop: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
6
- ZoomIn: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
7
- SlideFromBottom: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
8
- DraggableCard: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
9
- ElasticCard: (config?: Partial<import("../types/core").ScreenTransitionConfig> & {
5
+ SlideFromTop: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
6
+ ZoomIn: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
7
+ SlideFromBottom: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
8
+ DraggableCard: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
9
+ ElasticCard: (config?: Partial<import("..").ScreenTransitionConfig> & {
10
10
  elasticFactor?: number;
11
- }) => import("../types/core").ScreenTransitionConfig;
12
- SharedIGImage: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
13
- SharedAppleMusic: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
14
- SharedXImage: (config?: Partial<import("../types/core").ScreenTransitionConfig>) => import("../types/core").ScreenTransitionConfig;
11
+ }) => import("..").ScreenTransitionConfig;
12
+ SharedIGImage: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
13
+ SharedAppleMusic: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
14
+ SharedXImage: (config?: Partial<import("..").ScreenTransitionConfig>) => import("..").ScreenTransitionConfig;
15
15
  };
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1320,5 +1320,6 @@ declare const _default: {
1320
1320
  };
1321
1321
  export default _default;
1322
1322
  export { useScreenAnimation } from "./hooks/animation/use-screen-animation";
1323
- export type { OverlayInterpolationProps, ScreenInterpolationProps, } from "./types/animation";
1323
+ export type { AnimationConfig, OverlayInterpolationProps, ScreenInterpolationProps, ScreenStyleInterpolator, } from "./types/animation";
1324
+ export type { ScreenTransitionConfig } from "./types/core";
1324
1325
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,UAAU,MAAM,uCAAuC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAwB2oE,CAAC;;;;;;;;;;AArB3sE,wBAaE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,YAAY,EACX,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,UAAU,MAAM,uCAAuC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA2BmiE,CAAC;;;;;;;;;;AAxBnmE,wBAaE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,YAAY,EACX,eAAe,EACf,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.0.0-beta.2",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -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 : null,
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;
@@ -13,7 +13,7 @@ import { AnimationStore } from "../../shared/stores/animation-store";
13
13
  interface ScreenProps {
14
14
  routeKey: string;
15
15
  index: number;
16
- routes: NavigationRoute<ParamListBase, string>[];
16
+ routesLength: number;
17
17
  isPreloaded: boolean;
18
18
  children: React.ReactNode;
19
19
  freezeOnBlur?: boolean;
@@ -32,7 +32,7 @@ const AnimatedScreen = Animated.createAnimatedComponent(RNSScreen);
32
32
  export const Screen = ({
33
33
  routeKey,
34
34
  index,
35
- routes,
35
+ routesLength,
36
36
  isPreloaded,
37
37
  activeScreensLimit,
38
38
  children,
@@ -48,13 +48,13 @@ export const Screen = ({
48
48
  return;
49
49
  }
50
50
 
51
- if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
51
+ if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
52
52
  screenActivity.value = STATE_INACTIVE;
53
53
  } else {
54
54
  const outputValue =
55
- index === routes.length - 1
55
+ index === routesLength - 1
56
56
  ? STATE_ON_TOP
57
- : index >= routes.length - activeScreensLimit
57
+ : index >= routesLength - activeScreensLimit
58
58
  ? STATE_TRANSITIONING_OR_BELOW_TOP
59
59
  : STATE_INACTIVE;
60
60
 
@@ -3,6 +3,7 @@ import {
3
3
  NavigationContext,
4
4
  NavigationRouteContext,
5
5
  } from "@react-navigation/native";
6
+ import * as React from "react";
6
7
  import { GestureHandlerRootView } from "react-native-gesture-handler";
7
8
  import { ScreenContainer } from "react-native-screens";
8
9
  import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
@@ -22,7 +23,7 @@ type SceneViewProps = {
22
23
  sceneIndex: number;
23
24
  };
24
25
 
25
- const SceneView = ({ descriptor }: SceneViewProps) => {
26
+ const SceneView = React.memo(({ descriptor }: SceneViewProps) => {
26
27
  const { route, navigation, render } = descriptor;
27
28
 
28
29
  return (
@@ -33,7 +34,7 @@ const SceneView = ({ descriptor }: SceneViewProps) => {
33
34
  </NavigationRouteContext.Provider>
34
35
  </NavigationContext.Provider>
35
36
  );
36
- };
37
+ });
37
38
 
38
39
  export const StackView = withStackNavigationProvider(
39
40
  ({
@@ -74,7 +75,7 @@ export const StackView = withStackNavigationProvider(
74
75
  index={sceneIndex}
75
76
  activeScreensLimit={activeScreensLimit}
76
77
  routeKey={route.key}
77
- routes={routes}
78
+ routesLength={routes.length}
78
79
  shouldFreeze={shouldFreeze}
79
80
  freezeOnBlur={descriptor.options.freezeOnBlur}
80
81
  >
@@ -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
  */
@@ -21,6 +21,9 @@ export default {
21
21
  export { useScreenAnimation } from "./hooks/animation/use-screen-animation";
22
22
 
23
23
  export type {
24
+ AnimationConfig,
24
25
  OverlayInterpolationProps,
25
26
  ScreenInterpolationProps,
27
+ ScreenStyleInterpolator,
26
28
  } from "./types/animation";
29
+ export type { ScreenTransitionConfig } from "./types/core";