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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/lib/commonjs/blank-stack/components/Overlay.js +33 -7
  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 +49 -40
  6. package/lib/commonjs/blank-stack/components/StackView.js.map +1 -1
  7. package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js +3 -7
  8. package/lib/commonjs/blank-stack/hooks/use-overlay-animation.js.map +1 -1
  9. package/lib/commonjs/blank-stack/index.js +14 -0
  10. package/lib/commonjs/blank-stack/index.js.map +1 -1
  11. package/lib/commonjs/blank-stack/providers/blank-stack-state.js +65 -0
  12. package/lib/commonjs/blank-stack/providers/blank-stack-state.js.map +1 -0
  13. package/lib/commonjs/native-stack/views/NativeStackView.native.js +2 -1
  14. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  15. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +20 -6
  16. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +1 -1
  17. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  18. package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js +21 -0
  19. package/lib/commonjs/shared/hooks/bounds/use-bound-registry.js.map +1 -1
  20. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +40 -28
  21. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  22. package/lib/commonjs/shared/hooks/use-derived-value-state.js +33 -0
  23. package/lib/commonjs/shared/hooks/use-derived-value-state.js.map +1 -0
  24. package/lib/commonjs/shared/hooks/use-stable-callback-value.js +7 -1
  25. package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +1 -1
  26. package/lib/commonjs/shared/providers/gestures.js +6 -3
  27. package/lib/commonjs/shared/providers/gestures.js.map +1 -1
  28. package/lib/commonjs/shared/providers/utils/create-provider.js +41 -29
  29. package/lib/commonjs/shared/providers/utils/create-provider.js.map +1 -1
  30. package/lib/commonjs/shared/stores/animation-store.js +12 -3
  31. package/lib/commonjs/shared/stores/animation-store.js.map +1 -1
  32. package/lib/commonjs/shared/stores/bound-store/index.js +12 -1
  33. package/lib/commonjs/shared/stores/bound-store/index.js.map +1 -1
  34. package/lib/commonjs/shared/stores/gesture-store.js +10 -0
  35. package/lib/commonjs/shared/stores/gesture-store.js.map +1 -1
  36. package/lib/module/blank-stack/components/Overlay.js +33 -7
  37. package/lib/module/blank-stack/components/Overlay.js.map +1 -1
  38. package/lib/module/blank-stack/components/Screens.js +3 -3
  39. package/lib/module/blank-stack/components/Screens.js.map +1 -1
  40. package/lib/module/blank-stack/components/StackView.js +48 -40
  41. package/lib/module/blank-stack/components/StackView.js.map +1 -1
  42. package/lib/module/blank-stack/hooks/use-overlay-animation.js +4 -8
  43. package/lib/module/blank-stack/hooks/use-overlay-animation.js.map +1 -1
  44. package/lib/module/blank-stack/index.js +2 -0
  45. package/lib/module/blank-stack/index.js.map +1 -1
  46. package/lib/module/blank-stack/providers/blank-stack-state.js +59 -0
  47. package/lib/module/blank-stack/providers/blank-stack-state.js.map +1 -0
  48. package/lib/module/native-stack/views/NativeStackView.native.js +2 -1
  49. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  50. package/lib/module/shared/components/controllers/screen-lifecycle.js +20 -6
  51. package/lib/module/shared/components/controllers/screen-lifecycle.js.map +1 -1
  52. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  53. package/lib/module/shared/hooks/bounds/use-bound-registry.js +22 -1
  54. package/lib/module/shared/hooks/bounds/use-bound-registry.js.map +1 -1
  55. package/lib/module/shared/hooks/gestures/use-build-gestures.js +42 -30
  56. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  57. package/lib/module/shared/hooks/use-derived-value-state.js +30 -0
  58. package/lib/module/shared/hooks/use-derived-value-state.js.map +1 -0
  59. package/lib/module/shared/hooks/use-stable-callback-value.js +8 -2
  60. package/lib/module/shared/hooks/use-stable-callback-value.js.map +1 -1
  61. package/lib/module/shared/providers/gestures.js +6 -3
  62. package/lib/module/shared/providers/gestures.js.map +1 -1
  63. package/lib/module/shared/providers/utils/create-provider.js +40 -27
  64. package/lib/module/shared/providers/utils/create-provider.js.map +1 -1
  65. package/lib/module/shared/stores/animation-store.js +15 -4
  66. package/lib/module/shared/stores/animation-store.js.map +1 -1
  67. package/lib/module/shared/stores/bound-store/index.js +12 -1
  68. package/lib/module/shared/stores/bound-store/index.js.map +1 -1
  69. package/lib/module/shared/stores/gesture-store.js +11 -1
  70. package/lib/module/shared/stores/gesture-store.js.map +1 -1
  71. package/lib/typescript/blank-stack/components/Overlay.d.ts.map +1 -1
  72. package/lib/typescript/blank-stack/components/Screens.d.ts +2 -3
  73. package/lib/typescript/blank-stack/components/Screens.d.ts.map +1 -1
  74. package/lib/typescript/blank-stack/components/StackView.d.ts.map +1 -1
  75. package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts +1 -1
  76. package/lib/typescript/blank-stack/hooks/use-overlay-animation.d.ts.map +1 -1
  77. package/lib/typescript/blank-stack/index.d.ts +2 -0
  78. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  79. package/lib/typescript/blank-stack/providers/blank-stack-state.d.ts +13 -0
  80. package/lib/typescript/blank-stack/providers/blank-stack-state.d.ts.map +1 -0
  81. package/lib/typescript/blank-stack/types.d.ts +11 -3
  82. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  83. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  84. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +1 -1
  85. package/lib/typescript/shared/configs/index.d.ts +9 -9
  86. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  87. package/lib/typescript/shared/hooks/bounds/use-bound-registry.d.ts.map +1 -1
  88. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +5 -2
  89. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  90. package/lib/typescript/shared/hooks/use-derived-value-state.d.ts +9 -0
  91. package/lib/typescript/shared/hooks/use-derived-value-state.d.ts.map +1 -0
  92. package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts.map +1 -1
  93. package/lib/typescript/shared/index.d.ts +10 -8
  94. package/lib/typescript/shared/index.d.ts.map +1 -1
  95. package/lib/typescript/shared/providers/gestures.d.ts +4 -2
  96. package/lib/typescript/shared/providers/gestures.d.ts.map +1 -1
  97. package/lib/typescript/shared/providers/utils/create-provider.d.ts +11 -29
  98. package/lib/typescript/shared/providers/utils/create-provider.d.ts.map +1 -1
  99. package/lib/typescript/shared/stores/animation-store.d.ts +4 -2
  100. package/lib/typescript/shared/stores/animation-store.d.ts.map +1 -1
  101. package/lib/typescript/shared/stores/bound-store/index.d.ts +2 -0
  102. package/lib/typescript/shared/stores/bound-store/index.d.ts.map +1 -1
  103. package/lib/typescript/shared/stores/gesture-store.d.ts.map +1 -1
  104. package/package.json +87 -99
  105. package/src/blank-stack/components/Overlay.tsx +40 -5
  106. package/src/blank-stack/components/Screens.tsx +5 -5
  107. package/src/blank-stack/components/StackView.tsx +55 -46
  108. package/src/blank-stack/hooks/use-overlay-animation.tsx +6 -21
  109. package/src/blank-stack/index.ts +2 -0
  110. package/src/blank-stack/providers/blank-stack-state.tsx +90 -0
  111. package/src/blank-stack/types.ts +11 -2
  112. package/src/native-stack/views/NativeStackView.native.tsx +3 -1
  113. package/src/shared/components/controllers/screen-lifecycle.tsx +20 -7
  114. package/src/shared/hooks/animation/use-screen-animation.tsx +1 -1
  115. package/src/shared/hooks/bounds/use-bound-registry.tsx +32 -1
  116. package/src/shared/hooks/gestures/use-build-gestures.tsx +63 -35
  117. package/src/shared/hooks/use-derived-value-state.ts +41 -0
  118. package/src/shared/hooks/use-stable-callback-value.tsx +10 -1
  119. package/src/shared/index.ts +8 -0
  120. package/src/shared/providers/gestures.tsx +17 -8
  121. package/src/shared/providers/utils/create-provider.tsx +77 -0
  122. package/src/shared/stores/animation-store.ts +19 -3
  123. package/src/shared/stores/bound-store/index.ts +23 -0
  124. package/src/shared/stores/gesture-store.ts +15 -1
  125. package/lib/commonjs/shared/stores/navigator-dismiss-state.js +0 -23
  126. package/lib/commonjs/shared/stores/navigator-dismiss-state.js.map +0 -1
  127. package/lib/module/shared/stores/navigator-dismiss-state.js +0 -19
  128. package/lib/module/shared/stores/navigator-dismiss-state.js.map +0 -1
  129. package/lib/typescript/shared/stores/navigator-dismiss-state.d.ts +0 -7
  130. package/lib/typescript/shared/stores/navigator-dismiss-state.d.ts.map +0 -1
  131. package/src/shared/providers/utils/create-provider.ts +0 -64
  132. package/src/shared/stores/navigator-dismiss-state.ts +0 -17
