react-native-screen-transitions 3.0.0-beta.0 → 3.0.0-beta.1

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.
@@ -11,9 +11,19 @@ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
11
11
  var _keys = require("../../shared/providers/keys");
12
12
  var _useOverlayAnimation = require("../hooks/use-overlay-animation");
13
13
  var _withStackNavigation = require("../utils/with-stack-navigation");
14
+ var _useScreenAnimation = require("../../shared/hooks/animation/use-screen-animation");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  const getActiveFloatOverlay = (scenes, index) => {
16
- for (let i = index; i >= 0; i--) {
17
+ if (scenes.length === 0) {
18
+ return null;
19
+ }
20
+
21
+ // When navigating back, closing scenes are kept at the top of the local stack
22
+ // while the focused index already points to the destination screen. We need to
23
+ // start scanning from the actual top of the stack so the overlay can animate
24
+ // out together with its closing screen instead of disappearing immediately.
25
+ const startIndex = Math.max(index, scenes.length - 1);
26
+ for (let i = startIndex; i >= 0; i--) {
17
27
  const scene = scenes[i];
18
28
  const options = scene?.descriptor?.options;
19
29
  if (options?.overlayMode === "float" && options?.overlayShown) {
@@ -32,16 +42,18 @@ const OverlayHost = ({
32
42
  const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
33
43
  const OverlayComponent = scene.descriptor.options.overlay;
34
44
  const {
35
- animation,
45
+ overlayAnimation,
36
46
  optimisticActiveIndex
37
47
  } = (0, _useOverlayAnimation.useOverlayAnimation)();
48
+ const screenAnimation = (0, _useScreenAnimation.useScreenAnimation)();
38
49
  if (!OverlayComponent) {
39
50
  return null;
40
51
  }
41
52
  const overlayProps = {
42
53
  route: scene.route,
43
54
  navigation: scene.descriptor.navigation,
44
- animation,
55
+ overlayAnimation,
56
+ screenAnimation,
45
57
  focusedIndex: optimisticActiveIndex,
46
58
  insets
47
59
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_reactNative","_reactNativeSafeAreaContext","_keys","_useOverlayAnimation","_withStackNavigation","_jsxRuntime","getActiveFloatOverlay","scenes","index","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","useSafeAreaInsets","OverlayComponent","overlay","animation","optimisticActiveIndex","useOverlayAnimation","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":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAMA,IAAAM,oBAAA,GAAAN,OAAA;AAA2E,IAAAO,WAAA,GAAAP,OAAA;AAO3E,MAAMQ,qBAAqB,GAAGA,CAACC,MAAyB,EAAEC,KAAa,KAAK;EAC3E,KAAK,IAAIC,CAAC,GAAGD,KAAK,EAAEC,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAChC,MAAMC,KAAK,GAAGH,MAAM,CAACE,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,GAAG,IAAAC,6CAAiB,EAAC,CAAC;EAElC,MAAMC,gBAAgB,GAAGV,KAAK,CAACE,UAAU,CAACD,OAAO,CAACU,OAAO;EAEzD,MAAM;IAAEC,SAAS;IAAEC;EAAsB,CAAC,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAElE,IAAI,CAACJ,gBAAgB,EAAE;IACtB,OAAO,IAAI;EACZ;EAEA,MAAMK,YAAoC,GAAG;IAC5CC,KAAK,EAAEhB,KAAK,CAACgB,KAAK;IAClBC,UAAU,EAAEjB,KAAK,CAACE,UAAU,CAACe,UAAU;IACvCL,SAAS;IACTM,YAAY,EAAEL,qBAAqB;IACnCL;EACD,CAAC;EAED,oBACC,IAAAb,WAAA,CAAAwB,GAAA,EAAC7B,YAAA,CAAA8B,QAAQ,CAACC,IAAI;IACbC,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CACNC,MAAM,CAACC,SAAS,EAChBlB,UAAU,GAAGiB,MAAM,CAACE,QAAQ,GAAG,IAAI,EACnCF,MAAM,CAACG,QAAQ,CACd;IAAAC,QAAA,eAEF,IAAAjC,WAAA,CAAAwB,GAAA,EAAChC,OAAA,CAAA0C,iBAAiB,CAACC,QAAQ;MAACC,KAAK,EAAE/B,KAAK,CAACE,UAAU,CAACe,UAAW;MAAAW,QAAA,eAC9D,IAAAjC,WAAA,CAAAwB,GAAA,EAAChC,OAAA,CAAA6C,sBAAsB,CAACF,QAAQ;QAACC,KAAK,EAAE/B,KAAK,CAACgB,KAAM;QAAAY,QAAA,eACnD,IAAAjC,WAAA,CAAAwB,GAAA,EAAC7B,YAAA,CAAA+B,IAAI;UAACC,aAAa,EAAC,UAAU;UAACC,KAAK,EAAEC,MAAM,CAACb,OAAQ;UAAAiB,QAAA,eACpD,IAAAjC,WAAA,CAAAwB,GAAA,EAACT,gBAAgB;YAAA,GAAKK;UAAY,CAAG;QAAC,CACjC;MAAC,CACyB;IAAC,CACP;EAAC,CACf,CAAC;AAElB,CAAC;AAED,MAAMkB,YAAY,GAAGA,CAAA,KAAM;EAC1B,MAAM;IAAEpC,MAAM;IAAEqB;EAAa,CAAC,GAAG,IAAAgB,8CAAyB,EAAC,CAAC;EAE5D,MAAMC,aAAa,GAAG,IAAAC,cAAO,EAC5B,MAAMxC,qBAAqB,CAACC,MAAM,EAAEqB,YAAY,CAAC,EACjD,CAACrB,MAAM,EAAEqB,YAAY,CACtB,CAAC;EAED,IAAI,CAACiB,aAAa,EAAE;IACnB,OAAO,IAAI;EACZ;EAEA,MAAM;IAAEnC,KAAK;IAAEK;EAAa,CAAC,GAAG8B,aAAa;EAE7C,MAAME,QAAQ,GAAGxC,MAAM,CAACQ,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EACrD,MAAMoC,OAAO,GAAGtC,KAAK,CAACE,UAAU;EAChC,MAAMqC,IAAI,GAAG1C,MAAM,CAACQ,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EAEjD,oBACC,IAAAP,WAAA,CAAAwB,GAAA,EAAC3B,KAAA,CAAAgD,YAAY;IAACF,OAAO,EAAEA,OAAQ;IAACD,QAAQ,EAAEA,QAAS;IAACE,IAAI,EAAEA,IAAK;IAAAX,QAAA,eAC9D,IAAAjC,WAAA,CAAAwB,GAAA,EAACb,WAAW;MAACN,KAAK,EAAEA,KAAM;MAACO,UAAU;IAAA,CAAE;EAAC,CAC3B,CAAC;AAEjB,CAAC;AAED,MAAMkC,aAAa,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEvB;EAAa,CAAC,GAAG,IAAAgB,8CAAyB,EAAC,CAAC;EACpD,MAAM;IAAEI;EAAQ,CAAC,GAAG,IAAAI,aAAO,EAAuB,CAAC;EAEnD,MAAMzC,OAAO,GAAGqC,OAAO,CAACrC,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,EAAEoC,OAAO;IACnBtB,KAAK,EAAEsB,OAAO,CAACtB;EAChB,CAAC;EAED,oBAAO,IAAArB,WAAA,CAAAwB,GAAA,EAACb,WAAW;IAACN,KAAK,EAAEA;EAAM,CAAE,CAAC;AACrC,CAAC;AAEM,MAAM2C,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACtBE,KAAK,EAAEZ,YAAY;EACnBa,MAAM,EAAEL;AACT,CAAC;AAED,MAAMjB,MAAM,GAAGuB,uBAAU,CAACC,MAAM,CAAC;EAChCrC,OAAO,EAAE;IACR,GAAGoC,uBAAU,CAACE,kBAAkB;IAChCC,MAAM,EAAE;EACT,CAAC;EACDzB,SAAS,EAAE;IACV0B,IAAI,EAAE;EACP,CAAC;EACDxB,QAAQ,EAAEoB,uBAAU,CAACE,kBAAkB;EACvCvB,QAAQ,EAAE;IACTwB,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
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":[]}
@@ -61,7 +61,7 @@ const useOverlayAnimation = () => {
61
61
  const optimisticActiveIndex = (0, _useSharedValueState.useSharedValueState)(optimisticActiveIndexValue);
62
62
  const screen = (0, _reactNative.useWindowDimensions)();
63
63
  const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
64
- const animation = (0, _reactNativeReanimated.useDerivedValue)(() => ({
64
+ const overlayAnimation = (0, _reactNativeReanimated.useDerivedValue)(() => ({
65
65
  progress: accumulatedProgress.value,
66
66
  layouts: {
67
67
  screen
@@ -69,7 +69,7 @@ const useOverlayAnimation = () => {
69
69
  insets
70
70
  }));
71
71
  return {
72
- animation,
72
+ overlayAnimation,
73
73
  optimisticActiveIndex
74
74
  };
75
75
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_useSharedValueState","_keys","_animationStore","_gestureStore","_withStackNavigation","useOverlayAnimation","current","useKeys","scenes","focusedIndex","useStackNavigationContext","routeKey","route","key","gestureState","GestureStore","getRouteGestures","fallbackIsDismissing","useSharedValue","progressValues","useMemo","overlayIndex","findIndex","scene","slice","map","AnimationStore","getAll","accumulatedProgress","useDerivedValue","total","i","length","progress","value","optimisticActiveIndexValue","activeIndex","isOneDismissing","Number","some","closing","optimisticIndex","optimisticActiveIndex","useSharedValueState","screen","useWindowDimensions","insets","useSafeAreaInsets","animation","layouts","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/hooks/use-overlay-animation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_useSharedValueState","_keys","_animationStore","_gestureStore","_withStackNavigation","useOverlayAnimation","current","useKeys","scenes","focusedIndex","useStackNavigationContext","routeKey","route","key","gestureState","GestureStore","getRouteGestures","fallbackIsDismissing","useSharedValue","progressValues","useMemo","overlayIndex","findIndex","scene","slice","map","AnimationStore","getAll","accumulatedProgress","useDerivedValue","total","i","length","progress","value","optimisticActiveIndexValue","activeIndex","isOneDismissing","Number","some","closing","optimisticIndex","optimisticActiveIndex","useSharedValueState","screen","useWindowDimensions","insets","useSafeAreaInsets","overlayAnimation","layouts","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/hooks/use-overlay-animation.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,19 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";
7
7
  import { KeysProvider, useKeys } from "../../shared/providers/keys";
8
8
  import { useOverlayAnimation } from "../hooks/use-overlay-animation";
9
9
  import { useStackNavigationContext } from "../utils/with-stack-navigation";
10
+ import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  const getActiveFloatOverlay = (scenes, index) => {
12
- for (let i = index; i >= 0; i--) {
13
+ if (scenes.length === 0) {
14
+ return null;
15
+ }
16
+
17
+ // When navigating back, closing scenes are kept at the top of the local stack
18
+ // while the focused index already points to the destination screen. We need to
19
+ // start scanning from the actual top of the stack so the overlay can animate
20
+ // out together with its closing screen instead of disappearing immediately.
21
+ const startIndex = Math.max(index, scenes.length - 1);
22
+ for (let i = startIndex; i >= 0; i--) {
13
23
  const scene = scenes[i];
14
24
  const options = scene?.descriptor?.options;
15
25
  if (options?.overlayMode === "float" && options?.overlayShown) {
@@ -28,16 +38,18 @@ const OverlayHost = ({
28
38
  const insets = useSafeAreaInsets();
29
39
  const OverlayComponent = scene.descriptor.options.overlay;
30
40
  const {
31
- animation,
41
+ overlayAnimation,
32
42
  optimisticActiveIndex
33
43
  } = useOverlayAnimation();
44
+ const screenAnimation = useScreenAnimation();
34
45
  if (!OverlayComponent) {
35
46
  return null;
36
47
  }
37
48
  const overlayProps = {
38
49
  route: scene.route,
39
50
  navigation: scene.descriptor.navigation,
40
- animation,
51
+ overlayAnimation,
52
+ screenAnimation,
41
53
  focusedIndex: optimisticActiveIndex,
42
54
  insets
43
55
  };
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useSafeAreaInsets","KeysProvider","useKeys","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","insets","OverlayComponent","overlay","animation","optimisticActiveIndex","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","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":[]}
@@ -58,7 +58,7 @@ export const useOverlayAnimation = () => {
58
58
  const optimisticActiveIndex = useSharedValueState(optimisticActiveIndexValue);
59
59
  const screen = useWindowDimensions();
60
60
  const insets = useSafeAreaInsets();
61
- const animation = useDerivedValue(() => ({
61
+ const overlayAnimation = useDerivedValue(() => ({
62
62
  progress: accumulatedProgress.value,
63
63
  layouts: {
64
64
  screen
@@ -66,7 +66,7 @@ export const useOverlayAnimation = () => {
66
66
  insets
67
67
  }));
68
68
  return {
69
- animation,
69
+ overlayAnimation,
70
70
  optimisticActiveIndex
71
71
  };
72
72
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","useSharedValueState","useKeys","AnimationStore","GestureStore","useStackNavigationContext","useOverlayAnimation","current","scenes","focusedIndex","routeKey","route","key","gestureState","getRouteGestures","fallbackIsDismissing","progressValues","overlayIndex","findIndex","scene","slice","map","getAll","accumulatedProgress","total","i","length","progress","value","optimisticActiveIndexValue","activeIndex","isOneDismissing","Number","some","closing","optimisticIndex","optimisticActiveIndex","screen","insets","animation","layouts"],"sourceRoot":"../../../../src","sources":["blank-stack/hooks/use-overlay-animation.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAGCC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SACCC,cAAc,QAER,qCAAqC;AAC5C,SAASC,YAAY,QAAQ,mCAAmC;AAEhE,SAASC,yBAAyB,QAAQ,gCAAgC;;AAE1E;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAG9B;EACJ,MAAM;IAAEC;EAAQ,CAAC,GAAGL,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEM,MAAM;IAAEC;EAAa,CAAC,GAAGJ,yBAAyB,CAAC,CAAC;EAC5D,MAAMK,QAAQ,GAAGH,OAAO,EAAEI,KAAK,EAAEC,GAAG;EAEpC,MAAMC,YAAY,GAAGH,QAAQ,GAC1BN,YAAY,CAACU,gBAAgB,CAACJ,QAAQ,CAAC,GACvC,IAAI;EAEP,MAAMK,oBAAoB,GAAGhB,cAAc,CAAC,CAAC,CAAC;EAE9C,MAAMiB,cAAc,GAAGpB,OAAO,CAAC,MAAM;IACpC,IAAI,CAACc,QAAQ,EAAE;MACd,OAAO,EAAE;IACV;IAEA,MAAMO,YAAY,GAAGT,MAAM,CAACU,SAAS,CACnCC,KAAK,IAAKA,KAAK,CAACR,KAAK,CAACC,GAAG,KAAKF,QAChC,CAAC;IAED,IAAIO,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;IAEA,OAAOT,MAAM,CAACY,KAAK,CAACH,YAAY,CAAC,CAACI,GAAG,CAAEF,KAAK,IAAK;MAChD,OAAOhB,cAAc,CAACmB,MAAM,CAACH,KAAK,CAACR,KAAK,CAACC,GAAG,CAAC;IAC9C,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAEF,MAAM,CAAC,CAAC;EAEtB,MAAMe,mBAAmB,GAAGzB,eAAe,CAAC,MAAM;IACjD,SAAS;;IAET,IAAI0B,KAAK,GAAG,CAAC;IAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,cAAc,CAACU,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MAClDD,KAAK,IAAIR,cAAc,CAACS,CAAC,CAAC,CAACE,QAAQ,CAACC,KAAK;IAC1C;IAEA,OAAOJ,KAAK;EACb,CAAC,EAAE,CAACR,cAAc,CAAC,CAAC;EAEpB,MAAMa,0BAA0B,GAAG/B,eAAe,CAAC,MAAM;IACxD,SAAS;;IAET,MAAMgC,WAAW,GAAGd,cAAc,CAACU,MAAM,GAAG,CAAC;IAE7C,MAAMK,eAAe,GAAGC,MAAM,CAC7BhB,cAAc,CAACiB,IAAI,CAAEL,KAAK,IAAKA,KAAK,CAACM,OAAO,CAACN,KAAK,GAAG,CAAC,CACvD,CAAC;IAED,MAAMO,eAAe,GAAGL,WAAW,GAAGC,eAAe;IAErD,OAAOI,eAAe;EACvB,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAGnC,mBAAmB,CAAC4B,0BAA0B,CAAC;EAE7E,MAAMQ,MAAM,GAAGxC,mBAAmB,CAAC,CAAC;EAEpC,MAAMyC,MAAM,GAAGtC,iBAAiB,CAAC,CAAC;EAElC,MAAMuC,SAAS,GAAGzC,eAAe,CAA4B,OAAO;IACnE6B,QAAQ,EAAEJ,mBAAmB,CAACK,KAAK;IACnCY,OAAO,EAAE;MACRH;IACD,CAAC;IACDC;EACD,CAAC,CAAC,CAAC;EAEH,OAAO;IACNC,SAAS;IACTH;EACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","useSharedValueState","useKeys","AnimationStore","GestureStore","useStackNavigationContext","useOverlayAnimation","current","scenes","focusedIndex","routeKey","route","key","gestureState","getRouteGestures","fallbackIsDismissing","progressValues","overlayIndex","findIndex","scene","slice","map","getAll","accumulatedProgress","total","i","length","progress","value","optimisticActiveIndexValue","activeIndex","isOneDismissing","Number","some","closing","optimisticIndex","optimisticActiveIndex","screen","insets","overlayAnimation","layouts"],"sourceRoot":"../../../../src","sources":["blank-stack/hooks/use-overlay-animation.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAGCC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SACCC,cAAc,QAER,qCAAqC;AAC5C,SAASC,YAAY,QAAQ,mCAAmC;AAEhE,SAASC,yBAAyB,QAAQ,gCAAgC;;AAE1E;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAG9B;EACJ,MAAM;IAAEC;EAAQ,CAAC,GAAGL,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEM,MAAM;IAAEC;EAAa,CAAC,GAAGJ,yBAAyB,CAAC,CAAC;EAC5D,MAAMK,QAAQ,GAAGH,OAAO,EAAEI,KAAK,EAAEC,GAAG;EAEpC,MAAMC,YAAY,GAAGH,QAAQ,GAC1BN,YAAY,CAACU,gBAAgB,CAACJ,QAAQ,CAAC,GACvC,IAAI;EAEP,MAAMK,oBAAoB,GAAGhB,cAAc,CAAC,CAAC,CAAC;EAE9C,MAAMiB,cAAc,GAAGpB,OAAO,CAAC,MAAM;IACpC,IAAI,CAACc,QAAQ,EAAE;MACd,OAAO,EAAE;IACV;IAEA,MAAMO,YAAY,GAAGT,MAAM,CAACU,SAAS,CACnCC,KAAK,IAAKA,KAAK,CAACR,KAAK,CAACC,GAAG,KAAKF,QAChC,CAAC;IAED,IAAIO,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;IAEA,OAAOT,MAAM,CAACY,KAAK,CAACH,YAAY,CAAC,CAACI,GAAG,CAAEF,KAAK,IAAK;MAChD,OAAOhB,cAAc,CAACmB,MAAM,CAACH,KAAK,CAACR,KAAK,CAACC,GAAG,CAAC;IAC9C,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAEF,MAAM,CAAC,CAAC;EAEtB,MAAMe,mBAAmB,GAAGzB,eAAe,CAAC,MAAM;IACjD,SAAS;;IAET,IAAI0B,KAAK,GAAG,CAAC;IAEb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,cAAc,CAACU,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MAClDD,KAAK,IAAIR,cAAc,CAACS,CAAC,CAAC,CAACE,QAAQ,CAACC,KAAK;IAC1C;IAEA,OAAOJ,KAAK;EACb,CAAC,EAAE,CAACR,cAAc,CAAC,CAAC;EAEpB,MAAMa,0BAA0B,GAAG/B,eAAe,CAAC,MAAM;IACxD,SAAS;;IAET,MAAMgC,WAAW,GAAGd,cAAc,CAACU,MAAM,GAAG,CAAC;IAE7C,MAAMK,eAAe,GAAGC,MAAM,CAC7BhB,cAAc,CAACiB,IAAI,CAAEL,KAAK,IAAKA,KAAK,CAACM,OAAO,CAACN,KAAK,GAAG,CAAC,CACvD,CAAC;IAED,MAAMO,eAAe,GAAGL,WAAW,GAAGC,eAAe;IAErD,OAAOI,eAAe;EACvB,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAGnC,mBAAmB,CAAC4B,0BAA0B,CAAC;EAE7E,MAAMQ,MAAM,GAAGxC,mBAAmB,CAAC,CAAC;EAEpC,MAAMyC,MAAM,GAAGtC,iBAAiB,CAAC,CAAC;EAElC,MAAMuC,gBAAgB,GAAGzC,eAAe,CAA4B,OAAO;IAC1E6B,QAAQ,EAAEJ,mBAAmB,CAACK,KAAK;IACnCY,OAAO,EAAE;MACRH;IACD,CAAC;IACDC;EACD,CAAC,CAAC,CAAC;EAEH,OAAO;IACNC,gBAAgB;IAChBH;EACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"AAoHA,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/Overlay.tsx"],"names":[],"mappings":"AAmIA,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
@@ -6,7 +6,7 @@ import type { OverlayInterpolationProps } from "../../shared/types/animation";
6
6
  * drive animations that span multiple screens.
7
7
  */
8
8
  export declare const useOverlayAnimation: () => {
9
- animation: DerivedValue<OverlayInterpolationProps>;
9
+ overlayAnimation: DerivedValue<OverlayInterpolationProps>;
10
10
  optimisticActiveIndex: number;
11
11
  };
12
12
  //# sourceMappingURL=use-overlay-animation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-overlay-animation.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/hooks/use-overlay-animation.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,YAAY,EAIjB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAG9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO;IACtC,SAAS,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAC;IACnD,qBAAqB,EAAE,MAAM,CAAC;CA0E9B,CAAC"}
1
+ {"version":3,"file":"use-overlay-animation.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/hooks/use-overlay-animation.tsx"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,YAAY,EAIjB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAG9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO;IACtC,gBAAgB,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAC;IAC1D,qBAAqB,EAAE,MAAM,CAAC;CA0E9B,CAAC"}
@@ -2,7 +2,7 @@ import type { DefaultNavigatorOptions, Descriptor, NavigationHelpers, Navigation
2
2
  import type { DerivedValue } from "react-native-reanimated";
3
3
  import type { EdgeInsets } from "react-native-safe-area-context";
4
4
  import type { ScreenProps } from "react-native-screens";
5
- import type { OverlayInterpolationProps, ScreenStyleInterpolator, TransitionSpec } from "../shared/types/animation";
5
+ import type { OverlayInterpolationProps, ScreenInterpolationProps, ScreenStyleInterpolator, TransitionSpec } from "../shared/types/animation";
6
6
  import type { GestureActivationArea, GestureDirection } from "../shared/types/gesture";
7
7
  export type BlankStackNavigationEventMap = {
8
8
  /**
@@ -79,9 +79,13 @@ export type BlankStackOverlayProps = {
79
79
  */
80
80
  insets: EdgeInsets;
81
81
  /**
82
- * Accumulated progress across the stack for the overlay owner and subsequent screens.
82
+ * Animation values for the overlay.
83
83
  */
84
- animation: DerivedValue<OverlayInterpolationProps>;
84
+ overlayAnimation: DerivedValue<OverlayInterpolationProps>;
85
+ /**
86
+ * Animation values for the screen.
87
+ */
88
+ screenAnimation: DerivedValue<ScreenInterpolationProps>;
85
89
  /**
86
90
  * Index of the active route
87
91
  */
@@ -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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"}
@@ -1320,4 +1320,5 @@ 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
1324
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAmB6uE,CAAC;;;;;;;;;;AAhB7yE,wBAaE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAwB2oE,CAAC;;;;;;;;;;AArB3sE,wBAaE;AAEF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,YAAY,EACX,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,101 +1,89 @@
1
1
  {
2
- "name": "react-native-screen-transitions",
3
- "version": "3.0.0-beta.0",
4
- "description": "Easy screen transitions for React Native and Expo",
5
- "author": "Ed",
6
- "license": "MIT",
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/eds2002/react-native-screen-transitions.git",
10
- "directory": "packages/react-native-screen-transitions"
11
- },
12
- "main": "lib/commonjs/shared/index.js",
13
- "module": "lib/module/shared/index.js",
14
- "types": "lib/typescript/shared/index.d.ts",
15
- "react-native": "src/shared/index",
16
- "exports": {
17
- ".": {
18
- "react-native": "./src/shared/index.ts",
19
- "import": "./lib/module/shared/index.js",
20
- "require": "./lib/commonjs/shared/index.js",
21
- "types": "./lib/typescript/shared/index.d.ts"
22
- },
23
- "./native-stack": {
24
- "react-native": "./src/native-stack/index.ts",
25
- "import": "./lib/module/native-stack/index.js",
26
- "require": "./lib/commonjs/native-stack/index.js",
27
- "types": "./lib/typescript/native-stack/index.d.ts"
28
- },
29
- "./native-stack/index": {
30
- "react-native": "./src/native-stack/index.ts",
31
- "import": "./lib/module/native-stack/index.js",
32
- "require": "./lib/commonjs/native-stack/index.js",
33
- "types": "./lib/typescript/native-stack/index.d.ts"
34
- },
35
- "./blank-stack": {
36
- "react-native": "./src/blank-stack/index.ts",
37
- "import": "./lib/module/blank-stack/index.js",
38
- "require": "./lib/commonjs/blank-stack/index.js",
39
- "types": "./lib/typescript/blank-stack/index.d.ts"
40
- },
41
- "./blank-stack/index": {
42
- "react-native": "./src/blank-stack/index.ts",
43
- "import": "./lib/module/blank-stack/index.js",
44
- "require": "./lib/commonjs/blank-stack/index.js",
45
- "types": "./lib/typescript/blank-stack/index.d.ts"
46
- }
47
- },
48
- "scripts": {
49
- "build": "bob build",
50
- "lint": "biome check ./src",
51
- "prepublishOnly": "bun run build"
52
- },
53
- "keywords": [
54
- "react-native",
55
- "transitions",
56
- "animation",
57
- "react-navigation",
58
- "expo-router",
59
- "reanimated"
60
- ],
61
- "files": [
62
- "lib",
63
- "src",
64
- "README.md",
65
- "LICENSE"
66
- ],
67
- "peerDependencies": {
68
- "@react-navigation/elements": ">=2.0.0",
69
- "@react-navigation/native": ">=6.0.0",
70
- "@react-navigation/native-stack": ">=7.0.0",
71
- "@types/react": "*",
72
- "@types/react-native": "*",
73
- "react": "*",
74
- "react-native": "*",
75
- "react-native-gesture-handler": ">=2.16.1",
76
- "react-native-reanimated": ">=3.16.0 || >=4.0.0-",
77
- "react-native-safe-area-context": "*",
78
- "react-native-screens": ">=4.4.0"
79
- },
80
- "devDependencies": {
81
- "@testing-library/react-native": "^13.2.0",
82
- "@types/react": "~19.1.10",
83
- "react-native-builder-bob": "0.39.0",
84
- "typescript": "catalog:"
85
- },
86
- "react-native-builder-bob": {
87
- "source": "src",
88
- "output": "lib",
89
- "targets": [
90
- "commonjs",
91
- "module",
92
- [
93
- "typescript",
94
- {
95
- "project": "tsconfig.build.json"
96
- }
97
- ]
98
- ]
99
- },
100
- "gitHead": "888d4df9936ec0e3b8221bea7cd81115e6301693"
2
+ "name": "react-native-screen-transitions",
3
+ "version": "3.0.0-beta.1",
4
+ "description": "Easy screen transitions for React Native and Expo",
5
+ "author": "Ed",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/eds2002/react-native-screen-transitions.git",
10
+ "directory": "packages/react-native-screen-transitions"
11
+ },
12
+ "main": "lib/commonjs/shared/index.js",
13
+ "module": "lib/module/shared/index.js",
14
+ "types": "lib/typescript/shared/index.d.ts",
15
+ "react-native": "src/shared/index",
16
+ "exports": {
17
+ ".": {
18
+ "react-native": "./src/shared/index.ts",
19
+ "import": "./lib/module/shared/index.js",
20
+ "require": "./lib/commonjs/shared/index.js",
21
+ "types": "./lib/typescript/shared/index.d.ts"
22
+ },
23
+ "./native-stack": {
24
+ "react-native": "./src/native-stack/index.ts",
25
+ "import": "./lib/module/native-stack/index.js",
26
+ "require": "./lib/commonjs/native-stack/index.js",
27
+ "types": "./lib/typescript/native-stack/index.d.ts"
28
+ },
29
+ "./blank-stack": {
30
+ "react-native": "./src/blank-stack/index.ts",
31
+ "import": "./lib/module/blank-stack/index.js",
32
+ "require": "./lib/commonjs/blank-stack/index.js",
33
+ "types": "./lib/typescript/blank-stack/index.d.ts"
34
+ }
35
+ },
36
+ "scripts": {
37
+ "build": "bob build",
38
+ "lint": "biome check ./src",
39
+ "prepublishOnly": "bun run build"
40
+ },
41
+ "keywords": [
42
+ "react-native",
43
+ "transitions",
44
+ "animation",
45
+ "react-navigation",
46
+ "expo-router",
47
+ "reanimated"
48
+ ],
49
+ "files": [
50
+ "lib",
51
+ "src",
52
+ "README.md",
53
+ "LICENSE"
54
+ ],
55
+ "peerDependencies": {
56
+ "@react-navigation/elements": ">=2.0.0",
57
+ "@react-navigation/native": ">=6.0.0",
58
+ "@react-navigation/native-stack": ">=7.0.0",
59
+ "@types/react": "*",
60
+ "@types/react-native": "*",
61
+ "react": "*",
62
+ "react-native": "*",
63
+ "react-native-gesture-handler": ">=2.16.1",
64
+ "react-native-reanimated": ">=3.16.0 || >=4.0.0-",
65
+ "react-native-safe-area-context": "*",
66
+ "react-native-screens": ">=4.4.0"
67
+ },
68
+ "devDependencies": {
69
+ "@testing-library/react-native": "^13.2.0",
70
+ "@types/react": "~19.1.10",
71
+ "react-native-builder-bob": "0.39.0",
72
+ "typescript": "catalog:"
73
+ },
74
+ "react-native-builder-bob": {
75
+ "source": "src",
76
+ "output": "lib",
77
+ "targets": [
78
+ "commonjs",
79
+ "module",
80
+ [
81
+ "typescript",
82
+ {
83
+ "project": "tsconfig.build.json"
84
+ }
85
+ ]
86
+ ]
87
+ },
88
+ "gitHead": "888d4df9936ec0e3b8221bea7cd81115e6301693"
101
89
  }
@@ -13,6 +13,7 @@ import type {
13
13
  BlankStackScene,
14
14
  } from "../types";
15
15
  import { useStackNavigationContext } from "../utils/with-stack-navigation";
16
+ import { useScreenAnimation } from "../../shared/hooks/animation/use-screen-animation";
16
17
 
17
18
  type OverlayHostProps = {
18
19
  scene: BlankStackScene;
@@ -20,7 +21,17 @@ type OverlayHostProps = {
20
21
  };
21
22
 
22
23
  const getActiveFloatOverlay = (scenes: BlankStackScene[], index: number) => {
23
- for (let i = index; i >= 0; i--) {
24
+ if (scenes.length === 0) {
25
+ return null;
26
+ }
27
+
28
+ // When navigating back, closing scenes are kept at the top of the local stack
29
+ // while the focused index already points to the destination screen. We need to
30
+ // start scanning from the actual top of the stack so the overlay can animate
31
+ // out together with its closing screen instead of disappearing immediately.
32
+ const startIndex = Math.max(index, scenes.length - 1);
33
+
34
+ for (let i = startIndex; i >= 0; i--) {
24
35
  const scene = scenes[i];
25
36
  const options = scene?.descriptor?.options;
26
37
 
@@ -32,12 +43,15 @@ const getActiveFloatOverlay = (scenes: BlankStackScene[], index: number) => {
32
43
  return null;
33
44
  };
34
45
 
46
+
35
47
  const OverlayHost = ({ scene, isFloating }: OverlayHostProps) => {
36
48
  const insets = useSafeAreaInsets();
37
49
 
38
50
  const OverlayComponent = scene.descriptor.options.overlay;
39
51
 
40
- const { animation, optimisticActiveIndex } = useOverlayAnimation();
52
+ const { overlayAnimation, optimisticActiveIndex } = useOverlayAnimation();
53
+
54
+ const screenAnimation = useScreenAnimation();
41
55
 
42
56
  if (!OverlayComponent) {
43
57
  return null;
@@ -46,7 +60,8 @@ const OverlayHost = ({ scene, isFloating }: OverlayHostProps) => {
46
60
  const overlayProps: BlankStackOverlayProps = {
47
61
  route: scene.route,
48
62
  navigation: scene.descriptor.navigation,
49
- animation,
63
+ overlayAnimation,
64
+ screenAnimation,
50
65
  focusedIndex: optimisticActiveIndex,
51
66
  insets,
52
67
  };
@@ -23,7 +23,7 @@ import { useStackNavigationContext } from "../utils/with-stack-navigation";
23
23
  * drive animations that span multiple screens.
24
24
  */
25
25
  export const useOverlayAnimation = (): {
26
- animation: DerivedValue<OverlayInterpolationProps>;
26
+ overlayAnimation: DerivedValue<OverlayInterpolationProps>;
27
27
  optimisticActiveIndex: number;
28
28
  } => {
29
29
  const { current } = useKeys();
@@ -86,7 +86,7 @@ export const useOverlayAnimation = (): {
86
86
 
87
87
  const insets = useSafeAreaInsets();
88
88
 
89
- const animation = useDerivedValue<OverlayInterpolationProps>(() => ({
89
+ const overlayAnimation = useDerivedValue<OverlayInterpolationProps>(() => ({
90
90
  progress: accumulatedProgress.value,
91
91
  layouts: {
92
92
  screen,
@@ -95,7 +95,7 @@ export const useOverlayAnimation = (): {
95
95
  }));
96
96
 
97
97
  return {
98
- animation,
98
+ overlayAnimation,
99
99
  optimisticActiveIndex,
100
100
  };
101
101
  };
@@ -16,6 +16,7 @@ import type { EdgeInsets } from "react-native-safe-area-context";
16
16
  import type { ScreenProps } from "react-native-screens";
17
17
  import type {
18
18
  OverlayInterpolationProps,
19
+ ScreenInterpolationProps,
19
20
  ScreenStyleInterpolator,
20
21
  TransitionSpec,
21
22
  } from "../shared/types/animation";
@@ -115,9 +116,13 @@ export type BlankStackOverlayProps = {
115
116
  */
116
117
  insets: EdgeInsets;
117
118
  /**
118
- * Accumulated progress across the stack for the overlay owner and subsequent screens.
119
+ * Animation values for the overlay.
119
120
  */
120
- animation: DerivedValue<OverlayInterpolationProps>;
121
+ overlayAnimation: DerivedValue<OverlayInterpolationProps>;
122
+ /**
123
+ * Animation values for the screen.
124
+ */
125
+ screenAnimation: DerivedValue<ScreenInterpolationProps>;
121
126
  /**
122
127
  * Index of the active route
123
128
  */
@@ -19,3 +19,8 @@ export default {
19
19
  };
20
20
 
21
21
  export { useScreenAnimation } from "./hooks/animation/use-screen-animation";
22
+
23
+ export type {
24
+ OverlayInterpolationProps,
25
+ ScreenInterpolationProps,
26
+ } from "./types/animation";