react-native-screen-transitions 3.6.0-alpha.2 → 3.6.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/lib/commonjs/shared/constants.js +5 -6
  2. package/lib/commonjs/shared/constants.js.map +1 -1
  3. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  4. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -1
  5. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  6. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +33 -3
  7. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  8. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +2 -2
  9. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -1
  10. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +8 -4
  11. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  12. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  13. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  14. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +25 -0
  15. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -0
  16. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +4 -4
  17. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  18. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +13 -4
  19. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  20. package/lib/commonjs/shared/providers/screen/options/helpers.js +10 -3
  21. package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
  22. package/lib/commonjs/shared/providers/stack/direct.provider.js +1 -3
  23. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  24. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js +2 -12
  25. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js.map +1 -1
  26. package/lib/commonjs/shared/providers/stack/managed.provider.js +1 -3
  27. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  28. package/lib/commonjs/shared/stores/animation.store.js +5 -3
  29. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  30. package/lib/commonjs/shared/utils/bounds/index.js +3 -2
  31. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  32. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +36 -15
  33. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  34. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +24 -4
  35. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  36. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +2 -2
  37. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  38. package/lib/module/shared/constants.js +4 -5
  39. package/lib/module/shared/constants.js.map +1 -1
  40. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  41. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -1
  42. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  43. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +33 -3
  44. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  45. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +2 -2
  46. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -1
  47. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +8 -4
  48. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  49. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  50. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  51. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +20 -0
  52. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -0
  53. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +4 -4
  54. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  55. package/lib/module/shared/providers/screen/gestures/shared/policy.js +14 -5
  56. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  57. package/lib/module/shared/providers/screen/options/helpers.js +11 -4
  58. package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
  59. package/lib/module/shared/providers/stack/direct.provider.js +1 -3
  60. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  61. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js +2 -12
  62. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js.map +1 -1
  63. package/lib/module/shared/providers/stack/managed.provider.js +1 -3
  64. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  65. package/lib/module/shared/stores/animation.store.js +5 -3
  66. package/lib/module/shared/stores/animation.store.js.map +1 -1
  67. package/lib/module/shared/types/animation.types.js +2 -1
  68. package/lib/module/shared/types/animation.types.js.map +1 -1
  69. package/lib/module/shared/types/bounds.types.js.map +1 -1
  70. package/lib/module/shared/utils/bounds/index.js +3 -2
  71. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  72. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +38 -17
  73. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  74. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +24 -5
  75. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  76. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +2 -2
  77. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  78. package/lib/typescript/shared/components/create-boundary-component/components/boundary-target.d.ts +4 -207
  79. package/lib/typescript/shared/components/create-boundary-component/components/boundary-target.d.ts.map +1 -1
  80. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
  81. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  82. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  83. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  84. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  85. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +2 -2
  86. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  87. package/lib/typescript/shared/constants.d.ts +3 -2
  88. package/lib/typescript/shared/constants.d.ts.map +1 -1
  89. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +0 -1
  90. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  91. package/lib/typescript/shared/index.d.ts +14 -14
  92. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts +2 -2
  93. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  94. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts +1 -1
  95. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts.map +1 -1
  96. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +2 -1
  97. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  98. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  99. package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
  100. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +3 -0
  101. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -0
  102. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +2 -1
  103. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  104. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +4 -4
  105. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  106. package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
  107. package/lib/typescript/shared/providers/screen/options/types.d.ts +2 -1
  108. package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
  109. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts +1 -1
  110. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts.map +1 -1
  111. package/lib/typescript/shared/providers/stack/direct.provider.d.ts +1 -1
  112. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  113. package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts +5 -5
  114. package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts.map +1 -1
  115. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
  116. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  117. package/lib/typescript/shared/stores/animation.store.d.ts +4 -3
  118. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  119. package/lib/typescript/shared/types/animation.types.d.ts +7 -3
  120. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  121. package/lib/typescript/shared/types/bounds.types.d.ts +69 -1
  122. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  123. package/lib/typescript/shared/types/index.d.ts +2 -2
  124. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  125. package/lib/typescript/shared/types/screen.types.d.ts +13 -26
  126. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  127. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  128. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts +1 -1
  129. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  130. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts +12 -2
  131. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  132. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts +2 -1
  133. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts.map +1 -1
  134. package/package.json +4 -3
  135. package/src/shared/constants.ts +6 -4
  136. package/src/shared/hooks/navigation/use-stack.tsx +0 -1
  137. package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +2 -2
  138. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +58 -4
  139. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.ts +2 -1
  140. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +2 -1
  141. package/src/shared/providers/screen/animation/helpers/pipeline.ts +20 -6
  142. package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +0 -2
  143. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +29 -0
  144. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +5 -12
  145. package/src/shared/providers/screen/gestures/shared/policy.ts +20 -7
  146. package/src/shared/providers/screen/options/helpers.ts +22 -9
  147. package/src/shared/providers/screen/options/types.ts +2 -1
  148. package/src/shared/providers/stack/direct.provider.tsx +3 -13
  149. package/src/shared/providers/stack/helpers/use-stack-derived.ts +6 -15
  150. package/src/shared/providers/stack/managed.provider.tsx +2 -6
  151. package/src/shared/stores/animation.store.ts +6 -3
  152. package/src/shared/types/animation.types.ts +11 -3
  153. package/src/shared/types/bounds.types.ts +72 -1
  154. package/src/shared/types/index.ts +2 -0
  155. package/src/shared/types/screen.types.ts +13 -26
  156. package/src/shared/utils/bounds/index.ts +3 -1
  157. package/src/shared/utils/bounds/navigation/reveal/build.ts +56 -24
  158. package/src/shared/utils/bounds/navigation/reveal/math.ts +34 -4
  159. package/src/shared/utils/bounds/navigation/reveal/types.ts +2 -0
  160. package/src/shared/utils/bounds/navigation/zoom/build.ts +2 -2