@@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AnimationStore = void 0;
7
- exports.getAll = getAll;
8
- exports.getAnimation = getAnimation;
9
7
  var _reactNativeReanimated = require("react-native-reanimated");
10
8
  const store = {};
11
9
  const ensure = key => {
@@ -29,11 +27,22 @@ function getAll(key) {
29
27
  function clear(routeKey) {
30
28
  "worklet";
31
29
 
30
+ const bag = store[routeKey];
31
+ if (bag) {
32
+ (0, _reactNativeReanimated.cancelAnimation)(bag.progress);
33
+ (0, _reactNativeReanimated.cancelAnimation)(bag.closing);
34
+ (0, _reactNativeReanimated.cancelAnimation)(bag.animating);
35
+ }
32
36
  delete store[routeKey];
33
37
  }
38
+ function debugStoreSize() {
39
+ console.log("[AnimationStore] Size:", Object.keys(store).length);
40
+ console.log("[AnimationStore] Keys:", Object.keys(store));
41
+ }
34
42
  const AnimationStore = exports.AnimationStore = {
35
43
  getAnimation,
36
44
  clear,
37
- getAll
45
+ getAll,
46
+ debugStoreSize
38
47
  };
39
48
  //# sourceMappingURL=animation-store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","store","ensure","key","bag","progress","makeMutable","closing","animating","getAnimation","type","getAll","clear","routeKey","AnimationStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/animation-store.ts"],"mappings":";;;;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AASA,MAAMC,KAA2C,GAAG,CAAC,CAAC;AAEtD,MAAMC,MAAM,GAAIC,GAAc,IAAK;EAClC,IAAIC,GAAG,GAAGH,KAAK,CAACE,GAAG,CAAC;EACpB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,QAAQ,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACxBC,OAAO,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACvBE,SAAS,EAAE,IAAAF,kCAAW,EAAC,CAAC;IACzB,CAAC;IACDL,KAAK,CAACE,GAAG,CAAC,GAAGC,GAAG;EACjB;EACA,OAAOA,GAAG;AACX,CAAC;AAEM,SAASK,YAAYA,CAC3BN,GAAc,EACdO,IAA0C,EACpB;EACtB,OAAOR,MAAM,CAACC,GAAG,CAAC,CAACO,IAAI,CAAC;AACzB;AAEO,SAASC,MAAMA,CAACR,GAAc,EAAE;EACtC,OAAOD,MAAM,CAACC,GAAG,CAAC;AACnB;AAEA,SAASS,KAAKA,CAACC,QAAmB,EAAE;EACnC,SAAS;;EACT,OAAOZ,KAAK,CAACY,QAAQ,CAAC;AACvB;AAEO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC7BL,YAAY;EACZG,KAAK;EACLD;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","store","ensure","key","bag","progress","makeMutable","closing","animating","getAnimation","type","getAll","clear","routeKey","cancelAnimation","debugStoreSize","console","log","Object","keys","length","AnimationStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/animation-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAaA,MAAMC,KAA2C,GAAG,CAAC,CAAC;AAEtD,MAAMC,MAAM,GAAIC,GAAc,IAAK;EAClC,IAAIC,GAAG,GAAGH,KAAK,CAACE,GAAG,CAAC;EACpB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,QAAQ,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACxBC,OAAO,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACvBE,SAAS,EAAE,IAAAF,kCAAW,EAAC,CAAC;IACzB,CAAC;IACDL,KAAK,CAACE,GAAG,CAAC,GAAGC,GAAG;EACjB;EACA,OAAOA,GAAG;AACX,CAAC;AAED,SAASK,YAAYA,CACpBN,GAAc,EACdO,IAA0C,EACpB;EACtB,OAAOR,MAAM,CAACC,GAAG,CAAC,CAACO,IAAI,CAAC;AACzB;AAEA,SAASC,MAAMA,CAACR,GAAc,EAAE;EAC/B,OAAOD,MAAM,CAACC,GAAG,CAAC;AACnB;AAEA,SAASS,KAAKA,CAACC,QAAmB,EAAE;EACnC,SAAS;;EACT,MAAMT,GAAG,GAAGH,KAAK,CAACY,QAAQ,CAAC;EAC3B,IAAIT,GAAG,EAAE;IACR,IAAAU,sCAAe,EAACV,GAAG,CAACC,QAAQ,CAAC;IAC7B,IAAAS,sCAAe,EAACV,GAAG,CAACG,OAAO,CAAC;IAC5B,IAAAO,sCAAe,EAACV,GAAG,CAACI,SAAS,CAAC;EAC/B;EACA,OAAOP,KAAK,CAACY,QAAQ,CAAC;AACvB;AAEA,SAASE,cAAcA,CAAA,EAAG;EACzBC,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEC,MAAM,CAACC,IAAI,CAAClB,KAAK,CAAC,CAACmB,MAAM,CAAC;EAChEJ,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEC,MAAM,CAACC,IAAI,CAAClB,KAAK,CAAC,CAAC;AAC1D;AAEO,MAAMoB,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC7BZ,YAAY;EACZG,KAAK;EACLD,MAAM;EACNI;AACD,CAAC","ignoreList":[]}
@@ -93,6 +93,16 @@ function clear(routeKey) {
93
93
  return state;
94
94
  });
95
95
  }
