react-native-screen-transitions 3.3.0-rc.2 → 3.3.0

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 (213) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -7
  3. package/lib/commonjs/blank-stack/components/stack-view.js +2 -1
  4. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/blank-stack/components/stack-view.native.js +2 -1
  6. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -1
  7. package/lib/commonjs/component-stack/components/stack-view.js +2 -1
  8. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  9. package/lib/commonjs/shared/animation/resolve-snap-target.js +48 -0
  10. package/lib/commonjs/shared/animation/resolve-snap-target.js.map +1 -0
  11. package/lib/commonjs/shared/animation/snap-to.js +35 -34
  12. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  13. package/lib/commonjs/shared/components/create-transition-aware-component.js +15 -7
  14. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  15. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +3 -2
  16. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  17. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +46 -9
  18. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  19. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +7 -7
  20. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  21. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +23 -3
  22. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -1
  23. package/lib/commonjs/shared/components/screen-container.js +2 -1
  24. package/lib/commonjs/shared/components/screen-container.js.map +1 -1
  25. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +6 -6
  26. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  27. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +7 -1
  28. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  29. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +37 -8
  30. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
  31. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +12 -13
  32. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  33. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +5 -2
  34. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  35. package/lib/commonjs/shared/hooks/lifecycle/use-screen-events.js +14 -4
  36. package/lib/commonjs/shared/hooks/lifecycle/use-screen-events.js.map +1 -1
  37. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +20 -0
  38. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
  39. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +11 -8
  40. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  41. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +4 -1
  42. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  43. package/lib/commonjs/shared/providers/gestures.provider.js +17 -6
  44. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  45. package/lib/commonjs/shared/providers/layout-anchor.provider.js +7 -5
  46. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
  47. package/lib/commonjs/shared/providers/register-bounds.provider.js +25 -6
  48. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/styles.provider.js +1 -6
  50. package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
  51. package/lib/commonjs/shared/providers/stack/direct.provider.js +15 -16
  52. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  53. package/lib/commonjs/shared/providers/stack/managed.provider.js +19 -16
  54. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  55. package/lib/commonjs/shared/stores/bounds.store.js +46 -0
  56. package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
  57. package/lib/commonjs/shared/utils/bounds/index.js +6 -4
  58. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  59. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +9 -2
  60. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -1
  61. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +11 -1
  62. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -1
  63. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -2
  64. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
  65. package/lib/commonjs/shared/utils/overlay/visibility.js +19 -0
  66. package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -0
  67. package/lib/module/blank-stack/components/stack-view.js +2 -1
  68. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  69. package/lib/module/blank-stack/components/stack-view.native.js +2 -1
  70. package/lib/module/blank-stack/components/stack-view.native.js.map +1 -1
  71. package/lib/module/component-stack/components/stack-view.js +2 -1
  72. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  73. package/lib/module/shared/animation/resolve-snap-target.js +44 -0
  74. package/lib/module/shared/animation/resolve-snap-target.js.map +1 -0
  75. package/lib/module/shared/animation/snap-to.js +34 -34
  76. package/lib/module/shared/animation/snap-to.js.map +1 -1
  77. package/lib/module/shared/components/create-transition-aware-component.js +16 -8
  78. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  79. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +4 -2
  80. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  81. package/lib/module/shared/components/overlay/variations/float-overlay.js +47 -11
  82. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  83. package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -7
  84. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  85. package/lib/module/shared/components/overlay/variations/screen-overlay.js +24 -5
  86. package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -1
  87. package/lib/module/shared/components/screen-container.js +2 -1
  88. package/lib/module/shared/components/screen-container.js.map +1 -1
  89. package/lib/module/shared/hooks/animation/use-screen-animation.js +6 -6
  90. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  91. package/lib/module/shared/hooks/gestures/use-build-gestures.js +7 -1
  92. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  93. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +37 -8
  94. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
  95. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +12 -13
  96. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  97. package/lib/module/shared/hooks/lifecycle/use-close-transition.js +5 -2
  98. package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  99. package/lib/module/shared/hooks/lifecycle/use-screen-events.js +13 -4
  100. package/lib/module/shared/hooks/lifecycle/use-screen-events.js.map +1 -1
  101. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +17 -0
  102. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
  103. package/lib/module/shared/hooks/navigation/use-screen-state.js +12 -9
  104. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  105. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +4 -1
  106. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  107. package/lib/module/shared/providers/gestures.provider.js +17 -6
  108. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  109. package/lib/module/shared/providers/layout-anchor.provider.js +7 -5
  110. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
  111. package/lib/module/shared/providers/register-bounds.provider.js +25 -6
  112. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  113. package/lib/module/shared/providers/screen/styles.provider.js +1 -6
  114. package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
  115. package/lib/module/shared/providers/stack/direct.provider.js +15 -16
  116. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  117. package/lib/module/shared/providers/stack/managed.provider.js +19 -16
  118. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  119. package/lib/module/shared/stores/bounds.store.js +46 -0
  120. package/lib/module/shared/stores/bounds.store.js.map +1 -1
  121. package/lib/module/shared/utils/bounds/index.js +6 -4
  122. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  123. package/lib/module/shared/utils/gesture/determine-snap-target.js +9 -2
  124. package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -1
  125. package/lib/module/shared/utils/gesture/find-collapse-target.js +11 -1
  126. package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -1
  127. package/lib/module/shared/utils/gesture/validate-snap-points.js +11 -2
  128. package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
  129. package/lib/module/shared/utils/overlay/visibility.js +12 -0
  130. package/lib/module/shared/utils/overlay/visibility.js.map +1 -0
  131. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  132. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -1
  133. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  134. package/lib/typescript/shared/animation/resolve-snap-target.d.ts +3 -0
  135. package/lib/typescript/shared/animation/resolve-snap-target.d.ts.map +1 -0
  136. package/lib/typescript/shared/animation/snap-to.d.ts +2 -0
  137. package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
  138. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +1 -0
  139. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  140. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +1 -1
  141. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  142. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  143. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -0
  144. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  145. package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -1
  146. package/lib/typescript/shared/components/screen-container.d.ts.map +1 -1
  147. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  148. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  149. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts +1 -1
  150. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +1 -1
  151. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +0 -2
  152. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
  153. package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts.map +1 -1
  154. package/lib/typescript/shared/hooks/lifecycle/use-screen-events.d.ts.map +1 -1
  155. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +7 -0
  156. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +1 -0
  157. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts +6 -0
  158. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  159. package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
  160. package/lib/typescript/shared/index.d.ts +4 -0
  161. package/lib/typescript/shared/index.d.ts.map +1 -1
  162. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  163. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +1 -1
  164. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
  165. package/lib/typescript/shared/providers/register-bounds.provider.d.ts +1 -0
  166. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  167. package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  169. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  170. package/lib/typescript/shared/stores/bounds.store.d.ts +2 -0
  171. package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
  172. package/lib/typescript/shared/types/screen.types.d.ts +36 -1
  173. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  174. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  175. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -1
  176. package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -1
  177. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
  178. package/lib/typescript/shared/utils/overlay/visibility.d.ts +11 -0
  179. package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -0
  180. package/package.json +8 -2
  181. package/src/blank-stack/components/stack-view.native.tsx +2 -1
  182. package/src/blank-stack/components/stack-view.tsx +2 -1
  183. package/src/component-stack/components/stack-view.tsx +2 -1
  184. package/src/shared/animation/resolve-snap-target.ts +53 -0
  185. package/src/shared/animation/snap-to.ts +47 -38
  186. package/src/shared/components/create-transition-aware-component.tsx +34 -10
  187. package/src/shared/components/overlay/helpers/get-active-overlay.ts +3 -2
  188. package/src/shared/components/overlay/variations/float-overlay.tsx +53 -8
  189. package/src/shared/components/overlay/variations/overlay-host.tsx +16 -6
  190. package/src/shared/components/overlay/variations/screen-overlay.tsx +35 -3
  191. package/src/shared/components/screen-container.tsx +15 -9
  192. package/src/shared/hooks/animation/use-screen-animation.tsx +8 -8
  193. package/src/shared/hooks/gestures/use-build-gestures.tsx +5 -1
  194. package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +63 -16
  195. package/src/shared/hooks/gestures/use-scroll-registry.tsx +10 -9
  196. package/src/shared/hooks/lifecycle/use-close-transition.ts +6 -3
  197. package/src/shared/hooks/lifecycle/use-screen-events.ts +15 -4
  198. package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +19 -0
  199. package/src/shared/hooks/navigation/use-screen-state.tsx +24 -8
  200. package/src/shared/hooks/reanimated/use-shared-value-state.ts +4 -1
  201. package/src/shared/providers/gestures.provider.tsx +49 -22
  202. package/src/shared/providers/layout-anchor.provider.tsx +28 -25
  203. package/src/shared/providers/register-bounds.provider.tsx +43 -6
  204. package/src/shared/providers/screen/styles.provider.tsx +1 -7
  205. package/src/shared/providers/stack/direct.provider.tsx +18 -19
  206. package/src/shared/providers/stack/managed.provider.tsx +22 -19
  207. package/src/shared/stores/bounds.store.ts +56 -0
  208. package/src/shared/types/screen.types.ts +39 -1
  209. package/src/shared/utils/bounds/index.ts +6 -4
  210. package/src/shared/utils/gesture/determine-snap-target.ts +15 -4
  211. package/src/shared/utils/gesture/find-collapse-target.ts +11 -1
  212. package/src/shared/utils/gesture/validate-snap-points.ts +15 -2
  213. package/src/shared/utils/overlay/visibility.ts +23 -0