@@ -3,6 +3,7 @@ import { NAVIGATION_MASK_CONTAINER_STYLE_ID, NAVIGATION_MASK_ELEMENT_STYLE_ID }
3
3
  import type { MeasuredEntry } from "../stores/bounds";
4
4
  import type { BoundId, BoundsOptions, BoundsOptionsResult } from "../utils/bounds/types/options";
5
5
  import type { ScreenInterpolationProps, TransitionInterpolatedStyle, TransitionSlotStyle } from "./animation.types";
6
+ import type { GestureProgressMode } from "./gesture.types";
6
7
  /**
7
8
  * Target style computation.
8
9
  * - "transform": translates and scales (scaleX/scaleY), no width/height size
@@ -141,10 +142,77 @@ export type BoundsNavigationZoomStyle = TransitionInterpolatedStyle & {
141
142
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
142
143
  [NAVIGATION_MASK_ELEMENT_STYLE_ID]?: TransitionSlotStyle;
143
144
  };
145
+ export type BoundsNavigationRevealOptions = {
146
+ /**
147
+ * Destination mask border radius.
148
+ *
149
+ * Reveal interpolates from the measured source border radius to this value.
150
+ *
151
+ * @default Platform-specific reveal radius
152
+ */
153
+ borderRadius?: number;
154
+ /**
155
+ * Whether the reveal mask should use React Native's continuous border curve.
156
+ *
157
+ * @default true
158
+ */
159
+ borderContinuous?: boolean;
160
+ /**
161
+ * Maximum dynamic gesture sensitivity applied by reveal.
162
+ *
163
+ * Reveal lowers gesture sensitivity as the drag gets deeper so the masked
164
+ * container can keep its source-to-destination handoff stable. This value
165
+ * controls the starting/highest sensitivity in that curve.
166
+ *
167
+ * @default 0.8
168
+ */
169
+ maxSensitivity?: number;
170
+ /**
171
+ * Velocity-driven depth applied to the dismiss scale handoff.
172
+ *
173
+ * Higher values make fast releases orbit farther around the final source
174
+ * scale. Set to `0` to remove the velocity depth effect.
175
+ *
176
+ * @default 0.5
177
+ */
178
+ velocityDepth?: number;
179
+ /**
180
+ * Whether gesture displacement should drive transition progress or remain as
181
+ * freeform gesture values. Reveal defaults to `"freeform"` so drag can move
182
+ * the masked container without owning the whole screen progress.
183
+ *
184
+ * @default "freeform"
185
+ */
186
+ gestureProgressMode?: GestureProgressMode;
187
+ /**
188
+ * Temporarily blocks pointer-event pass-through on the inactive content until
189
+ * the source element transition handoff reaches progress `0.25`.
190
+ *
191
+ * This is intentional and most users cannot react fast enough to swipe during
192
+ * that brief handoff. If it becomes an issue, set this to `false` to disable
193
+ * the guard and keep the default behavior that allows pointer events to pass
194
+ * through.
195
+ *
196
+ * @default true
197
+ */
198
+ disablePointerEventsTillElementTransition?: boolean;
199
+ /**
200
+ * How reveal should resize the navigation mask element.
201
+ *
202
+ * `"auto"` uses the platform default. Android defaults to transform-based
203
+ * resizing to avoid masked-size animation cost, while other platforms animate
204
+ * width and height. Transform-based resizing can make large border radii look
205
+ * less natural on Android; use `"size"` to force width/height animation when
206
+ * radius quality is more important than that optimization.
207
+ *
208
+ * @default "auto"
209
+ */
210
+ maskSizingMode?: "auto" | "transform" | "size";
211
+ };
144
212
  export type BoundsNavigationRevealStyle = BoundsNavigationZoomStyle;