96
+ function debugBoundStore() {
97
+ "worklet";
98
+
99
+ console.log("[BoundStore] registry keys:", Object.keys(registry.value));
100
+ console.log("[BoundStore] registry size:", Object.keys(registry.value).length);
101
+ console.log("[BoundStore] pairCache keys:", Object.keys(pairCache.value));
102
+ console.log("[BoundStore] pairCache size:", Object.keys(pairCache.value).length);
103
+ console.log("[BoundStore] lastActiveByRoute keys:", Object.keys(lastActiveByRoute.value));
104
+ console.log("[BoundStore] lastActiveByRoute size:", Object.keys(lastActiveByRoute.value).length);
105
+ }
96
106
  function getActiveBound(current, next, previous) {
97
107
  "worklet";
98
108
 
@@ -111,6 +121,7 @@ const BoundStore = exports.BoundStore = {
111
121
  setRouteActive,
112
122
  getRouteActive,
113
123
  clear,
114
- getActiveBound
124
+ getActiveBound,
125
+ debugBoundStore
115
126
  };
116
127
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_utils","registry","makeMutable","pairCache","lastActiveByRoute","setBounds","screenId","boundId","bounds","styles","modify","state","getBounds","value","setRouteActive","routeKey","getRouteActive","setPairCache","fromKey","toKey","key","pairKey","getPairCache","clear","keys","Object","i","length","k","from","to","split","getActiveBound","current","next","previous","resolveActiveBound","BoundStore","exports"],"sourceRoot":"../../../../../src","sources":["shared/stores/bound-store/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_utils","registry","makeMutable","pairCache","lastActiveByRoute","setBounds","screenId","boundId","bounds","styles","modify","state","getBounds","value","setRouteActive","routeKey","getRouteActive","setPairCache","fromKey","toKey","key","pairKey","getPairCache","clear","keys","Object","i","length","k","from","to","split","debugBoundStore","console","log","getActiveBound","current","next","previous","resolveActiveBound","BoundStore","exports"],"sourceRoot":"../../../../../src","sources":["shared/stores/bound-store/index.ts"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,16 @@ function getRouteGestures(routeKey) {
29
29
  return ensure(routeKey);
30
30
  }