@@ -11,6 +11,7 @@ var _reactNativeReanimated = require("react-native-reanimated");
11
11
  var _useStack = require("../../hooks/navigation/use-stack");
12
12
  var _animation = require("../../stores/animation.store");
13
13
  var _history = require("../../stores/history.store");
14
+ var _visibility = require("../../utils/overlay/visibility");
14
15
  var _core = require("./core.provider");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  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); }
@@ -48,11 +49,13 @@ function useDirectStackValue(props) {
48
49
  shouldShowFloatOverlay,
49
50
  routeKeys,
50
51
  allRoutes,
51
- allDescriptors
52
+ allDescriptors,
53
+ animationMaps
52
54
  } = (0, _react.useMemo)(() => {
53
55
  const allRoutes = state.routes.concat(state.preloadedRoutes);
54
56
  const scenes = [];
55
57
  const routeKeys = [];
58
+ const animationMaps = [];
56
59
  const allDescriptors = {
57
60
  ...preloadedDescriptors,
58
61
  ...descriptors
@@ -67,9 +70,10 @@ function useDirectStackValue(props) {
67
70
  isPreloaded
68
71
  });
69
72
  routeKeys.push(route.key);
73
+ animationMaps.push(_animation.AnimationStore.getAll(route.key));
70
74
  if (!shouldShowFloatOverlay && descriptor) {
71
75
  const options = descriptor.options;
72
- if (options?.enableTransitions === true && options?.overlayMode === "float" && options?.overlayShown === true) {
76
+ if (options?.enableTransitions === true && (0, _visibility.isFloatOverlayVisible)(options)) {
73
77
  shouldShowFloatOverlay = true;
74
78
  }
75
79
  }
@@ -79,12 +83,10 @@ function useDirectStackValue(props) {
79
83
  shouldShowFloatOverlay,
80
84
  routeKeys,
81
85
  allRoutes,
82
- allDescriptors
86
+ allDescriptors,
87
+ animationMaps
83
88
  };
84
- }, [state.routes, state.preloadedRoutes, descriptors, preloadedDescriptors]);
85
-
86
- // Get animation store maps for all routes
87
- const animationMaps = (0, _react.useMemo)(() => allRoutes.map(route => _animation.AnimationStore.getAll(route.key)), [allRoutes]);
89
+ }, [state.routes, state.preloadedRoutes, preloadedDescriptors, descriptors]);
88
90
  const stackProgress = (0, _reactNativeReanimated.useDerivedValue)(() => {
89
91
  "worklet";
90
92
 
@@ -97,15 +99,12 @@ function useDirectStackValue(props) {
97
99
  const optimisticFocusedIndex = (0, _reactNativeReanimated.useDerivedValue)(() => {
98
100
  "worklet";
99
101
 
100
- const currentIndex = animationMaps.length - 1;
101
- let isAnyClosing = false;
102
- for (let i = 0; i < animationMaps.length; i++) {
103
- if (animationMaps[i].closing.value > 0) {
104
- isAnyClosing = true;
105
- break;
106
- }
102
+ const lastIndex = animationMaps.length - 1;
103
+ let closingFromTop = 0;
104
+ for (let i = lastIndex; i >= 0; i--) {
105
+ if (animationMaps[i].closing.value > 0) closingFromTop++;else break;
107
106
  }
108
- return currentIndex - (isAnyClosing ? 1 : 0);
107
+ return lastIndex - closingFromTop;
109
108
  });
110
109
  const focusedIndex = state.index;
111
110
  const stackContextValue = (0, _react.useMemo)(() => ({
@@ -117,7 +116,7 @@ function useDirectStackValue(props) {
117
116
  focusedIndex,
118
117
  stackProgress,
119
118
  optimisticFocusedIndex
120
- }), [routeKeys, allRoutes, allDescriptors, scenes, focusedIndex, stackProgress, optimisticFocusedIndex, flags]);
119
+ }), [routeKeys, allRoutes, scenes, focusedIndex, stackProgress, optimisticFocusedIndex, flags, allDescriptors]);
121
120
 
122
121
  // DirectStack context value
123
122
  const lifecycleValue = (0, _react.useMemo)(() => ({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_core","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","flags","useStackCoreContext","preloadedDescriptors","useMemo","preloadedRoutes","reduce","acc","route","key","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","allDescriptors","routes","concat","descriptor","isPreloaded","undefined","push","options","enableTransitions","overlayMode","overlayShown","animationMaps","map","AnimationStore","getAll","stackProgress","useDerivedValue","total","length","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","navigatorKey","useEffect","HistoryStore","clearNavigator","jsx","StackContext","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_visibility","_core","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","flags","useStackCoreContext","preloadedDescriptors","useMemo","preloadedRoutes","reduce","acc","route","key","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","allDescriptors","animationMaps","routes","concat","descriptor","isPreloaded","undefined","push","AnimationStore","getAll","options","enableTransitions","isFloatOverlayVisible","stackProgress","useDerivedValue","total","length","progress","value","optimisticFocusedIndex","lastIndex","closingFromTop","closing","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","navigatorKey","useEffect","HistoryStore","clearNavigator","jsx","StackContext","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _reactNativeReanimated = require("react-native-reanimated");
11
11
  var _useStack = require("../../hooks/navigation/use-stack");
12
12
  var _animation = require("../../stores/animation.store");
13
13
  var _history = require("../../stores/history.store");
14
+ var _visibility = require("../../utils/overlay/visibility");
14
15
  var _core = require("./core.provider");
15
16
  var _useLocalRoutes = require("./helpers/use-local-routes");
16
17
  var _jsxRuntime = require("react/jsx-runtime");
@@ -47,18 +48,21 @@ function useManagedStackValue(props) {
47
48
  activeScreensLimit,
48
49
  shouldShowFloatOverlay,
49
50
  routeKeys,
50
- backdropBehaviors
51
+ backdropBehaviors,
52
+ animationMaps
51
53
  } = (0, _react.useMemo)(() => {
52
54
  const routes = state.routes;
55
+ const descriptors = state.descriptors;
53
56
  const scenes = [];
54
57
  const routeKeys = [];
55
58
  const backdropBehaviors = [];
59
+ const animationMaps = [];
56
60
  let shouldShowFloatOverlay = false;
57
61
  let limit = 1;
58
62
  let stopLimit = false;
59
63
  for (let i = routes.length - 1; i >= 0; i--) {
60
64
  const route = routes[i];
61
- const descriptor = state.descriptors[route.key];
65
+ const descriptor = descriptors[route.key];
62
66
  const options = descriptor?.options;
63
67
  scenes[i] = {
64
68
  route,
@@ -66,8 +70,9 @@ function useManagedStackValue(props) {
66
70
  };
67
71
  routeKeys[i] = route.key;
68
72
  backdropBehaviors[i] = options?.backdropBehavior ?? "block";
73
+ animationMaps[i] = _animation.AnimationStore.getAll(route.key);
69
74
  if (!shouldShowFloatOverlay) {
70
- shouldShowFloatOverlay = options?.overlayMode === "float" && options?.overlayShown === true;
75
+ shouldShowFloatOverlay = (0, _visibility.isFloatOverlayVisible)(options);
71
76
  }
72
77
  if (!stopLimit) {
73
78
  const shouldKeepPrevious = options?.detachPreviousScreen !== true;
@@ -84,13 +89,11 @@ function useManagedStackValue(props) {
84
89
  routeKeys,
85
90
  backdropBehaviors,
86
91
  activeScreensLimit,
87
- shouldShowFloatOverlay
92
+ shouldShowFloatOverlay,
93
+ animationMaps
88
94
  };
89
95
  }, [state.routes, state.descriptors]);
90
96
 
91
- // Get animation store maps for LOCAL routes (including closing routes)
92
- const animationMaps = (0, _react.useMemo)(() => state.routes.map(route => _animation.AnimationStore.getAll(route.key)), [state.routes]);
93
-
94
97
  // Aggregated stack progress from LOCAL routes (includes closing routes)
95
98
  const stackProgress = (0, _reactNativeReanimated.useDerivedValue)(() => {
96
99
  "worklet";
@@ -102,19 +105,19 @@ function useManagedStackValue(props) {
102
105
  return total;
103
106
  });
104
107
 
105
- // Optimistic focused index: accounts for closing screens
108
+ // Optimistic focused index: accounts for closing screens.
109
+ // Counts consecutive closing screens from the top of the stack so that
110
+ // rapid dismiss chains (e.g. dismiss C then B while C is still in flight)
111
+ // correctly identify the actual focused screen for pointer-event gating.
106
112
  const optimisticFocusedIndex = (0, _reactNativeReanimated.useDerivedValue)(() => {
107
113
  "worklet";
108
114
 
109
- const currentIndex = animationMaps.length - 1;
110
- let isAnyClosing = false;
111
- for (let i = 0; i < animationMaps.length; i++) {
112
- if (animationMaps[i].closing.value > 0) {
113
- isAnyClosing = true;
114
- break;
115
- }
115
+ const lastIndex = animationMaps.length - 1;
116
+ let closingFromTop = 0;
117
+ for (let i = lastIndex; i >= 0; i--) {
118
+ if (animationMaps[i].closing.value > 0) closingFromTop++;else break;
116
119
  }
117
- return currentIndex - Number(isAnyClosing);
120
+ return lastIndex - closingFromTop;
118
121
  });
119
122
  const focusedIndex = props.state.index;
120
123
  const stackContextValue = (0, _react.useMemo)(() => ({
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_core","_useLocalRoutes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","useStackCoreContext","state","handleCloseRoute","closingRouteKeys","useLocalRoutes","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","backdropBehaviors","useMemo","routes","limit","stopLimit","length","route","descriptor","descriptors","key","options","backdropBehavior","overlayMode","overlayShown","shouldKeepPrevious","detachPreviousScreen","Math","min","animationMaps","map","AnimationStore","getAll","stackProgress","useDerivedValue","total","progress","value","optimisticFocusedIndex","currentIndex","isAnyClosing","closing","Number","focusedIndex","index","stackContextValue","lifecycleValue","closingRouteKeysShared","shared","withManagedStack","Component","ManagedStackProvider","navigatorKey","useEffect","HistoryStore","clearNavigator","jsx","StackContext","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/managed.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_useStack","_animation","_history","_visibility","_core","_useLocalRoutes","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","useStackCoreContext","state","handleCloseRoute","closingRouteKeys","useLocalRoutes","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","backdropBehaviors","animationMaps","useMemo","routes","descriptors","limit","stopLimit","length","route","descriptor","key","options","backdropBehavior","AnimationStore","getAll","isFloatOverlayVisible","shouldKeepPrevious","detachPreviousScreen","Math","min","stackProgress","useDerivedValue","total","progress","value","optimisticFocusedIndex","lastIndex","closingFromTop","closing","focusedIndex","index","stackContextValue","lifecycleValue","closingRouteKeysShared","shared","withManagedStack","Component","ManagedStackProvider","navigatorKey","useEffect","HistoryStore","clearNavigator","jsx","StackContext","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/managed.provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,51 @@ function setLinkSource(tag, screenKey, bounds, styles = {}, ancestorKeys) {
48
48
  return state;
49
49
  });
50
50
  }
51
+ function updateLinkSource(tag, screenKey, bounds, styles = {}, ancestorKeys) {
52
+ "worklet";
53
+
54
+ registry.modify(state => {
55
+ "worklet";
56
+
57
+ const stack = state[tag]?.linkStack;
58
+ if (!stack || stack.length === 0) return state;
59
+ let targetIndex = -1;
60
+
61
+ // Prefer the most recent completed link first.
62
+ // NOTE: matchesScreenKey is inlined here to avoid a Reanimated
63
+ // workletization crash caused by nested worklet function calls
64
+ // inside registry.modify callbacks.
65
+ for (let i = stack.length - 1; i >= 0; i--) {
66
+ const link = stack[i];
67
+ const src = link.source;
68
+ const srcMatches = src && (src.screenKey === screenKey || (src.ancestorKeys?.includes(screenKey) ?? false));
69
+ if (link.destination && srcMatches) {
70
+ targetIndex = i;
71
+ break;
72
+ }
73
+ }
74
+
75
+ // Fallback to pending links when no completed link matches.
76
+ if (targetIndex === -1) {
77
+ for (let i = stack.length - 1; i >= 0; i--) {
78
+ const src = stack[i].source;
79
+ if (src && (src.screenKey === screenKey || (src.ancestorKeys?.includes(screenKey) ?? false))) {
80
+ targetIndex = i;
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ if (targetIndex !== -1) {
86
+ stack[targetIndex].source = {
87
+ screenKey,
88
+ ancestorKeys,
89
+ bounds,
90
+ styles
91
+ };
92
+ }
93
+ return state;
94
+ });
95
+ }
51
96
  function setLinkDestination(tag, screenKey, bounds, styles = {}, ancestorKeys) {
52
97
  "worklet";
53
98
 
@@ -178,6 +223,7 @@ const BoundStore = exports.BoundStore = {
178
223
  registerSnapshot,
179
224
  setLinkSource,
180
225
  setLinkDestination,
226
+ updateLinkSource,
181
227
  getActiveLink,
182
228
  getSnapshot,
183
229
  clear
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","registerSnapshot","tag","screenKey","bounds","styles","ancestorKeys","modify","state","snapshots","linkStack","setLinkSource","push","source","destination","setLinkDestination","stack","length","i","matchesScreenKey","identifier","key","includes","getSnapshot","tagState","value","snap","getActiveLink","link","isSource","isDestination","lastLink","clear","filter","sourceMatches","destMatches","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/bounds.store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","registerSnapshot","tag","screenKey","bounds","styles","ancestorKeys","modify","state","snapshots","linkStack","setLinkSource","push","source","destination","updateLinkSource","stack","length","targetIndex","i","link","src","srcMatches","includes","setLinkDestination","matchesScreenKey","identifier","key","getSnapshot","tagState","value","snap","getActiveLink","isSource","isDestination","lastLink","clear","filter","sourceMatches","destMatches","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/bounds.store.ts"],"mappings":"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","ignoreList":[]}
@@ -16,13 +16,15 @@ const resolveBounds = props => {
16
16
  const entering = !props.next;
17
17
  const fullscreen = (0, _constants.FULLSCREEN_DIMENSIONS)(props.dimensions);
18
18
  const isFullscreenTarget = props.computeOptions.target === "fullscreen";
19
+ const hasCustomTarget = typeof props.computeOptions.target === "object";
20
+ const hasTargetOverride = isFullscreenTarget || hasCustomTarget;
19
21
 
20
22
  // Try exact match first (strict matching for nested stacks)
21
23
  let link = _bounds.BoundStore.getActiveLink(props.id, props.current?.route.key);
22
24
 
23
- // For fullscreen target, fall back to most recent link for this tag
25
+ // For target overrides, fall back to most recent link for this tag
24
26
  // (destination screen might not have a matching element)
25
- if (!link && isFullscreenTarget) {
27
+ if (!link && hasTargetOverride) {
26
28
  link = _bounds.BoundStore.getActiveLink(props.id); // No screenKey = get most recent
27
29
  }
28
30
  if (!link || !link.source) {
@@ -33,8 +35,8 @@ const resolveBounds = props => {
33
35
  };
34
36
  }
35
37
 
36
- // For fullscreen target, destination element is not required
37
- if (!isFullscreenTarget && !link.destination) {
38
+ // When target is overridden, destination element is not required
39
+ if (!hasTargetOverride && !link.destination) {
38
40
  return {
39
41
  start: null,
40
42
  end: null,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_constants","_bounds","_geometry","_interpolateStyle","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","getLink","styles","interpolateStyle","property","fallback","interpolateLinkStyle","interpolateBounds","fallbackOrTargetKey","range","targetKey","currentKey","fb","currentSnapshot","targetSnapshot","currentValue","targetValue","interpolate","sourceValue","destValue","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_constants","_bounds","_geometry","_interpolateStyle","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","hasCustomTarget","hasTargetOverride","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","getLink","styles","interpolateStyle","property","fallback","interpolateLinkStyle","interpolateBounds","fallbackOrTargetKey","range","targetKey","currentKey","fb","currentSnapshot","targetSnapshot","currentValue","targetValue","interpolate","sourceValue","destValue","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
@@ -26,9 +26,16 @@ function determineSnapTarget({
26
26
 
27
27
  // Project where we'd end up with velocity
28
28
  const projectedProgress = currentProgress - velocityInProgress;
29
+ const sanitizedSnapPoints = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
29
30
 
30
31
  // Build all possible targets: dismiss (0) only if allowed, plus all snap points
31
- const allTargets = canDismiss ? [0, ...snapPoints].sort((a, b) => a - b) : [...snapPoints].sort((a, b) => a - b);
32
+ const allTargets = Array.from(new Set(canDismiss ? [0, ...sanitizedSnapPoints] : sanitizedSnapPoints)).sort((a, b) => a - b);
33
+ if (allTargets.length === 0) {
34
+ return {
35
+ targetProgress: currentProgress,
36
+ shouldDismiss: false
37
+ };
38
+ }
32
39
 
33
40
  // Find the target whose zone contains the projected progress
34
41
  // Zones are split at midpoints between adjacent targets
@@ -50,7 +57,7 @@ function determineSnapTarget({
50
57
  }
51
58
  return {
52
59
  targetProgress,
53
- shouldDismiss: targetProgress === 0
60
+ shouldDismiss: canDismiss && targetProgress === 0
54
61
  };
55
62
  }
56
63
  //# sourceMappingURL=determine-snap-target.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["determineSnapTarget","currentProgress","snapPoints","velocity","dimension","velocityFactor","canDismiss","velocityInProgress","projectedProgress","allTargets","sort","a","b","targetProgress","i","length","current","next","undefined","midpoint","shouldDismiss"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/determine-snap-target.ts"],"mappings":";;;;;;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAAC;EACnCC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC,cAAc,GAAG,GAAG;EACpBC,UAAU,GAAG;AACY,CAAC,EAA6B;EACvD,SAAS;;EAET;EACA,MAAMC,kBAAkB,GAAIJ,QAAQ,GAAGC,SAAS,GAAIC,cAAc;;EAElE;EACA,MAAMG,iBAAiB,GAAGP,eAAe,GAAGM,kBAAkB;;EAE9D;EACA,MAAME,UAAU,GAAGH,UAAU,GAC1B,CAAC,CAAC,EAAE,GAAGJ,UAAU,CAAC,CAACQ,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,GACxC,CAAC,GAAGV,UAAU,CAAC,CAACQ,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;;EAExC;EACA;EACA,IAAIC,cAAc,GAAGJ,UAAU,CAAC,CAAC,CAAC;EAElC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,UAAU,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;IAC3C,MAAME,OAAO,GAAGP,UAAU,CAACK,CAAC,CAAC;IAC7B,MAAMG,IAAI,GAAGR,UAAU,CAACK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAIG,IAAI,KAAKC,SAAS,EAAE;MACvB;MACAL,cAAc,GAAGG,OAAO;MACxB;IACD;IAEA,MAAMG,QAAQ,GAAG,CAACH,OAAO,GAAGC,IAAI,IAAI,CAAC;IAErC,IAAIT,iBAAiB,GAAGW,QAAQ,EAAE;MACjCN,cAAc,GAAGG,OAAO;MACxB;IACD;IAEAH,cAAc,GAAGI,IAAI;EACtB;EAEA,OAAO;IACNJ,cAAc;IACdO,aAAa,EAAEP,cAAc,KAAK;EACnC,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["determineSnapTarget","currentProgress","snapPoints","velocity","dimension","velocityFactor","canDismiss","velocityInProgress","projectedProgress","sanitizedSnapPoints","filter","point","Number","isFinite","allTargets","Array","from","Set","sort","a","b","length","targetProgress","shouldDismiss","i","current","next","undefined","midpoint"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/determine-snap-target.ts"],"mappings":";;;;;;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAAC;EACnCC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC,cAAc,GAAG,GAAG;EACpBC,UAAU,GAAG;AACY,CAAC,EAA6B;EACvD,SAAS;;EAET;EACA,MAAMC,kBAAkB,GAAIJ,QAAQ,GAAGC,SAAS,GAAIC,cAAc;;EAElE;EACA,MAAMG,iBAAiB,GAAGP,eAAe,GAAGM,kBAAkB;EAE9D,MAAME,mBAAmB,GAAGP,UAAU,CAACQ,MAAM,CAAEC,KAAK,IACnDL,UAAU,GAAGM,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;;EAED;EACA,MAAMG,UAAU,GAAGC,KAAK,CAACC,IAAI,CAC5B,IAAIC,GAAG,CAACX,UAAU,GAAG,CAAC,CAAC,EAAE,GAAGG,mBAAmB,CAAC,GAAGA,mBAAmB,CACvE,CAAC,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EAEvB,IAAIN,UAAU,CAACO,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO;MACNC,cAAc,EAAErB,eAAe;MAC/BsB,aAAa,EAAE;IAChB,CAAC;EACF;;EAEA;EACA;EACA,IAAID,cAAc,GAAGR,UAAU,CAAC,CAAC,CAAC;EAElC,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,UAAU,CAACO,MAAM,EAAEG,CAAC,EAAE,EAAE;IAC3C,MAAMC,OAAO,GAAGX,UAAU,CAACU,CAAC,CAAC;IAC7B,MAAME,IAAI,GAAGZ,UAAU,CAACU,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAIE,IAAI,KAAKC,SAAS,EAAE;MACvB;MACAL,cAAc,GAAGG,OAAO;MACxB;IACD;IAEA,MAAMG,QAAQ,GAAG,CAACH,OAAO,GAAGC,IAAI,IAAI,CAAC;IAErC,IAAIlB,iBAAiB,GAAGoB,QAAQ,EAAE;MACjCN,cAAc,GAAGG,OAAO;MACxB;IACD;IAEAH,cAAc,GAAGI,IAAI;EACtB;EAEA,OAAO;IACNJ,cAAc;IACdC,aAAa,EAAEjB,UAAU,IAAIgB,cAAc,KAAK;EACjD,CAAC;AACF","ignoreList":[]}
@@ -18,7 +18,17 @@ var _constants = require("../../constants");
18
18
  function findCollapseTarget(currentProgress, snapPoints, canDismiss) {
19
19
  "worklet";
20
20
 
21
- const sorted = [...snapPoints].sort((a, b) => a - b);
21
+ const normalized = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
22
+ if (normalized.length === 0) {
23
+ return canDismiss ? {
24
+ target: 0,
25
+ shouldDismiss: true
26
+ } : {
27
+ target: currentProgress,
28
+ shouldDismiss: false
29
+ };
30
+ }
31
+ const sorted = [...normalized].sort((a, b) => a - b);
22
32
  const minSnap = sorted[0];
23
33
 
24
34
  // Find next lower snap point
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","findCollapseTarget","currentProgress","snapPoints","canDismiss","sorted","sort","a","b","minSnap","i","length","EPSILON","target","shouldDismiss"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/find-collapse-target.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CACjCC,eAAuB,EACvBC,UAAoB,EACpBC,UAAmB,EACQ;EAC3B,SAAS;;EAET,MAAMC,MAAM,GAAG,CAAC,GAAGF,UAAU,CAAC,CAACG,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACpD,MAAMC,OAAO,GAAGJ,MAAM,CAAC,CAAC,CAAC;;EAEzB;EACA,KAAK,IAAIK,CAAC,GAAGL,MAAM,CAACM,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC5C,IAAIL,MAAM,CAACK,CAAC,CAAC,GAAGR,eAAe,GAAGU,kBAAO,EAAE;MAC1C,OAAO;QAAEC,MAAM,EAAER,MAAM,CAACK,CAAC,CAAC;QAAEI,aAAa,EAAE;MAAM,CAAC;IACnD;EACD;;EAEA;EACA,IAAIV,UAAU,EAAE;IACf,OAAO;MAAES,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC;EAC1C;;EAEA;EACA,OAAO;IAAED,MAAM,EAAEJ,OAAO;IAAEK,aAAa,EAAE;EAAM,CAAC;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","findCollapseTarget","currentProgress","snapPoints","canDismiss","normalized","filter","point","Number","isFinite","length","target","shouldDismiss","sorted","sort","a","b","minSnap","i","EPSILON"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/find-collapse-target.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CACjCC,eAAuB,EACvBC,UAAoB,EACpBC,UAAmB,EACQ;EAC3B,SAAS;;EAET,MAAMC,UAAU,GAAGF,UAAU,CAACG,MAAM,CAAEC,KAAK,IAC1CH,UAAU,GAAGI,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAON,UAAU,GACd;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC,GAClC;MAAED,MAAM,EAAET,eAAe;MAAEU,aAAa,EAAE;IAAM,CAAC;EACrD;EAEA,MAAMC,MAAM,GAAG,CAAC,GAAGR,UAAU,CAAC,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACpD,MAAMC,OAAO,GAAGJ,MAAM,CAAC,CAAC,CAAC;;EAEzB;EACA,KAAK,IAAIK,CAAC,GAAGL,MAAM,CAACH,MAAM,GAAG,CAAC,EAAEQ,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC5C,IAAIL,MAAM,CAACK,CAAC,CAAC,GAAGhB,eAAe,GAAGiB,kBAAO,EAAE;MAC1C,OAAO;QAAER,MAAM,EAAEE,MAAM,CAACK,CAAC,CAAC;QAAEN,aAAa,EAAE;MAAM,CAAC;IACnD;EACD;;EAEA;EACA,IAAIR,UAAU,EAAE;IACf,OAAO;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC;EAC1C;;EAEA;EACA,OAAO;IAAED,MAAM,EAAEM,OAAO;IAAEL,aAAa,EAAE;EAAM,CAAC;AACjD","ignoreList":[]}
@@ -8,7 +8,7 @@ const validateSnapPoints = ({
8
8
  snapPoints,
9
9
  canDismiss
10
10
  }) => {
11
- if (!snapPoints) {
11
+ if (!snapPoints || snapPoints.length === 0) {
12
12
  return {
13
13
  hasSnapPoints: false,
14
14
  snapPoints: [],
@@ -16,7 +16,16 @@ const validateSnapPoints = ({
16
16
  maxSnapPoint: -1
17
17
  };
18
18
  }
19
- const sortedSnaps = snapPoints.slice().sort((a, b) => a - b);
19
+ const normalizedSnaps = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
20
+ if (normalizedSnaps.length === 0) {
21
+ return {
22
+ hasSnapPoints: false,
23
+ snapPoints: [],
24
+ minSnapPoint: -1,
25
+ maxSnapPoint: -1
26
+ };
27
+ }
28
+ const sortedSnaps = normalizedSnaps.slice().sort((a, b) => a - b);
20
29
  // Clamp to snap point bounds (dismiss at 0 only if allowed)
21
30
  const minProgress = canDismiss ? 0 : sortedSnaps[0];
22
31
  const maxProgress = sortedSnaps[sortedSnaps.length - 1];
@@ -1 +1 @@
1
- {"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","hasSnapPoints","minSnapPoint","maxSnapPoint","sortedSnaps","slice","sort","a","b","minProgress","maxProgress","length","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/validate-snap-points.ts"],"mappings":";;;;;;AAYO,MAAMA,kBAAkB,GAAGA,CAAC;EAClCC,UAAU;EACVC;AAC0B,CAAC,KAA+B;EAC1D,IAAI,CAACD,UAAU,EAAE;IAChB,OAAO;MACNE,aAAa,EAAE,KAAK;MACpBF,UAAU,EAAE,EAAE;MACdG,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMC,WAAW,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EAC5D;EACA,MAAMC,WAAW,GAAGT,UAAU,GAAG,CAAC,GAAGI,WAAW,CAAC,CAAC,CAAC;EACnD,MAAMM,WAAW,GAAGN,WAAW,CAACA,WAAW,CAACO,MAAM,GAAG,CAAC,CAAC;EAEvD,OAAO;IACNV,aAAa,EAAE,IAAI;IACnBF,UAAU,EAAEK,WAAW;IACvBF,YAAY,EAAEO,WAAW;IACzBN,YAAY,EAAEO;EACf,CAAC;AACF,CAAC;AAACE,OAAA,CAAAd,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","length","hasSnapPoints","minSnapPoint","maxSnapPoint","normalizedSnaps","filter","point","Number","isFinite","sortedSnaps","slice","sort","a","b","minProgress","maxProgress","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/validate-snap-points.ts"],"mappings":";;;;;;AAYO,MAAMA,kBAAkB,GAAGA,CAAC;EAClCC,UAAU;EACVC;AAC0B,CAAC,KAA+B;EAC1D,IAAI,CAACD,UAAU,IAAIA,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3C,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMC,eAAe,GAAGN,UAAU,CAACO,MAAM,CAAEC,KAAK,IAC/CP,UAAU,GAAGQ,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,eAAe,CAACJ,MAAM,KAAK,CAAC,EAAE;IACjC,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMM,WAAW,GAAGL,eAAe,CAACM,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACjE;EACA,MAAMC,WAAW,GAAGf,UAAU,GAAG,CAAC,GAAGU,WAAW,CAAC,CAAC,CAAC;EACnD,MAAMM,WAAW,GAAGN,WAAW,CAACA,WAAW,CAACT,MAAM,GAAG,CAAC,CAAC;EAEvD,OAAO;IACNC,aAAa,EAAE,IAAI;IACnBH,UAAU,EAAEW,WAAW;IACvBP,YAAY,EAAEY,WAAW;IACzBX,YAAY,EAAEY;EACf,CAAC;AACF,CAAC;AAACC,OAAA,CAAAnB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isScreenOverlayVisible = exports.isOverlayVisible = exports.isFloatOverlayVisible = void 0;
7
+ const isOverlayVisible = options => {
8
+ return Boolean(options?.overlay) && options?.overlayShown !== false;
9
+ };
10
+ exports.isOverlayVisible = isOverlayVisible;
11
+ const isFloatOverlayVisible = options => {
12
+ return isOverlayVisible(options) && options?.overlayMode !== "screen";
13
+ };
14
+ exports.isFloatOverlayVisible = isFloatOverlayVisible;
15
+ const isScreenOverlayVisible = options => {
16
+ return isOverlayVisible(options) && options?.overlayMode === "screen";
17
+ };
18
+ exports.isScreenOverlayVisible = isScreenOverlayVisible;
19
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isOverlayVisible","options","Boolean","overlay","overlayShown","exports","isFloatOverlayVisible","overlayMode","isScreenOverlayVisible"],"sourceRoot":"../../../../../src","sources":["shared/utils/overlay/visibility.ts"],"mappings":";;;;;;AAQO,MAAMA,gBAAgB,GAAIC,OAA4B,IAAc;EAC1E,OAAOC,OAAO,CAACD,OAAO,EAAEE,OAAO,CAAC,IAAIF,OAAO,EAAEG,YAAY,KAAK,KAAK;AACpE,CAAC;AAACC,OAAA,CAAAL,gBAAA,GAAAA,gBAAA;AAEK,MAAMM,qBAAqB,GACjCL,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEM,WAAW,KAAK,QAAQ;AACtE,CAAC;AAACF,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEK,MAAME,sBAAsB,GAClCP,OAA4B,IACf;EACb,OAAOD,gBAAgB,CAACC,OAAO,CAAC,IAAIA,OAAO,EAAEM,WAAW,KAAK,QAAQ;AACtE,CAAC;AAACF,OAAA,CAAAG,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -9,6 +9,7 @@ import { Overlay } from "../../shared/components/overlay";
9
9
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
10
10
  import { withStackCore } from "../../shared/providers/stack/core.provider";
11
11
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
12
+ import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  function isFabric() {
14
15
  return "nativeFabricUIManager" in global;
@@ -25,7 +26,7 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
25
26
  value: navigation,
26
27
  children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
27
28
  value: route,
28
- children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
+ children: [isScreenOverlayVisible(descriptor.options) && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
30
  })
30
31
  });
31
32
  });
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","NativeScreen","NativeScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","isScreenOverlayVisible","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ import { Overlay } from "../../shared/components/overlay";
9
9
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
10
10
  import { withStackCore } from "../../shared/providers/stack/core.provider";
11
11
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
12
+ import { isScreenOverlayVisible } from "../../shared/utils/overlay/visibility";
12
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
14
  function isFabric() {
14
15
  return "nativeFabricUIManager" in global;
@@ -25,7 +26,7 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
25
26
  value: navigation,
26
27
  children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
27
28
  value: route,
28
- children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
+ children: [isScreenOverlayVisible(descriptor.options) && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
29
30
  })
30
31
  });
31
32
  });