145
213
  export type BoundsNavigationAccessor = {
146
214
  zoom: (options?: BoundsNavigationZoomOptions) => BoundsNavigationZoomStyle;
147
- reveal: () => BoundsNavigationRevealStyle;
215
+ reveal: (options?: BoundsNavigationRevealOptions) => BoundsNavigationRevealStyle;
148
216
  };
149
217
  type BoundsBoundNavigationAccessor = {
150
218
  navigation: BoundsNavigationAccessor;
@@ -1 +1 @@
1
- {"version":3,"file":"bounds.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/bounds.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bounds.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/bounds.types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export { FALSE, TRUE } from "../constants";
2
2
  export type { AnimatedViewStyle, AnimationConfig, ScreenInterpolationProps, ScreenStyleInterpolator, ScreenTransitionOptions, ScreenTransitionState, TransitionInterpolatedStyle, TransitionInterpolatorOptions, TransitionSlotStyle, TransitionSpec, } from "./animation.types";
3
- export type { BoundsAccessor, BoundsMethod, BoundsNavigationAccessor, BoundsNavigationRevealStyle, BoundsNavigationZoomOpacityRange, BoundsNavigationZoomOpacityRanges, BoundsNavigationZoomOptions, BoundsNavigationZoomStyle, } from "./bounds.types";
3
+ export type { BoundsAccessor, BoundsMethod, BoundsNavigationAccessor, BoundsNavigationRevealOptions, BoundsNavigationRevealStyle, BoundsNavigationZoomOpacityRange, BoundsNavigationZoomOpacityRanges, BoundsNavigationZoomOptions, BoundsNavigationZoomStyle, } from "./bounds.types";
4
4
  export type { ActivationArea, GestureActivationArea, GestureDirection, GestureValues, PanGestureDirection, PinchGestureDirection, SideActivation, } from "./gesture.types";
5
5
  export type { OverlayProps } from "./overlay.types";
6
- export type { Layout, ScreenKey, ScreenTransitionConfig, TransitionAwareProps, } from "./screen.types";
6
+ export type { GestureTracking, Layout, ScreenKey, ScreenTransitionConfig, TransitionAwareProps, } from "./screen.types";
7
7
  export type { BaseStackDescriptor, BaseStackNavigation, BaseStackRoute, BaseStackScene, BaseStackState, DescriptorMap, } from "./stack.types";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACX,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACX,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GACb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EACX,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,cAAc,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EACX,eAAe,EACf,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,cAAc,EACd,aAAa,GACb,MAAM,eAAe,CAAC"}
@@ -18,16 +18,10 @@ export type ScreenLayouts = {
18
18
  * auto snap-point sizing. It is undefined until a real measurement exists.
19
19
  */
20
20
  content?: Layout;
21
- /**
22
- * Whether navigation bounds masking is enabled for this screen.
23
- *
24
- * When enabled, navigation zoom helpers target the masked container path
25
- * instead of the plain content slot.
26
- */
27
- navigationMaskEnabled: boolean;
28
21
  };
29
22
  export type ScreenKey = string;
30
23
  export type SheetScrollGestureBehavior = "expand-and-collapse" | "collapse-only";
24
+ export type GestureTracking = "auto" | "never" | "always";
31
25
  /**
32
26
  * A single snap point value. Either a fraction of screen height (0–1) or
33
27
  * `'auto'` to snap to the intrinsic height of the screen content.
@@ -115,21 +109,17 @@ export type ScreenTransitionConfig = {
115
109
  */
116
110
  gestureEnabled?: boolean;
117
111
  /**
118
- * Allows screens with `gestureEnabled={false}` to still activate gestures for
119
- * live gesture values while preventing gesture dismissal.
120
- *
121
- * This is a v3 compatibility bridge for the next gesture behavior. Direction
122
- * ownership/claims participate while this is enabled so nested screens can
123
- * intentionally shadow parent gestures for resistance-style animations.
112
+ * Controls whether the screen tracks live gesture values.
124
113
  *
125
- * Screens with `snapPoints` already keep gesture tracking when
126
- * `gestureEnabled={false}`; this flag mainly affects disabled non-snap
127
- * gestures.
114
+ * - `"auto"` tracks gestures when dismissal is enabled, or when snap points
115
+ * can move without dismissal.
116
+ * - `"never"` disables gesture tracking for the screen.
117
+ * - `"always"` keeps tracking live gesture values even when
118
+ * `gestureEnabled` is `false`, without allowing dismiss.
128
119
  *
129
- * @experimental This API may change in future versions.
130
- * @default false
120
+ * @default "auto"
131
121
  */
132
- experimental_allowDisabledGestureTracking?: boolean;
122
+ gestureTracking?: GestureTracking;
133
123
  /**
134
124
  * The direction(s) of the screen gesture used to dismiss the screen.
135
125
  *
@@ -177,15 +167,12 @@ export type ScreenTransitionConfig = {
177
167
  */
178
168
  gestureReleaseVelocityScale?: number;
179
169
  /**
180
- * Caps the absolute post-scale release velocity used by spring animations.
170
+ * Deprecated compatibility option.
181
171
  *
182
- * This does NOT affect dismissal threshold decisions (`gestureVelocityImpact`)
183
- * or snap target selection (`snapVelocityImpact`). It only bounds release
184
- * animation intensity after `gestureReleaseVelocityScale` is applied.
172
+ * This option is no longer read by the runtime transition options. Use
173
+ * `gestureReleaseVelocityScale` to tune post-release spring energy.
185
174
  *
186
- * @deprecated v3 compatibility only. This option is removed in the next
187
- * gesture runtime.
188
- * @default 3.2
175
+ * @deprecated v3 compatibility only.
189
176
  */
190
177
  gestureReleaseVelocityMax?: number;
191
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/bounds/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,wBAAwB,EAExB,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,oBAAoB,GAChC,UAAU,MAAM,wBAAwB,KACtC,cA8BF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/bounds/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,cAAc,EACd,wBAAwB,EAGxB,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,oBAAoB,GAChC,UAAU,MAAM,wBAAwB,KACtC,cA+BF,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { BuildRevealStylesParams, RevealInterpolatedStyle } from "./types";
2
- export declare function buildRevealStyles({ tag, props, }: BuildRevealStylesParams): RevealInterpolatedStyle;
2
+ export declare function buildRevealStyles({ tag, props, revealOptions, }: BuildRevealStylesParams): RevealInterpolatedStyle;
3
3
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/build.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMhF,wBAAgB,iBAAiB,CAAC,EACjC,GAAG,EACH,KAAK,GACL,EAAE,uBAAuB,GAAG,uBAAuB,CAoZnD"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/build.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMhF,wBAAgB,iBAAiB,CAAC,EACjC,GAAG,EACH,KAAK,EACL,aAAa,GACb,EAAE,uBAAuB,GAAG,uBAAuB,CAibnD"}
@@ -11,15 +11,25 @@ export declare function resolveUniformScale({ sourceWidth, sourceHeight, destina
11
11
  destinationWidth: number;
12
12
  destinationHeight: number;
13
13
  }): number;
14
- export declare function resolveRevealGestureHandoff(rawDrag: number): {
14
+ export declare function resolveRevealGestureHandoff({ rawDrag, maxSensitivity, }: {
15
+ rawDrag: number;
16
+ maxSensitivity: number;
17
+ }): {
15
18
  gestureSensitivity: number;
16
19
  gestureReleaseVelocityScale: number;
17
20
  };
18
- export declare function resolveDismissScaleHandoff({ progress, releaseScale, targetScale, velocity, }: {
21
+ export declare function resolveDismissScaleHandoff({ progress, releaseScale, targetScale, velocity, velocityDepth, }: {
19
22
  progress: number;
20
23
  releaseScale: number;
21
24
  targetScale: number;
22
25
  velocity: number;
26
+ velocityDepth: number;
27
+ }): number;
28
+ export declare function resolveAspectRatioMaskHeight({ maskWidth, maskHeight, targetWidth, targetHeight, }: {
29
+ maskWidth: number;
30
+ maskHeight: number;
31
+ targetWidth: number;
32
+ targetHeight: number;
23
33
  }): number;
24
34
  export declare function resolveRevealContentBaseTransform({ progress, sourceBounds, destinationBounds, screenLayout, }: {
25
35
  progress: number;
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAc7D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAGjE;AAED,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,UAQjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,UAG7C;AAED,eAAO,MAAM,0BAA0B,GACtC,aAAa,MAAM,EACnB,WAAW,MAAM,WAejB,CAAC;AAEF,wBAAgB,iCAAiC,CAChD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,UAajB;AAED,wBAAgB,mBAAmB,CAAC,EACnC,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GACjB,EAAE;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B,UAWA;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM;;;EAoB1D;AAED,wBAAgB,0BAA0B,CAAC,EAC1C,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,GACR,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACjB,UAWA;AAYD,wBAAgB,iCAAiC,CAAC,EACjD,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACZ,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACrB;;;;EAgBA;AAED,wBAAgB,oCAAoC,CAAC,EACpD,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,GACZ,EAAE;IACF,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;;;;;EAuCA"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAa7D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAGjE;AAED,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,UAQjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,UAG7C;AAED,eAAO,MAAM,0BAA0B,GACtC,aAAa,MAAM,EACnB,WAAW,MAAM,WAejB,CAAC;AAEF,wBAAgB,iCAAiC,CAChD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,UAajB;AAED,wBAAgB,mBAAmB,CAAC,EACnC,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GACjB,EAAE;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC1B,UAWA;AAED,wBAAgB,2BAA2B,CAAC,EAC3C,OAAO,EACP,cAAc,GACd,EAAE;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACvB;;;EAoBA;AAED,wBAAgB,0BAA0B,CAAC,EAC1C,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,GACb,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACtB,UAWA;AAED,wBAAgB,4BAA4B,CAAC,EAC5C,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,GACZ,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB,UAWA;AAYD,wBAAgB,iCAAiC,CAAC,EACjD,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACZ,EAAE;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACrB;;;;EAgBA;AAED,wBAAgB,oCAAoC,CAAC,EACpD,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,GACZ,EAAE;IACF,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACrB;;;;;EAuCA"}
@@ -1,5 +1,5 @@
1
1
  import { NAVIGATION_MASK_CONTAINER_STYLE_ID, NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
2
- import type { BoundsInterpolationProps, BoundsNavigationRevealStyle } from "../../../../types/bounds.types";
2
+ import type { BoundsInterpolationProps, BoundsNavigationRevealOptions, BoundsNavigationRevealStyle } from "../../../../types/bounds.types";
3
3
  export type RevealInterpolatedStyle = BoundsNavigationRevealStyle & {
4
4
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_CONTAINER_STYLE_ID];
5
5
  [NAVIGATION_MASK_ELEMENT_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_ELEMENT_STYLE_ID];
@@ -7,5 +7,6 @@ export type RevealInterpolatedStyle = BoundsNavigationRevealStyle & {
7
7
  export type BuildRevealStylesParams = {
8
8
  tag?: string;
9
9
  props: BoundsInterpolationProps;
10
+ revealOptions?: BoundsNavigationRevealOptions;
10
11
  };
11
12
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kCAAkC,EAClC,gCAAgC,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,wBAAwB,EACxB,2BAA2B,EAC3B,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG;IACnE,CAAC,kCAAkC,CAAC,CAAC,EAAE,2BAA2B,CAAC,OAAO,kCAAkC,CAAC,CAAC;IAC9G,CAAC,gCAAgC,CAAC,CAAC,EAAE,2BAA2B,CAAC,OAAO,gCAAgC,CAAC,CAAC;CAC1G,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,wBAAwB,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kCAAkC,EAClC,gCAAgC,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG;IACnE,CAAC,kCAAkC,CAAC,CAAC,EAAE,2BAA2B,CAAC,OAAO,kCAAkC,CAAC,CAAC;IAC9G,CAAC,gCAAgC,CAAC,CAAC,EAAE,2BAA2B,CAAC,OAAO,gCAAgC,CAAC,CAAC;CAC1G,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,wBAAwB,CAAC;IAChC,aAAa,CAAC,EAAE,6BAA6B,CAAC;CAC9C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.6.0-alpha.2",
3
+ "version": "3.6.0-alpha.4",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -78,8 +78,9 @@
78
78
  },
79
79
  "devDependencies": {
80
80
  "@testing-library/react-native": "13.3.3",
81
- "@types/react": "~19.1.10",
82
- "react-native-builder-bob": "0.39.0",
81
+ "@types/react": "~19.1.0",
82
+ "react-native-builder-bob": "0.41.0",
83
+ "react-test-renderer": "19.1.0",
83
84
  "typescript": "catalog:"
84
85
  },
85
86
  "react-native-builder-bob": {
@@ -9,7 +9,11 @@ import type {
9
9
  ActivationArea,
10
10
  GestureProgressMode,
11
11
  } from "./types/gesture.types";
12
- import type { Layout, SheetScrollGestureBehavior } from "./types/screen.types";
12
+ import type {
13
+ GestureTracking,
14
+ Layout,
15
+ SheetScrollGestureBehavior,
16
+ } from "./types/screen.types";
13
17
  import type { BaseStackRoute } from "./types/stack.types";
14
18
 
15
19
  /**
@@ -79,7 +83,6 @@ export const DEFAULT_SCREEN_TRANSITION_OPTIONS: ScreenTransitionOptions =
79
83
  export const createScreenTransitionState = (
80
84
  route: BaseStackRoute,
81
85
  meta?: Record<string, unknown>,
82
- navigationMaskEnabled = false,
83
86
  options: ScreenTransitionOptions = DEFAULT_SCREEN_TRANSITION_OPTIONS,
84
87
  ): ScreenTransitionState => ({
85
88
  progress: 0,
@@ -98,7 +101,6 @@ export const createScreenTransitionState = (
98
101
  width: 0,
99
102
  height: 0,
100
103
  },
101
- navigationMaskEnabled,
102
104
  },
103
105
  animatedSnapIndex: -1,
104
106
  snapIndex: -1,
@@ -124,7 +126,6 @@ export const DEFAULT_SCREEN_TRANSITION_STATE: ScreenTransitionState =
124
126
  width: 0,
125
127
  height: 0,
126
128
  },
127
- navigationMaskEnabled: false,
128
129
  },
129
130
  animatedSnapIndex: -1,
130
131
  snapIndex: -1,
@@ -164,6 +165,7 @@ export const DEFAULT_GESTURE_SNAP_VELOCITY_IMPACT = 0.1;
164
165
  export const DEFAULT_GESTURE_SENSITIVITY = 1;
165
166
  export const DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE = 1;
166
167
  export const DEFAULT_GESTURE_DIRECTION = "horizontal";
168
+ export const DEFAULT_GESTURE_TRACKING: GestureTracking = "auto";
167
169
  export const DEFAULT_GESTURE_PROGRESS_MODE: GestureProgressMode =
168
170
  "progress-driven";
169
171
  export const DEFAULT_GESTURE_SNAP_LOCKED = false;
@@ -30,7 +30,6 @@ export interface StackContextValue extends StackCoreContextValue {
30
30
  routeKeys: string[];
31
31
  routes: Route<string>[];
32
32
  scenes: StackScene[];
33
- stackProgress: DerivedValue<number>;
34
33
  optimisticFocusedIndex: DerivedValue<number>;
35
34
  }
36
35
 
@@ -38,9 +38,9 @@ export const buildScreenTransitionOptions = (
38
38
  : undefined;
39
39
 
40
40
  return {
41
+ navigationMaskEnabled: options.navigationMaskEnabled,
41
42
  gestureEnabled: options.gestureEnabled,
42
- experimental_allowDisabledGestureTracking:
43
- options.experimental_allowDisabledGestureTracking,
43
+ gestureTracking: options.gestureTracking,
44
44
  gestureDirection: cloneGestureDirection(options.gestureDirection),
45
45
  gestureSensitivity: options.gestureSensitivity,
46
46
  gestureVelocityImpact: options.gestureVelocityImpact,
@@ -3,7 +3,10 @@ import {
3
3
  LOGICAL_SETTLE_PROGRESS_THRESHOLD,
4
4
  LOGICAL_SETTLE_REQUIRED_FRAMES,
5
5
  } from "../../../../../constants";
6
- import type { ScreenTransitionOptions } from "../../../../../types/animation.types";
6
+ import type {
7
+ ScreenTransitionOptions,
8
+ TransitionInterpolatorOptions,
9
+ } from "../../../../../types/animation.types";
7
10
  import type { Layout } from "../../../../../types/screen.types";
8
11
  import { resolveGestureDrivenProgress } from "./gesture-progress";
9
12
  import {
@@ -21,14 +24,59 @@ import type { BuiltState } from "./types";
21
24
  const LOGICAL_SETTLE_STICKY_PROGRESS_THRESHOLD =
22
25
  LOGICAL_SETTLE_PROGRESS_THRESHOLD * 10;
23
26
 
27
+ const mergeTransitionOptions = (
28
+ base: ScreenTransitionOptions,
29
+ effective: TransitionInterpolatorOptions | undefined,
30
+ slot: ScreenTransitionOptions,
31
+ ): ScreenTransitionOptions => {
32
+ "worklet";
33
+ if (!effective) {
34
+ return base;
35
+ }
36
+
37
+ slot.navigationMaskEnabled = base.navigationMaskEnabled;
38
+ slot.gestureEnabled = effective.gestureEnabled ?? base.gestureEnabled;
39
+ slot.gestureTracking = base.gestureTracking;
40
+ slot.gestureDirection = effective.gestureDirection ?? base.gestureDirection;
41
+ slot.gestureSensitivity =
42
+ effective.gestureSensitivity ?? base.gestureSensitivity;
43
+ slot.gestureVelocityImpact =
44
+ effective.gestureVelocityImpact ?? base.gestureVelocityImpact;
45
+ slot.gestureSnapVelocityImpact =
46
+ effective.gestureSnapVelocityImpact ?? base.gestureSnapVelocityImpact;
47
+ slot.gestureReleaseVelocityScale =
48
+ effective.gestureReleaseVelocityScale ?? base.gestureReleaseVelocityScale;
49
+ slot.gestureResponseDistance =
50
+ effective.gestureResponseDistance ?? base.gestureResponseDistance;
51
+ slot.gestureProgressMode =
52
+ effective.gestureProgressMode ?? base.gestureProgressMode;
53
+ slot.gestureDrivesProgress =
54
+ effective.gestureDrivesProgress ?? base.gestureDrivesProgress;
55
+ slot.gestureActivationArea =
56
+ effective.gestureActivationArea ?? base.gestureActivationArea;
57
+ slot.gestureSnapLocked =
58
+ effective.gestureSnapLocked ?? base.gestureSnapLocked;
59
+ slot.sheetScrollGestureBehavior =
60
+ effective.sheetScrollGestureBehavior ?? base.sheetScrollGestureBehavior;
61
+ slot.backdropBehavior = effective.backdropBehavior ?? base.backdropBehavior;
62
+
63
+ return slot;
64
+ };
65
+
24
66
  export const hydrateTransitionState = (
25
67
  s: BuiltState,
26
68
  dimensions: Layout,
27
- effectiveOptions?: ScreenTransitionOptions,
69
+ effectiveOptions?: TransitionInterpolatorOptions,
28
70
  ) => {
29
71
  "worklet";
30
72
  const out = s.unwrapped;
31
73
  const baseProgress = s.progress.get();
74
+ const options = mergeTransitionOptions(
75
+ s.options,
76
+ effectiveOptions,
77
+ s.optionsSlot,
78
+ );
79
+ const canDismiss = options.gestureEnabled !== false;
32
80
  out.willAnimate = s.willAnimate.get();
33
81
  out.closing = s.closing.get();
34
82
  out.entering = s.entering.get();
@@ -60,9 +108,16 @@ export const hydrateTransitionState = (
60
108
  getResolvedSnapBounds(
61
109
  s.sortedNumericSnapPoints,
62
110
  s.hasAutoSnapPoint ? s.resolvedAutoSnapPoint.get() : null,
111
+ canDismiss,
63
112
  ),
64
113
  );
65
114
 
115
+ // Unsure where else to place this if im being honest.
116
+ // I think for here is fine
117
+ if (s.effectiveProgress.get() !== out.progress) {
118
+ s.effectiveProgress.set(out.progress);
119
+ }
120
+
66
121
  const hasResidualGestureValues =
67
122
  Math.abs(out.gesture.normX) > EPSILON ||
68
123
  Math.abs(out.gesture.normY) > EPSILON ||
@@ -123,11 +178,10 @@ export const hydrateTransitionState = (
123
178
  computedLogicallySettled || shouldPreserveLogicalSettle ? 1 : 0;
124
179
 
125
180
  out.meta = s.meta;
126
- out.options = s.options;
181
+ out.options = options;
127
182
  out.route = s.route;
128
183
  out.layouts.screen.width = dimensions.width;
129
184
  out.layouts.screen.height = dimensions.height;
130
- out.layouts.navigationMaskEnabled = s.navigationMaskEnabled;
131
185
 
132
186
  const content = s.measuredContentLayout.get();
133
187
 
@@ -48,6 +48,7 @@ const getResolvedSnapPointAt = (
48
48
  export const getResolvedSnapBounds = (
49
49
  snapPoints: number[],
50
50
  resolvedAutoSnap: number | null,
51
+ canDismiss = true,
51
52
  ): SnapBounds | null => {
52
53
  "worklet";
53
54
  const snapPointCount = getResolvedSnapPointCount(
@@ -77,7 +78,7 @@ export const getResolvedSnapBounds = (
77
78
  );
78
79
 
79
80
  return {
80
- min: Math.min(0, firstSnapPoint),
81
+ min: canDismiss ? Math.min(0, firstSnapPoint) : firstSnapPoint,
81
82
  max: lastSnapPoint,
82
83
  };
83
84
  };
@@ -9,6 +9,7 @@ import type { BaseStackRoute } from "../../../../../types/stack.types";
9
9
 
10
10
  export type BuiltState = {
11
11
  progress: SharedValue<number>;
12
+ effectiveProgress: SharedValue<number>;
12
13
  willAnimate: SharedValue<number>;
13
14
  closing: SharedValue<number>;
14
15
  progressAnimating: SharedValue<number>;
@@ -17,7 +18,7 @@ export type BuiltState = {
17
18
  route: BaseStackRoute;
18
19
  meta?: Record<string, unknown>;
19
20
  options: ScreenTransitionOptions;
20
- navigationMaskEnabled: boolean;
21
+ optionsSlot: ScreenTransitionOptions;
21
22
  targetProgress: SharedValue<number>;
22
23
  logicalSettleFrameCount: SharedValue<number>;
23
24
  resolvedAutoSnapPoint: SharedValue<number>;
@@ -1,3 +1,4 @@
1
+ import { useMemo } from "react";
1
2
  import { useWindowDimensions } from "react-native";
2
3
  import {
3
4
  type DerivedValue,
@@ -8,6 +9,7 @@ import {
8
9
  import { useSafeAreaInsets } from "react-native-safe-area-context";
9
10
  import { DEFAULT_SCREEN_TRANSITION_STATE } from "../../../../constants";
10
11
  import { useStack } from "../../../../hooks/navigation/use-stack";
12
+ import { AnimationStore } from "../../../../stores/animation.store";
11
13
  import type {
12
14
  ScreenInterpolationProps,
13
15
  ScreenStyleInterpolator,
@@ -18,6 +20,7 @@ import { updateDerivations } from "./derivations";
18
20
  import { hasTransitionsEnabled } from "./has-transitions-enabled";
19
21
  import { hydrateTransitionState } from "./hydrate-transition-state";
20
22
  import type { SelectedInterpolatorOptions } from "./selected-interpolator-options";
23
+ import { deriveStackProgress } from "./stack-progress";
21
24
  import { useBuildTransitionState } from "./use-build-transition-state";
22
25
 
23
26
  export type ScreenInterpolatorFrame = Omit<ScreenInterpolationProps, "bounds">;
@@ -36,7 +39,7 @@ const createInitialBaseInterpolatorProps = (
36
39
  ): ScreenInterpolatorFrame => {
37
40
  const current = {
38
41
  ...DEFAULT_SCREEN_TRANSITION_STATE,
39
- layouts: { screen: dimensions, navigationMaskEnabled: false },
42
+ layouts: { screen: dimensions },
40
43
  };
41
44
 
42
45
  return {
@@ -55,7 +58,7 @@ const createInitialBaseInterpolatorProps = (
55
58
  };
56
59
 
57
60
  export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
58
- const { flags, stackProgress: rootStackProgress, routeKeys } = useStack();
61
+ const { flags, routeKeys } = useStack();
59
62
  const dimensions = useWindowDimensions();
60
63
  const insets = useSafeAreaInsets();
61
64
  const transitionsAlwaysOn = flags.TRANSITIONS_ALWAYS_ON;
@@ -72,6 +75,11 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
72
75
 
73
76
  const currentRouteKey = currDescriptor?.route?.key;
74
77
  const currentIndex = routeKeys.indexOf(currentRouteKey);
78
+ const effectiveProgressValues = useMemo(() => {
79
+ return routeKeys.map((routeKey) =>
80
+ AnimationStore.getValue(routeKey, "effectiveProgress"),
81
+ );
82
+ }, [routeKeys]);
75
83
 
76
84
  const nextRouteKey = nextDescriptor?.route?.key;
77
85
  const nextHasTransitions =
@@ -130,10 +138,16 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
130
138
 
131
139
  updateDerivations(frame);
132
140
 
133
- frame.stackProgress =
134
- currentIndex >= 0
135
- ? rootStackProgress.get() - currentIndex
136
- : frame.progress;
141
+ frame.stackProgress = deriveStackProgress(
142
+ routeKeys,
143
+ effectiveProgressValues,
144
+ currentIndex,
145
+ frame.progress,
146
+ currentRouteKey,
147
+ frame.current.progress,
148
+ nextRouteKey,
149
+ frame.next?.progress,
150
+ );
137
151
  frame.logicallySettled = frame.active.logicallySettled;
138
152
 
139
153
  return frame;
@@ -60,8 +60,6 @@ const areInterpolatorOptionsEqual = (
60
60
 
61
61
  return (
62
62
  left.gestureEnabled === right.gestureEnabled &&
63
- left.experimental_allowDisabledGestureTracking ===
64
- right.experimental_allowDisabledGestureTracking &&
65
63
  areGestureDirectionsEqual(left.gestureDirection, right.gestureDirection) &&
66
64
  left.gestureSensitivity === right.gestureSensitivity &&
67
65
  left.gestureVelocityImpact === right.gestureVelocityImpact &&
@@ -0,0 +1,29 @@
1
+ import type { SharedValue } from "react-native-reanimated";
2
+
3
+ export const deriveStackProgress = (
4
+ routeKeys: string[],
5
+ effectiveProgressValues: SharedValue<number>[],
6
+ currentIndex: number,
7
+ fallbackProgress: number,
8
+ currentRouteKey: string | undefined,
9
+ currentProgress: number,
10
+ nextRouteKey: string | undefined,
11
+ nextProgress: number | undefined,
12
+ ) => {
13
+ "worklet";
14
+ if (currentIndex < 0) return fallbackProgress;
15
+
16
+ let total = 0;
17
+ for (let i = currentIndex; i < effectiveProgressValues.length; i++) {
18
+ const routeKey = routeKeys[i];
19
+ if (routeKey === currentRouteKey) {
20
+ total += currentProgress;
21
+ } else if (routeKey === nextRouteKey && nextProgress !== undefined) {
22
+ total += nextProgress;
23
+ } else {
24
+ total += effectiveProgressValues[i].get();
25
+ }
26
+ }
27
+
28
+ return total;
29
+ };