31
31
  function clear(routeKey) {
32
+ const bag = store[routeKey];
33
+ if (bag) {
34
+ (0, _reactNativeReanimated.cancelAnimation)(bag.x);
35
+ (0, _reactNativeReanimated.cancelAnimation)(bag.y);
36
+ (0, _reactNativeReanimated.cancelAnimation)(bag.normalizedX);
37
+ (0, _reactNativeReanimated.cancelAnimation)(bag.normalizedY);
38
+ (0, _reactNativeReanimated.cancelAnimation)(bag.isDismissing);
39
+ (0, _reactNativeReanimated.cancelAnimation)(bag.isDragging);
40
+ (0, _reactNativeReanimated.cancelAnimation)(bag.direction);
41
+ }
32
42
  delete store[routeKey];
33
43
  }
34
44
  const GestureStore = exports.GestureStore = {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","store","ensure","routeKey","bag","x","makeMutable","y","normalizedX","normalizedY","isDismissing","isDragging","direction","getGesture","gestureKey","getRouteGestures","clear","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/gesture-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAsBA,MAAMC,KAAyC,GAAG,CAAC,CAAC;AAEpD,SAASC,MAAMA,CAACC,QAAmB,EAAmB;EACrD,IAAIC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EACzB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,CAAC,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACjBC,CAAC,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACjBE,WAAW,EAAE,IAAAF,kCAAW,EAAC,CAAC,CAAC;MAC3BG,WAAW,EAAE,IAAAH,kCAAW,EAAC,CAAC,CAAC;MAC3BI,YAAY,EAAE,IAAAJ,kCAAW,EAAC,CAAC,CAAC;MAC5BK,UAAU,EAAE,IAAAL,kCAAW,EAAC,CAAC,CAAC;MAC1BM,SAAS,EAAE,IAAAN,kCAAW,EACrB,IACD;IACD,CAAC;IACDL,KAAK,CAACE,QAAQ,CAAC,GAAGC,GAAG;EACtB;EACA,OAAOA,GAAG;AACX;AAEA,SAASS,UAAUA,CAACV,QAAmB,EAAEW,UAAsB,EAAE;EAChE,OAAOZ,MAAM,CAACC,QAAQ,CAAC,CAACW,UAAU,CAAC;AACpC;AAEA,SAASC,gBAAgBA,CAACZ,QAAmB,EAAE;EAC9C,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACxB;AAEA,SAASa,KAAKA,CAACb,QAAmB,EAAE;EACnC,OAAOF,KAAK,CAACE,QAAQ,CAAC;AACvB;AAEO,MAAMc,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC3BJ,UAAU;EACVE,gBAAgB;EAChBC;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","store","ensure","routeKey","bag","x","makeMutable","y","normalizedX","normalizedY","isDismissing","isDragging","direction","getGesture","gestureKey","getRouteGestures","clear","cancelAnimation","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/gesture-store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AA0BA,MAAMC,KAAyC,GAAG,CAAC,CAAC;AAEpD,SAASC,MAAMA,CAACC,QAAmB,EAAmB;EACrD,IAAIC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EACzB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,CAAC,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;MACjBC,CAAC,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;MACjBE,WAAW,EAAE,IAAAF,kCAAW,EAAC,CAAC,CAAC;MAC3BG,WAAW,EAAE,IAAAH,kCAAW,EAAC,CAAC,CAAC;MAC3BI,YAAY,EAAE,IAAAJ,kCAAW,EAAC,CAAC,CAAC;MAC5BK,UAAU,EAAE,IAAAL,kCAAW,EAAC,CAAC,CAAC;MAC1BM,SAAS,EAAE,IAAAN,kCAAW,EACrB,IACD;IACD,CAAC;IACDL,KAAK,CAACE,QAAQ,CAAC,GAAGC,GAAG;EACtB;EACA,OAAOA,GAAG;AACX;AAEA,SAASS,UAAUA,CAACV,QAAmB,EAAEW,UAAsB,EAAE;EAChE,OAAOZ,MAAM,CAACC,QAAQ,CAAC,CAACW,UAAU,CAAC;AACpC;AAEA,SAASC,gBAAgBA,CAACZ,QAAmB,EAAE;EAC9C,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACxB;AAEA,SAASa,KAAKA,CAACb,QAAmB,EAAE;EACnC,MAAMC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EAC3B,IAAIC,GAAG,EAAE;IACR,IAAAa,sCAAe,EAACb,GAAG,CAACC,CAAC,CAAC;IACtB,IAAAY,sCAAe,EAACb,GAAG,CAACG,CAAC,CAAC;IACtB,IAAAU,sCAAe,EAACb,GAAG,CAACI,WAAW,CAAC;IAChC,IAAAS,sCAAe,EAACb,GAAG,CAACK,WAAW,CAAC;IAChC,IAAAQ,sCAAe,EAACb,GAAG,CAACM,YAAY,CAAC;IACjC,IAAAO,sCAAe,EAACb,GAAG,CAACO,UAAU,CAAC;IAC/B,IAAAM,sCAAe,EAACb,GAAG,CAACQ,SAAS,CAAC;EAC/B;EACA,OAAOX,KAAK,CAACE,QAAQ,CAAC;AACvB;AAEO,MAAMe,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC3BL,UAAU;EACVE,gBAAgB;EAChBC;AACD,CAAC","ignoreList":[]}
@@ -4,12 +4,22 @@ 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
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,22 +38,41 @@ 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 {
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]);
58
+ const screenAnimation = useScreenAnimation();
34
59
  if (!OverlayComponent) {
35
60
  return null;
36
61
  }
37
62
  const overlayProps = {
38
63
  route: scene.route,
64
+ focusedRoute,
39
65
  navigation: scene.descriptor.navigation,
40
- animation,
66
+ overlayAnimation,
67
+ screenAnimation,
41
68
  focusedIndex: optimisticActiveIndex,
42
69
  insets
43
70
  };
44
71
  return /*#__PURE__*/_jsx(Animated.View, {
45
72
  pointerEvents: "box-none",
46
- style: [styles.container, isFloating ? styles.floating : null, styles.absolute],
73
+ style: [styles.container, isFloating ? styles.floating : {
74
+ zIndex: 1
75
+ }, styles.absolute],
47
76
  children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
48
77
  value: scene.descriptor.navigation,
49
78
  children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
@@ -86,9 +115,6 @@ const FloatOverlay = () => {
86
115
  });
87
116
  };
88
117
  const ScreenOverlay = () => {
89
- const {
90
- focusedIndex
91
- } = useStackNavigationContext();
92
118
  const {
93
119
  current
94
120
  } = useKeys();
@@ -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","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,9 +2,12 @@
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";
6
+ import { StyleSheet } from "react-native";
5
7
  import { GestureHandlerRootView } from "react-native-gesture-handler";
6
8
  import { ScreenContainer } from "react-native-screens";
7
9
  import { BlankStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
10
+ import { BlankStackStateProvider } from "../providers/blank-stack-state";
8
11
  import { ScreenTransitionProvider } from "../../shared/providers/screen-transition-provider";
9
12
  import { withStackNavigationProvider } from "../utils/with-stack-navigation";
10
13
  import { Overlay } from "./Overlay";
@@ -13,7 +16,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
16
  function isFabric() {
14
17
  return "nativeFabricUIManager" in global;
15
18
  }
16
- const SceneView = ({
19
+ const SceneView = /*#__PURE__*/React.memo(({
17
20
  descriptor
18
21
  }) => {
19
22
  const {
@@ -28,7 +31,7 @@ const SceneView = ({
28
31
  children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
32
  })
30
33
  });
31
- };
34
+ });
32
35
  export const StackView = withStackNavigationProvider(({
33
36
  activeScreensLimit,
34
37
  descriptors,
@@ -38,46 +41,51 @@ export const StackView = withStackNavigationProvider(({
38
41
  shouldShowFloatOverlay
39
42
  }) => {
40
43
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
41
- children: /*#__PURE__*/_jsxs(SafeAreaProviderCompat, {
42
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenContainer, {
43
- style: {
44
- flex: 1
45
- },
46
- children: scenes.map((scene, sceneIndex) => {
47
- const descriptor = scene.descriptor;
48
- const route = scene.route;
49
- const isFocused = focusedIndex === sceneIndex;
50
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
51
- const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
52
- const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
53
- const isPreloaded = descriptors[route.key] === undefined;
44
+ children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
45
+ children: /*#__PURE__*/_jsxs(BlankStackStateProvider, {
46
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenContainer, {
47
+ style: styles.container,
48
+ children: scenes.map((scene, sceneIndex) => {
49
+ const descriptor = scene.descriptor;
50
+ const route = scene.route;
51
+ const isFocused = focusedIndex === sceneIndex;
52
+ const isBelowFocused = focusedIndex - 1 === sceneIndex;
53
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
54
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
55
+ const isPreloaded = descriptors[route.key] === undefined;
54
56
 
55
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
56
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
57
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
58
- return /*#__PURE__*/_jsx(Screen, {
59
- isPreloaded: isPreloaded,
60
- index: sceneIndex,
61
- activeScreensLimit: activeScreensLimit,
62
- routeKey: route.key,
63
- routes: routes,
64
- shouldFreeze: shouldFreeze,
65
- freezeOnBlur: descriptor.options.freezeOnBlur,
66
- children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
67
- previous: previousDescriptor,
68
- current: descriptor,
69
- next: nextDescriptor,
70
- LifecycleController: BlankStackScreenLifecycleController,
71
- children: /*#__PURE__*/_jsx(SceneView, {
72
- isFocused: isFocused,
73
- sceneIndex: sceneIndex,
74
- descriptor: descriptor
75
- }, route.key)
76
- })
77
- }, route.key);
78
- })
79
- })]
57
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
58
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
59
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
60
+ return /*#__PURE__*/_jsx(Screen, {
61
+ isPreloaded: isPreloaded,
62
+ index: sceneIndex,
63
+ activeScreensLimit: activeScreensLimit,
64
+ routeKey: route.key,
65
+ routesLength: routes.length,
66
+ shouldFreeze: shouldFreeze,
67
+ freezeOnBlur: descriptor.options.freezeOnBlur,
68
+ children: /*#__PURE__*/_jsx(ScreenTransitionProvider, {
69
+ previous: previousDescriptor,
70
+ current: descriptor,
71
+ next: nextDescriptor,
72
+ LifecycleController: BlankStackScreenLifecycleController,
73
+ children: /*#__PURE__*/_jsx(SceneView, {
74
+ isFocused: isFocused,
75
+ sceneIndex: sceneIndex,
76
+ descriptor: descriptor
77
+ }, route.key)
78
+ })
79
+ }, route.key);
80
+ })
81
+ })]
82
+ })
80
83
  })
81
84
  });
82
85
  });
86
+ const styles = StyleSheet.create({
87
+ container: {
88
+ flex: 1
89
+ }
90
+ });
83
91
  //# sourceMappingURL=StackView.js.map
@@ -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","StyleSheet","GestureHandlerRootView","ScreenContainer","BlankStackScreenLifecycleController","BlankStackStateProvider","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","styles","container","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","routesLength","length","freezeOnBlur","previous","current","next","LifecycleController","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/StackView.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,12 +2,11 @@
2
2
 
3
3
  import { useMemo } from "react";
4
4
  import { useWindowDimensions } from "react-native";
5
- import { useDerivedValue, useSharedValue } from "react-native-reanimated";
5
+ import { useDerivedValue } from "react-native-reanimated";
6
6
  import { useSafeAreaInsets } from "react-native-safe-area-context";
7
7
  import { useSharedValueState } from "../../shared/hooks/use-shared-value-state";
8
8
  import { useKeys } from "../../shared/providers/keys";
9
9
  import { AnimationStore } from "../../shared/stores/animation-store";
10
- import { GestureStore } from "../../shared/stores/gesture-store";
11
10
  import { useStackNavigationContext } from "../utils/with-stack-navigation";
12
11
 
13
12
  /**
@@ -20,12 +19,9 @@ export const useOverlayAnimation = () => {
20
19
  current
21
20
  } = useKeys();
22
21
  const {
23
- scenes,
24
- focusedIndex
22
+ scenes
25
23
  } = useStackNavigationContext();
26
24
  const routeKey = current?.route?.key;
27
- const gestureState = routeKey ? GestureStore.getRouteGestures(routeKey) : null;
28
- const fallbackIsDismissing = useSharedValue(0);
29
25
  const progressValues = useMemo(() => {
30
26
  if (!routeKey) {
31
27
  return [];
@@ -58,7 +54,7 @@ export const useOverlayAnimation = () => {
58
54
  const optimisticActiveIndex = useSharedValueState(optimisticActiveIndexValue);
59
55
  const screen = useWindowDimensions();
60
56
  const insets = useSafeAreaInsets();
61
- const animation = useDerivedValue(() => ({
57
+ const overlayAnimation = useDerivedValue(() => ({
62
58
  progress: accumulatedProgress.value,
63
59
  layouts: {
64
60
  screen
@@ -66,7 +62,7 @@ export const useOverlayAnimation = () => {
66
62
  insets
67
63
  }));
68
64
  return {
69
- animation,
65
+ overlayAnimation,
70
66
  optimisticActiveIndex
71
67
  };
72
68
  };
@@ -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","useSafeAreaInsets","useSharedValueState","useKeys","AnimationStore","useStackNavigationContext","useOverlayAnimation","current","scenes","routeKey","route","key","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,SAA4BC,eAAe,QAAQ,yBAAyB;AAC5E,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,cAAc,QAAQ,qCAAqC;AAEpE,SAASC,yBAAyB,QAAQ,gCAAgC;;AAE1E;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAG9B;EACJ,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEK;EAAO,CAAC,GAAGH,yBAAyB,CAAC,CAAC;EAC9C,MAAMI,QAAQ,GAAGF,OAAO,EAAEG,KAAK,EAAEC,GAAG;EAEpC,MAAMC,cAAc,GAAGd,OAAO,CAAC,MAAM;IACpC,IAAI,CAACW,QAAQ,EAAE;MACd,OAAO,EAAE;IACV;IAEA,MAAMI,YAAY,GAAGL,MAAM,CAACM,SAAS,CACnCC,KAAK,IAAKA,KAAK,CAACL,KAAK,CAACC,GAAG,KAAKF,QAChC,CAAC;IAED,IAAII,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;IAEA,OAAOL,MAAM,CAACQ,KAAK,CAACH,YAAY,CAAC,CAACI,GAAG,CAAEF,KAAK,IAAK;MAChD,OAAOX,cAAc,CAACc,MAAM,CAACH,KAAK,CAACL,KAAK,CAACC,GAAG,CAAC;IAC9C,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAED,MAAM,CAAC,CAAC;EAEtB,MAAMW,mBAAmB,GAAGnB,eAAe,CAAC,MAAM;IACjD,SAAS;;IAET,IAAIoB,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,GAAGzB,eAAe,CAAC,MAAM;IACxD,SAAS;;IAET,MAAM0B,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,GAAG9B,mBAAmB,CAACuB,0BAA0B,CAAC;EAE7E,MAAMQ,MAAM,GAAGlC,mBAAmB,CAAC,CAAC;EAEpC,MAAMmC,MAAM,GAAGjC,iBAAiB,CAAC,CAAC;EAElC,MAAMkC,gBAAgB,GAAGnC,eAAe,CAA4B,OAAO;IAC1EuB,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,4 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ export { useOverlayAnimation } from "../blank-stack/hooks/use-overlay-animation";
3
4
  export { createBlankStackNavigator } from "../blank-stack/navigators/createBlankStackNavigator";
5
+ export { useBlankStackState } from "./providers/blank-stack-state";
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createBlankStackNavigator"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,yBAAyB,QAAQ,qDAAqD","ignoreList":[]}
1
+ {"version":3,"names":["useOverlayAnimation","createBlankStackNavigator","useBlankStackState"],"sourceRoot":"../../../src","sources":["blank-stack/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,4CAA4C;AAChF,SAASC,yBAAyB,QAAQ,qDAAqD;AAU/F,SAASC,kBAAkB,QAAQ,+BAA+B","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+ import { useDerivedValue } from "react-native-reanimated";
5
+ import { useSharedValueState } from "../../shared/hooks/use-shared-value-state";
6
+ import createProvider from "../../shared/providers/utils/create-provider";
7
+ import { AnimationStore } from "../../shared/stores/animation-store";
8
+ import { useStackNavigationContext } from "../utils/with-stack-navigation";
9
+ const {
10
+ useBlankStackStateContext: useBlankStackState,
11
+ BlankStackStateProvider
12
+ } = createProvider("BlankStackState", {
13
+ guarded: false
14
+ })(() => {
15
+ const {
16
+ focusedIndex,
17
+ routes: stackRoutes
18
+ } = useStackNavigationContext();
19
+ const [index, setIndex] = useState(0);
20
+ const [routes, setRoutes] = useState([]);
21
+ const progressValues = useMemo(() => stackRoutes.map(route => AnimationStore.getAll(route.key)), [stackRoutes]);
22
+ const parentIndex = useDerivedValue(() => {
23
+ "worklet";
24
+
25
+ const activeIndex = progressValues.length - 1;
26
+ const isOneDismissing = Number(progressValues.some(value => value.closing.value > 0));
27
+ const optimisticIndex = activeIndex - isOneDismissing;
28
+ return optimisticIndex;
29
+ }, [focusedIndex, progressValues]);
30
+ const parentIndexValue = useSharedValueState(parentIndex);
31
+ const _registerNested = useCallback((nestedIndex, nestedRoutes) => {
32
+ if (nestedIndex !== index) {
33
+ setIndex(nestedIndex);
34
+ }
35
+ if (nestedRoutes.length !== routes.length) {
36
+ setRoutes(nestedRoutes);
37
+ }
38
+ }, [routes.length, index]);
39
+ const context = useBlankStackState();
40
+ useEffect(() => {
41
+ //@ts-expect-error Internally used
42
+ if (context?._registerNested) {
43
+ //@ts-expect-error Internally used
44
+ context._registerNested(parentIndexValue, stackRoutes);
45
+ }
46
+ //@ts-expect-error Internally used
47
+ }, [parentIndexValue, context?._registerNested, stackRoutes]);
48
+ return {
49
+ value: {
50
+ parentIndex: parentIndexValue,
51
+ parentRoutes: stackRoutes,
52
+ index,
53
+ routes,
54
+ _registerNested
55
+ }
56
+ };
57
+ });
58
+ export { useBlankStackState, BlankStackStateProvider };
59
+ //# sourceMappingURL=blank-stack-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useState","useDerivedValue","useSharedValueState","createProvider","AnimationStore","useStackNavigationContext","useBlankStackStateContext","useBlankStackState","BlankStackStateProvider","guarded","focusedIndex","routes","stackRoutes","index","setIndex","setRoutes","progressValues","map","route","getAll","key","parentIndex","activeIndex","length","isOneDismissing","Number","some","value","closing","optimisticIndex","parentIndexValue","_registerNested","nestedIndex","nestedRoutes","context","parentRoutes"],"sourceRoot":"../../../../src","sources":["blank-stack/providers/blank-stack-state.tsx"],"mappings":";;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACjE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,OAAOC,cAAc,MAAM,8CAA8C;AACzE,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,yBAAyB,QAAQ,gCAAgC;AAa1E,MAAM;EACLC,yBAAyB,EAAEC,kBAAkB;EAC7CC;AACD,CAAC,GAAGL,cAAc,CAAC,iBAAiB,EAAE;EAAEM,OAAO,EAAE;AAAM,CAAC,CAAC,CAGvD,MAAM;EACP,MAAM;IAAEC,YAAY;IAAEC,MAAM,EAAEC;EAAY,CAAC,GAAGP,yBAAyB,CAAC,CAAC;EACzE,MAAM,CAACQ,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAC,CAAC,CAAC;EACrC,MAAM,CAACW,MAAM,EAAEI,SAAS,CAAC,GAAGf,QAAQ,CAElC,EAAE,CAAC;EAEL,MAAMgB,cAAc,GAAGjB,OAAO,CAC7B,MAAMa,WAAW,CAACK,GAAG,CAAEC,KAAK,IAAKd,cAAc,CAACe,MAAM,CAACD,KAAK,CAACE,GAAG,CAAC,CAAC,EAClE,CAACR,WAAW,CACb,CAAC;EAED,MAAMS,WAAW,GAAGpB,eAAe,CAAC,MAAM;IACzC,SAAS;;IAET,MAAMqB,WAAW,GAAGN,cAAc,CAACO,MAAM,GAAG,CAAC;IAC7C,MAAMC,eAAe,GAAGC,MAAM,CAC7BT,cAAc,CAACU,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACD,KAAK,GAAG,CAAC,CACvD,CAAC;IAED,MAAME,eAAe,GAAGP,WAAW,GAAGE,eAAe;IAErD,OAAOK,eAAe;EACvB,CAAC,EAAE,CAACnB,YAAY,EAAEM,cAAc,CAAC,CAAC;EAElC,MAAMc,gBAAgB,GAAG5B,mBAAmB,CAACmB,WAAW,CAAC;EAEzD,MAAMU,eAAe,GAAGlC,WAAW,CAClC,CACCmC,WAAmB,EACnBC,YAAsD,KAClD;IACJ,IAAID,WAAW,KAAKnB,KAAK,EAAE;MAC1BC,QAAQ,CAACkB,WAAW,CAAC;IACtB;IACA,IAAIC,YAAY,CAACV,MAAM,KAAKZ,MAAM,CAACY,MAAM,EAAE;MAC1CR,SAAS,CAACkB,YAAY,CAAC;IACxB;EACD,CAAC,EACD,CAACtB,MAAM,CAACY,MAAM,EAAEV,KAAK,CACtB,CAAC;EAED,MAAMqB,OAAO,GAAG3B,kBAAkB,CAAC,CAAC;EAEpCT,SAAS,CAAC,MAAM;IACf;IACA,IAAIoC,OAAO,EAAEH,eAAe,EAAE;MAC7B;MACAG,OAAO,CAACH,eAAe,CAACD,gBAAgB,EAAElB,WAAW,CAAC;IACvD;IACA;EACD,CAAC,EAAE,CAACkB,gBAAgB,EAAEI,OAAO,EAAEH,eAAe,EAAEnB,WAAW,CAAC,CAAC;EAE7D,OAAO;IACNe,KAAK,EAAE;MACNN,WAAW,EAAES,gBAAgB;MAC7BK,YAAY,EAAEvB,WAAW;MACzBC,KAAK;MACLF,MAAM;MACNoB;IACD;EACD,CAAC;AACF,CAAC,CAAC;AAEF,SAASxB,kBAAkB,EAAEC,uBAAuB","ignoreList":[]}
@@ -353,11 +353,12 @@ export function NativeStackView({
353
353
  acc[route.key] = acc[route.key] || describe(route, true);
354
354
  return acc;
355
355
  }, {});
356
+ const routes = state.routes.concat(state.preloadedRoutes);
356
357
  return /*#__PURE__*/_jsx(GestureHandlerRootView, {
357
358
  children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
358
359
  children: /*#__PURE__*/_jsx(ScreenStack, {
359
360
  style: styles.container,
360
- children: state.routes.concat(state.preloadedRoutes).map((route, index) => {
361
+ children: routes.map((route, index) => {
361
362
  const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
362
363
  const isFocused = state.index === index;
363
364
  const isBelowFocused = state.index - 1 === index;