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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/lib/commonjs/shared/animation/snap-to.js +1 -1
  2. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  3. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +10 -2
  4. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
  5. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +2 -2
  6. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
  7. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +1 -1
  8. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  9. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +9 -6
  10. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  11. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +2 -2
  12. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  13. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +1 -1
  14. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  15. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -2
  16. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  17. package/lib/commonjs/shared/configs/presets.js +5 -8
  18. package/lib/commonjs/shared/configs/presets.js.map +1 -1
  19. package/lib/commonjs/shared/constants.js +18 -2
  20. package/lib/commonjs/shared/constants.js.map +1 -1
  21. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -8
  22. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  23. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +26 -31
  24. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  25. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +29 -4
  26. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  27. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +3 -3
  28. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  29. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +3 -3
  30. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  31. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -2
  32. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  33. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +6 -7
  34. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +3 -7
  36. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
  37. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -1
  38. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  39. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +7 -4
  40. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  41. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +20 -36
  42. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js +12 -21
  44. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js +40 -39
  46. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +11 -21
  48. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +4 -11
  50. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +12 -10
  52. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +13 -10
  54. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js +15 -11
  56. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +28 -23
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +3 -3
  60. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  61. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +4 -11
  62. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
  63. package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +12 -10
  64. package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -1
  65. package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +3 -10
  66. package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -1
  67. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js +23 -23
  68. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js.map +1 -1
  69. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +0 -11
  70. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  71. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +17 -10
  72. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -1
  73. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +6 -7
  74. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
  75. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js +32 -0
  76. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js.map +1 -0
  77. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js +65 -0
  78. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js.map +1 -0
  79. package/lib/commonjs/shared/providers/screen/gestures/types.js +1 -1
  80. package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
  81. package/lib/commonjs/shared/providers/screen/options/helpers.js +1 -19
  82. package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
  83. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +8 -8
  84. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  85. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -2
  86. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  87. package/lib/commonjs/shared/stores/animation.store.js +6 -6
  88. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  89. package/lib/commonjs/shared/stores/gesture.store.js +56 -0
  90. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  91. package/lib/commonjs/shared/types/gesture.types.js +6 -0
  92. package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
  93. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +3 -3
  94. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  95. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +1 -1
  96. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  97. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +39 -34
  98. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  99. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +37 -28
  100. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  101. package/lib/module/shared/animation/snap-to.js +1 -1
  102. package/lib/module/shared/animation/snap-to.js.map +1 -1
  103. package/lib/module/shared/components/activity/variants/activity-screen.js +10 -2
  104. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
  105. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +2 -2
  106. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
  107. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +1 -1
  108. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  109. package/lib/module/shared/components/overlay/variations/float-overlay.js +9 -6
  110. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  111. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +2 -2
  112. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  113. package/lib/module/shared/components/screen-container/layers/backdrop.js +1 -1
  114. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  115. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -2
  116. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  117. package/lib/module/shared/configs/presets.js +5 -8
  118. package/lib/module/shared/configs/presets.js.map +1 -1
  119. package/lib/module/shared/constants.js +17 -1
  120. package/lib/module/shared/constants.js.map +1 -1
  121. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -8
  122. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  123. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +25 -30
  124. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  125. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +30 -5
  126. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  127. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +3 -3
  128. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  129. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +3 -3
  130. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  131. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +2 -2
  132. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  133. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +6 -7
  134. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  135. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +3 -7
  136. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
  137. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js +1 -1
  138. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  139. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +7 -4
  140. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  141. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +20 -36
  142. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  143. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js +12 -21
  144. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  145. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js +42 -41
  146. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
  147. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +11 -21
  148. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  149. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +4 -11
  150. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  151. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +12 -10
  152. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  153. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +13 -10
  154. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  155. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js +16 -12
  156. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  157. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +30 -25
  158. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
  159. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +3 -3
  160. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  161. package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +4 -11
  162. package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
  163. package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +12 -10
  164. package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -1
  165. package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +3 -10
  166. package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -1
  167. package/lib/module/shared/providers/screen/gestures/shared/physics.js +21 -22
  168. package/lib/module/shared/providers/screen/gestures/shared/physics.js.map +1 -1
  169. package/lib/module/shared/providers/screen/gestures/shared/policy.js +1 -12
  170. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  171. package/lib/module/shared/providers/screen/gestures/shared/reset.js +17 -8
  172. package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -1
  173. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +6 -7
  174. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
  175. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js +27 -0
  176. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js.map +1 -0
  177. package/lib/module/shared/providers/screen/gestures/shared/values.js +54 -0
  178. package/lib/module/shared/providers/screen/gestures/shared/values.js.map +1 -0
  179. package/lib/module/shared/providers/screen/gestures/types.js +1 -1
  180. package/lib/module/shared/providers/screen/gestures/types.js.map +1 -1
  181. package/lib/module/shared/providers/screen/options/helpers.js +2 -20
  182. package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
  183. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +8 -8
  184. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  185. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -2
  186. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  187. package/lib/module/shared/stores/animation.store.js +6 -6
  188. package/lib/module/shared/stores/animation.store.js.map +1 -1
  189. package/lib/module/shared/stores/gesture.store.js +56 -0
  190. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  191. package/lib/module/shared/types/animation.types.js.map +1 -1
  192. package/lib/module/shared/types/gesture.types.js +7 -0
  193. package/lib/module/shared/types/gesture.types.js.map +1 -1
  194. package/lib/module/shared/utils/animation/animate-to-progress.js +3 -3
  195. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  196. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +1 -1
  197. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  198. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +39 -34
  199. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  200. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +37 -28
  201. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  202. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts.map +1 -1
  203. package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts.map +1 -1
  204. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  205. package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
  206. package/lib/typescript/shared/constants.d.ts +1 -2
  207. package/lib/typescript/shared/constants.d.ts.map +1 -1
  208. package/lib/typescript/shared/index.d.ts +1 -1
  209. package/lib/typescript/shared/index.d.ts.map +1 -1
  210. package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  211. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts +7 -3
  212. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -1
  213. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  214. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +2 -2
  215. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  216. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +1 -1
  217. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
  218. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +2 -2
  219. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  220. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  221. package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -1
  222. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +3 -3
  223. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  224. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +2 -2
  225. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  226. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
  227. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts +3 -12
  228. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
  229. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +2 -2
  230. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  231. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +3 -3
  232. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
  233. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +3 -3
  234. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  235. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  236. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
  237. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
  238. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts +2 -2
  239. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  240. package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts +3 -3
  241. package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts.map +1 -1
  242. package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +3 -3
  243. package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +1 -1
  244. package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +3 -3
  245. package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +1 -1
  246. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts +3 -3
  247. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts.map +1 -1
  248. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +1 -3
  249. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  250. package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts +7 -4
  251. package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -1
  252. package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts.map +1 -1
  253. package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts +7 -0
  254. package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts.map +1 -0
  255. package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts +9 -0
  256. package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts.map +1 -0
  257. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +6 -13
  258. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  259. package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
  260. package/lib/typescript/shared/providers/screen/options/types.d.ts +0 -2
  261. package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
  262. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  263. package/lib/typescript/shared/stores/animation.store.d.ts +4 -4
  264. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  265. package/lib/typescript/shared/stores/gesture.store.d.ts +23 -0
  266. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  267. package/lib/typescript/shared/types/animation.types.d.ts +8 -0
  268. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  269. package/lib/typescript/shared/types/bounds.types.d.ts +12 -8
  270. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  271. package/lib/typescript/shared/types/gesture.types.d.ts +47 -13
  272. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  273. package/lib/typescript/shared/types/index.d.ts +1 -1
  274. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  275. package/lib/typescript/shared/types/screen.types.d.ts +25 -8
  276. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  277. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  278. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  279. package/lib/typescript/shared/utils/bounds/types/options.d.ts +8 -0
  280. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  281. package/package.json +1 -1
  282. package/src/shared/animation/snap-to.ts +1 -1
  283. package/src/shared/components/activity/variants/activity-screen.tsx +8 -2
  284. package/src/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.ts +5 -2
  285. package/src/shared/components/create-boundary-component/hooks/use-refresh-boundary.ts +4 -1
  286. package/src/shared/components/overlay/variations/float-overlay.tsx +11 -5
  287. package/src/shared/components/screen-container/hooks/use-content-layout.ts +2 -2
  288. package/src/shared/components/screen-container/layers/backdrop.tsx +1 -1
  289. package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +2 -2
  290. package/src/shared/configs/presets.ts +6 -8
  291. package/src/shared/constants.ts +16 -6
  292. package/src/shared/index.ts +2 -0
  293. package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +2 -17
  294. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +54 -53
  295. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +72 -8
  296. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +2 -2
  297. package/src/shared/providers/screen/animation/helpers/pipeline.ts +3 -3
  298. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +3 -3
  299. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +4 -4
  300. package/src/shared/providers/screen/gestures/gestures.provider.tsx +7 -9
  301. package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +2 -5
  302. package/src/shared/providers/screen/gestures/pan/activation/pan-activation-decision.ts +1 -1
  303. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +9 -7
  304. package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +25 -38
  305. package/src/shared/providers/screen/gestures/pan/behavior/pan-release.ts +23 -25
  306. package/src/shared/providers/screen/gestures/pan/behavior/pan-reset.ts +45 -77
  307. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +12 -20
  308. package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +5 -11
  309. package/src/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +14 -16
  310. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +13 -9
  311. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-release.ts +31 -16
  312. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-reset.ts +32 -41
  313. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +4 -4
  314. package/src/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.ts +5 -10
  315. package/src/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +14 -13
  316. package/src/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +4 -9
  317. package/src/shared/providers/screen/gestures/shared/physics.ts +15 -32
  318. package/src/shared/providers/screen/gestures/shared/policy.ts +0 -15
  319. package/src/shared/providers/screen/gestures/shared/reset.ts +33 -11
  320. package/src/shared/providers/screen/gestures/shared/snap-points.ts +8 -7
  321. package/src/shared/providers/screen/gestures/shared/snapshot.ts +33 -0
  322. package/src/shared/providers/screen/gestures/shared/values.ts +52 -0
  323. package/src/shared/providers/screen/gestures/types.ts +4 -13
  324. package/src/shared/providers/screen/options/helpers.ts +0 -44
  325. package/src/shared/providers/screen/options/types.ts +0 -2
  326. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +8 -8
  327. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +3 -2
  328. package/src/shared/stores/animation.store.ts +8 -8
  329. package/src/shared/stores/gesture.store.ts +81 -0
  330. package/src/shared/types/animation.types.ts +9 -0
  331. package/src/shared/types/bounds.types.ts +12 -8
  332. package/src/shared/types/gesture.types.ts +48 -14
  333. package/src/shared/types/index.ts +2 -0
  334. package/src/shared/types/screen.types.ts +25 -8
  335. package/src/shared/utils/animation/animate-to-progress.ts +3 -3
  336. package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +1 -1
  337. package/src/shared/utils/bounds/navigation/reveal/build.ts +42 -46
  338. package/src/shared/utils/bounds/navigation/zoom/build.ts +36 -33
  339. package/src/shared/utils/bounds/types/options.ts +9 -0
  340. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +0 -32
  341. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +0 -1
  342. package/lib/commonjs/shared/utils/gesture-progress-mode.js +0 -50
  343. package/lib/commonjs/shared/utils/gesture-progress-mode.js.map +0 -1
  344. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +0 -27
  345. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +0 -1
  346. package/lib/module/shared/utils/gesture-progress-mode.js +0 -42
  347. package/lib/module/shared/utils/gesture-progress-mode.js.map +0 -1
  348. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts +0 -21
  349. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts.map +0 -1
  350. package/lib/typescript/shared/utils/gesture-progress-mode.d.ts +0 -14
  351. package/lib/typescript/shared/utils/gesture-progress-mode.d.ts.map +0 -1
  352. package/src/shared/providers/screen/gestures/hooks/use-gesture-builder-state.ts +0 -31
  353. package/src/shared/utils/gesture-progress-mode.ts +0 -67
@@ -34,7 +34,10 @@ export const useInitialDestinationMeasurement = ({
34
34
  ancestorScreenKeys,
35
35
  measureBoundary,
36
36
  }: UseInitialDestinationMeasurementParams) => {
37
- const progress = AnimationStore.getValue(currentScreenKey, "progress");
37
+ const transitionProgress = AnimationStore.getValue(
38
+ currentScreenKey,
39
+ "transitionProgress",
40
+ );
38
41
  const system = SystemStore.getBag(currentScreenKey);
39
42
  const { pendingLifecycleRequestKind } = system;
40
43
  const { blockLifecycleStart, unblockLifecycleStart } = system.actions;
@@ -83,7 +86,7 @@ export const useInitialDestinationMeasurement = ({
83
86
  pendingLifecycleRequestKind.get() ===
84
87
  LifecycleTransitionRequestKind.Open;
85
88
 
86
- const isWaitingForOpenToStart = progress.get() <= 0;
89
+ const isWaitingForOpenToStart = transitionProgress.get() <= 0;
87
90
 
88
91
  if (!hasPendingOpenRequest || !isWaitingForOpenToStart) {
89
92
  return [0, retryTick] as const;
@@ -38,7 +38,10 @@ export const useRefreshBoundary = ({
38
38
  refreshScreenKey,
39
39
  "progressAnimating",
40
40
  );
41
- const refreshProgress = AnimationStore.getValue(refreshScreenKey, "progress");
41
+ const refreshProgress = AnimationStore.getValue(
42
+ refreshScreenKey,
43
+ "transitionProgress",
44
+ );
42
45
 
43
46
  useAnimatedReaction(
44
47
  () => {
@@ -4,6 +4,7 @@ import { useStack } from "../../../hooks/navigation/use-stack";
4
4
  import { ScreenAnimationProvider } from "../../../providers/screen/animation";
5
5
  import type { BaseDescriptor } from "../../../providers/screen/descriptors";
6
6
  import { DescriptorsProvider } from "../../../providers/screen/descriptors";
7
+ import { ScreenOptionsProvider } from "../../../providers/screen/options";
7
8
  import { ScreenStylesProvider } from "../../../providers/screen/styles";
8
9
  import type { OverlayScreenState } from "../../../types/overlay.types";
9
10
 
@@ -64,11 +65,16 @@ export function FloatOverlay() {
64
65
 
65
66
  return (
66
67
  <DescriptorsProvider current={current} previous={previous} next={next}>
67
- <ScreenAnimationProvider>
68
- <ScreenStylesProvider isFloatingOverlay>
69
- <OverlayHost scene={scene} overlayScreenState={overlayScreenState} />
70
- </ScreenStylesProvider>
71
- </ScreenAnimationProvider>
68
+ <ScreenOptionsProvider>
69
+ <ScreenAnimationProvider>
70
+ <ScreenStylesProvider isFloatingOverlay>
71
+ <OverlayHost
72
+ scene={scene}
73
+ overlayScreenState={overlayScreenState}
74
+ />
75
+ </ScreenStylesProvider>
76
+ </ScreenAnimationProvider>
77
+ </ScreenOptionsProvider>
72
78
  </DescriptorsProvider>
73
79
  );
74
80
  }
@@ -45,7 +45,7 @@ export function useContentLayout() {
45
45
 
46
46
  if (
47
47
  !isFirstMeasurement ||
48
- animations.progress.get() !== 0 ||
48
+ animations.transitionProgress.get() !== 0 ||
49
49
  animations.progressAnimating.get() !== 0
50
50
  ) {
51
51
  return;
@@ -53,7 +53,7 @@ export function useContentLayout() {
53
53
 
54
54
  if (isFirstKey && !experimental_animateOnInitialMount) {
55
55
  targetProgress.set(nextFraction);
56
- animations.progress.set(nextFraction);
56
+ animations.transitionProgress.set(nextFraction);
57
57
  return;
58
58
  }
59
59
 
@@ -76,7 +76,7 @@ export const BackdropLayer = memo(function BackdropLayer({
76
76
  }
77
77
 
78
78
  const { target, shouldDismiss } = findCollapseTarget(
79
- animations.progress.get(),
79
+ animations.transitionProgress.get(),
80
80
  resolvedSnaps,
81
81
  canDismiss,
82
82
  );
@@ -60,11 +60,11 @@ export function useOpenTransitionIntent(
60
60
  if (isFirstKey && !experimental_animateOnInitialMount) {
61
61
  if (initialProgress === "auto") {
62
62
  system.targetProgress.set(0);
63
- animations.progress.set(0);
63
+ animations.transitionProgress.set(0);
64
64
  } else {
65
65
  const target = initialProgress ?? 1;
66
66
  system.targetProgress.set(target);
67
- animations.progress.set(target);
67
+ animations.transitionProgress.set(target);
68
68
  }
69
69
  animations.progressAnimating.set(0);
70
70
  animations.closing.set(0);
@@ -246,7 +246,6 @@ export const SharedIGImage = ({
246
246
  gestureEnabled: true,
247
247
  gestureDirection: ["vertical", "horizontal"],
248
248
  enableTransitions: true,
249
- gestureProgressMode: "freeform",
250
249
  screenStyleInterpolator: ({
251
250
  current,
252
251
  layouts: {
@@ -259,8 +258,8 @@ export const SharedIGImage = ({
259
258
  }) => {
260
259
  "worklet";
261
260
 
262
- const normX = active.gesture.normX;
263
- const normY = active.gesture.normY;
261
+ const normX = active.gesture.handoff.normX;
262
+ const normY = active.gesture.handoff.normY;
264
263
 
265
264
  const dragX = interpolate(
266
265
  normX,
@@ -394,7 +393,6 @@ export const SharedAppleMusic = ({
394
393
  enableTransitions: true,
395
394
  gestureEnabled: true,
396
395
  gestureDirection: ["vertical", "horizontal"],
397
- gestureProgressMode: "freeform",
398
396
  screenStyleInterpolator: ({
399
397
  bounds,
400
398
  focused,
@@ -405,9 +403,10 @@ export const SharedAppleMusic = ({
405
403
  }) => {
406
404
  "worklet";
407
405
 
408
- const normX = active.gesture.normX;
409
- const normY = active.gesture.normY;
410
- const initialGesture = active.gesture.active ?? active.gesture.direction;
406
+ const normX = active.gesture.handoff.normX;
407
+ const normY = active.gesture.handoff.normY;
408
+ const initialGesture =
409
+ active.gesture.handoff.active ?? active.gesture.handoff.direction;
411
410
 
412
411
  /**
413
412
  * ===============================
@@ -608,7 +607,6 @@ export const SharedXImage = ({
608
607
  enableTransitions: true,
609
608
  gestureEnabled: true,
610
609
  gestureDirection: ["vertical", "vertical-inverted"],
611
- gestureProgressMode: "freeform",
612
610
  screenStyleInterpolator: ({
613
611
  focused,
614
612
  bounds,
@@ -5,10 +5,7 @@ import type {
5
5
  ScreenTransitionOptions,
6
6
  ScreenTransitionState,
7
7
  } from "./types/animation.types";
8
- import type {
9
- ActivationArea,
10
- GestureProgressMode,
11
- } from "./types/gesture.types";
8
+ import type { ActivationArea } from "./types/gesture.types";
12
9
  import type {
13
10
  GestureTracking,
14
11
  Layout,
@@ -57,6 +54,15 @@ const DEFAULT_GESTURE_VALUES = {
57
54
  focalX: 0,
58
55
  focalY: 0,
59
56
  raw: DEFAULT_RAW_GESTURE_VALUES,
57
+ handoff: {
58
+ ...DEFAULT_RAW_GESTURE_VALUES,
59
+ velocity: 0,
60
+ focalX: 0,
61
+ focalY: 0,
62
+ raw: DEFAULT_RAW_GESTURE_VALUES,
63
+ active: null,
64
+ direction: null,
65
+ },
60
66
  dismissing: 0,
61
67
  dragging: 0,
62
68
  settling: 0,
@@ -73,6 +79,10 @@ const DEFAULT_GESTURE_VALUES = {
73
79
  const createDefaultGestureValues = () => ({
74
80
  ...DEFAULT_GESTURE_VALUES,
75
81
  raw: { ...DEFAULT_RAW_GESTURE_VALUES },
82
+ handoff: {
83
+ ...DEFAULT_GESTURE_VALUES.handoff,
84
+ raw: { ...DEFAULT_RAW_GESTURE_VALUES },
85
+ },
76
86
  });
77
87
 
78
88
  export const DEFAULT_SCREEN_TRANSITION_OPTIONS: ScreenTransitionOptions =
@@ -87,6 +97,7 @@ export const createScreenTransitionState = (
87
97
  options: ScreenTransitionOptions = DEFAULT_SCREEN_TRANSITION_OPTIONS,
88
98
  ): ScreenTransitionState => ({
89
99
  progress: 0,
100
+ transitionProgress: 0,
90
101
  closing: 0,
91
102
  animating: 0,
92
103
  willAnimate: 0,
@@ -113,6 +124,7 @@ export const createScreenTransitionState = (
113
124
  export const DEFAULT_SCREEN_TRANSITION_STATE: ScreenTransitionState =
114
125
  Object.freeze({
115
126
  progress: 0,
127
+ transitionProgress: 0,
116
128
  closing: 0,
117
129
  animating: 0,
118
130
  willAnimate: 0,
@@ -167,8 +179,6 @@ export const DEFAULT_GESTURE_SENSITIVITY = 1;
167
179
  export const DEFAULT_GESTURE_RELEASE_VELOCITY_SCALE = 1;
168
180
  export const DEFAULT_GESTURE_DIRECTION = "horizontal";
169
181
  export const DEFAULT_GESTURE_TRACKING: GestureTracking = "auto";
170
- export const DEFAULT_GESTURE_PROGRESS_MODE: GestureProgressMode =
171
- "progress-driven";
172
182
  export const DEFAULT_GESTURE_SNAP_LOCKED = false;
173
183
  export const DEFAULT_GESTURE_ACTIVATION_AREA: ActivationArea = "screen";
174
184
  export const DEFAULT_SHEET_SCROLL_GESTURE_BEHAVIOR: SheetScrollGestureBehavior =
@@ -57,8 +57,10 @@ export type {
57
57
  BoundsNavigationZoomOpacityRanges,
58
58
  BoundsNavigationZoomOptions,
59
59
  BoundsNavigationZoomStyle,
60
+ GestureHandoffValues,
60
61
  InactiveBehavior,
61
62
  OverlayProps,
63
+ RawGestureValues,
62
64
  ScreenInterpolationProps,
63
65
  ScreenStyleInterpolator,
64
66
  ScreenTransitionAccessor,
@@ -2,10 +2,6 @@ import type {
2
2
  ScreenTransitionConfig,
3
3
  ScreenTransitionOptions,
4
4
  } from "../../../../types";
5
- import {
6
- gestureProgressModeDrivesProgress,
7
- resolveGestureProgressMode,
8
- } from "../../../../utils/gesture-progress-mode";
9
5
  import { resolveSheetScrollGestureBehavior } from "../../../../utils/resolve-screen-transition-options";
10
6
 
11
7
  export const buildScreenTransitionOptions = (
@@ -14,15 +10,6 @@ export const buildScreenTransitionOptions = (
14
10
  const hasSheetScrollGestureBehavior =
15
11
  options.sheetScrollGestureBehavior !== undefined ||
16
12
  options.expandViaScrollView !== undefined;
17
- const hasGestureProgressMode =
18
- options.gestureProgressMode !== undefined ||
19
- options.gestureDrivesProgress !== undefined;
20
- const gestureProgressMode = hasGestureProgressMode
21
- ? resolveGestureProgressMode({
22
- gestureProgressMode: options.gestureProgressMode,
23
- gestureDrivesProgress: options.gestureDrivesProgress,
24
- })
25
- : undefined;
26
13
 
27
14
  return {
28
15
  navigationMaskEnabled: options.navigationMaskEnabled,
@@ -34,10 +21,8 @@ export const buildScreenTransitionOptions = (
34
21
  gestureSnapVelocityImpact: options.gestureSnapVelocityImpact,
35
22
  gestureReleaseVelocityScale: options.gestureReleaseVelocityScale,
36
23
  gestureResponseDistance: options.gestureResponseDistance,
37
- gestureProgressMode,
38
- gestureDrivesProgress: gestureProgressMode
39
- ? gestureProgressModeDrivesProgress(gestureProgressMode)
40
- : undefined,
24
+ gestureProgressMode: options.gestureProgressMode,
25
+ gestureDrivesProgress: options.gestureDrivesProgress,
41
26
  gestureActivationArea: options.gestureActivationArea,
42
27
  gestureSnapLocked: options.gestureSnapLocked,
43
28
  sheetScrollGestureBehavior: hasSheetScrollGestureBehavior
@@ -1,15 +1,9 @@
1
1
  import { clamp } from "react-native-reanimated";
2
- import {
3
- DEFAULT_GESTURE_DIRECTION,
4
- DEFAULT_GESTURE_PROGRESS_MODE,
5
- EPSILON,
6
- } from "../../../../../constants";
7
- import type { ScreenTransitionOptions } from "../../../../../types/animation.types";
2
+ import { DEFAULT_GESTURE_DIRECTION, EPSILON } from "../../../../../constants";
8
3
  import type {
9
4
  GestureDirectionOption,
10
5
  GestureValues,
11
6
  } from "../../../../../types/gesture.types";
12
- import { resolveGestureProgressModeFromOptions } from "../../../../../utils/gesture-progress-mode";
13
7
  import {
14
8
  getPanActivationDirections,
15
9
  getPanSnapAxisConfigForDirection,
@@ -20,9 +14,15 @@ import {
20
14
  } from "../../../gestures/shared/directions";
21
15
  import type { SnapBounds } from "./types";
22
16
 
23
- const resolvePanGestureDrivenProgress = (
24
- baseProgress: number,
17
+ type PanProgressDelta = {
18
+ x: number;
19
+ y: number;
20
+ };
21
+
22
+ const resolvePanGestureAffectedProgress = (
23
+ transitionProgress: number,
25
24
  gesture: GestureValues,
25
+ progressDelta: PanProgressDelta,
26
26
  gestureDirection: GestureDirectionOption,
27
27
  hasSnapPoints: boolean,
28
28
  snapBounds: SnapBounds | null,
@@ -39,14 +39,18 @@ const resolvePanGestureDrivenProgress = (
39
39
  : null;
40
40
 
41
41
  if (!activeAxis || !snapBounds) {
42
- return baseProgress;
42
+ return transitionProgress;
43
43
  }
44
44
 
45
45
  const axisValue =
46
- activeAxis.axis === "horizontal" ? gesture.normX : gesture.normY;
47
- const progressDelta = activeAxis.config.progressSign * axisValue;
46
+ activeAxis.axis === "horizontal" ? progressDelta.x : progressDelta.y;
47
+ const signedProgressDelta = activeAxis.config.progressSign * axisValue;
48
48
 
49
- return clamp(baseProgress + progressDelta, snapBounds.min, snapBounds.max);
49
+ return clamp(
50
+ transitionProgress + signedProgressDelta,
51
+ snapBounds.min,
52
+ snapBounds.max,
53
+ );
50
54
  }
51
55
 
52
56
  const directions = getPanActivationDirections({
@@ -55,27 +59,27 @@ const resolvePanGestureDrivenProgress = (
55
59
  });
56
60
  let progressOffset = 0;
57
61
 
58
- if (directions.horizontal && gesture.normX > 0) {
59
- progressOffset = Math.max(progressOffset, gesture.normX);
62
+ if (directions.horizontal && progressDelta.x > 0) {
63
+ progressOffset = Math.max(progressOffset, progressDelta.x);
60
64
  }
61
65
 
62
- if (directions.horizontalInverted && gesture.normX < 0) {
63
- progressOffset = Math.max(progressOffset, -gesture.normX);
66
+ if (directions.horizontalInverted && progressDelta.x < 0) {
67
+ progressOffset = Math.max(progressOffset, -progressDelta.x);
64
68
  }
65
69
 
66
- if (directions.vertical && gesture.normY > 0) {
67
- progressOffset = Math.max(progressOffset, gesture.normY);
70
+ if (directions.vertical && progressDelta.y > 0) {
71
+ progressOffset = Math.max(progressOffset, progressDelta.y);
68
72
  }
69
73
 
70
- if (directions.verticalInverted && gesture.normY < 0) {
71
- progressOffset = Math.max(progressOffset, -gesture.normY);
74
+ if (directions.verticalInverted && progressDelta.y < 0) {
75
+ progressOffset = Math.max(progressOffset, -progressDelta.y);
72
76
  }
73
77
 
74
- return clamp(baseProgress - progressOffset, 0, baseProgress);
78
+ return clamp(transitionProgress - progressOffset, 0, transitionProgress);
75
79
  };
76
80
 
77
- const resolvePinchGestureDrivenProgress = (
78
- baseProgress: number,
81
+ const resolvePinchGestureAffectedProgress = (
82
+ transitionProgress: number,
79
83
  gesture: GestureValues,
80
84
  gestureDirection: GestureDirectionOption,
81
85
  hasSnapPoints: boolean,
@@ -90,13 +94,13 @@ const resolvePinchGestureDrivenProgress = (
90
94
  : null;
91
95
 
92
96
  if (!pinchDirection) {
93
- return baseProgress;
97
+ return transitionProgress;
94
98
  }
95
99
 
96
100
  if (hasSnapPoints) {
97
101
  const snapDirections = getSnapPinchDirectionConfig(gestureDirection);
98
102
  if (!snapDirections || !snapBounds) {
99
- return baseProgress;
103
+ return transitionProgress;
100
104
  }
101
105
 
102
106
  const progressDelta =
@@ -104,39 +108,35 @@ const resolvePinchGestureDrivenProgress = (
104
108
  ? -Math.abs(gesture.normScale)
105
109
  : Math.abs(gesture.normScale);
106
110
 
107
- return clamp(baseProgress + progressDelta, snapBounds.min, snapBounds.max);
111
+ return clamp(
112
+ transitionProgress + progressDelta,
113
+ snapBounds.min,
114
+ snapBounds.max,
115
+ );
108
116
  }
109
117
 
110
118
  const pinchDirections = getPinchGestureDirections(gestureDirection);
111
119
  if (!pinchDirections.includes(pinchDirection)) {
112
- return baseProgress;
120
+ return transitionProgress;
113
121
  }
114
122
 
115
- return clamp(baseProgress - Math.abs(gesture.normScale), 0, baseProgress);
123
+ return clamp(
124
+ transitionProgress - Math.abs(gesture.normScale),
125
+ 0,
126
+ transitionProgress,
127
+ );
116
128
  };
117
129
 
118
- export const resolveGestureDrivenProgress = (
119
- baseProgress: number,
130
+ export const resolveGestureAffectedProgress = (
131
+ transitionProgress: number,
120
132
  gesture: GestureValues,
121
- options: ScreenTransitionOptions,
122
- effectiveOptions: ScreenTransitionOptions | undefined,
133
+ panProgressDelta: PanProgressDelta,
134
+ gestureDirection: GestureDirectionOption | undefined,
123
135
  snapBounds: SnapBounds | null,
124
136
  ) => {
125
137
  "worklet";
126
- const gestureProgressMode = resolveGestureProgressModeFromOptions(
127
- effectiveOptions,
128
- options,
129
- DEFAULT_GESTURE_PROGRESS_MODE,
130
- );
131
-
132
- if (gestureProgressMode === "freeform") {
133
- return baseProgress;
134
- }
135
-
136
- const gestureDirection =
137
- effectiveOptions?.gestureDirection ??
138
- options.gestureDirection ??
139
- DEFAULT_GESTURE_DIRECTION;
138
+ const resolvedGestureDirection =
139
+ gestureDirection ?? DEFAULT_GESTURE_DIRECTION;
140
140
 
141
141
  const hasSnapPoints = snapBounds !== null;
142
142
 
@@ -145,19 +145,20 @@ export const resolveGestureDrivenProgress = (
145
145
  gesture.active === "pinch-out" ||
146
146
  Math.abs(gesture.normScale) > EPSILON
147
147
  ) {
148
- return resolvePinchGestureDrivenProgress(
149
- baseProgress,
148
+ return resolvePinchGestureAffectedProgress(
149
+ transitionProgress,
150
150
  gesture,
151
- gestureDirection,
151
+ resolvedGestureDirection,
152
152
  hasSnapPoints,
153
153
  snapBounds,
154
154
  );
155
155
  }
156
156
 
157
- return resolvePanGestureDrivenProgress(
158
- baseProgress,
157
+ return resolvePanGestureAffectedProgress(
158
+ transitionProgress,
159
159
  gesture,
160
- gestureDirection,
160
+ panProgressDelta,
161
+ resolvedGestureDirection,
161
162
  hasSnapPoints,
162
163
  snapBounds,
163
164
  );
@@ -4,7 +4,7 @@ import type {
4
4
  TransitionInterpolatorOptions,
5
5
  } from "../../../../../types/animation.types";
6
6
  import type { Layout } from "../../../../../types/screen.types";
7
- import { resolveGestureDrivenProgress } from "./gesture-progress";
7
+ import { resolveGestureAffectedProgress } from "./gesture-progress";
8
8
  import {
9
9
  computeAnimatedSnapIndex,
10
10
  computeTargetSnapIndex,
@@ -58,13 +58,14 @@ export const hydrateTransitionState = (
58
58
  ) => {
59
59
  "worklet";
60
60
  const out = s.unwrapped;
61
- const baseProgress = s.progress.get();
61
+ const transitionProgress = s.transitionProgress.get();
62
62
  const options = mergeTransitionOptions(
63
63
  s.options,
64
64
  effectiveOptions,
65
65
  s.optionsSlot,
66
66
  );
67
67
  const canDismiss = options.gestureEnabled !== false;
68
+ out.transitionProgress = transitionProgress;
68
69
  out.willAnimate = s.willAnimate.get();
69
70
  out.closing = s.closing.get();
70
71
  out.entering = s.entering.get();
@@ -90,11 +91,74 @@ export const hydrateTransitionState = (
90
91
  out.gesture.settling = s.gesture.settling.get();
91
92
  out.gesture.active = s.gesture.active.get();
92
93
  out.gesture.direction = s.gesture.direction.get();
93
- out.progress = resolveGestureDrivenProgress(
94
- baseProgress,
94
+ const handoff = out.gesture.handoff;
95
+ const useHandoffSnapshot = out.gesture.dismissing;
96
+
97
+ handoff.x = useHandoffSnapshot
98
+ ? s.gesture.internal.snapshot.x.get()
99
+ : out.gesture.x;
100
+ handoff.y = useHandoffSnapshot
101
+ ? s.gesture.internal.snapshot.y.get()
102
+ : out.gesture.y;
103
+ handoff.normX = useHandoffSnapshot
104
+ ? s.gesture.internal.snapshot.normX.get()
105
+ : out.gesture.normX;
106
+ handoff.normY = useHandoffSnapshot
107
+ ? s.gesture.internal.snapshot.normY.get()
108
+ : out.gesture.normY;
109
+ handoff.velocity = useHandoffSnapshot
110
+ ? s.gesture.internal.snapshot.velocity.get()
111
+ : out.gesture.velocity;
112
+ handoff.scale = useHandoffSnapshot
113
+ ? s.gesture.internal.snapshot.scale.get()
114
+ : out.gesture.scale;
115
+ handoff.normScale = useHandoffSnapshot
116
+ ? s.gesture.internal.snapshot.normScale.get()
117
+ : out.gesture.normScale;
118
+ handoff.focalX = useHandoffSnapshot
119
+ ? s.gesture.internal.snapshot.focalX.get()
120
+ : out.gesture.focalX;
121
+ handoff.focalY = useHandoffSnapshot
122
+ ? s.gesture.internal.snapshot.focalY.get()
123
+ : out.gesture.focalY;
124
+ handoff.rotation = useHandoffSnapshot
125
+ ? s.gesture.internal.snapshot.rotation.get()
126
+ : out.gesture.rotation;
127
+ handoff.raw.x = useHandoffSnapshot
128
+ ? s.gesture.internal.snapshot.raw.x.get()
129
+ : out.gesture.raw.x;
130
+ handoff.raw.y = useHandoffSnapshot
131
+ ? s.gesture.internal.snapshot.raw.y.get()
132
+ : out.gesture.raw.y;
133
+ handoff.raw.normX = useHandoffSnapshot
134
+ ? s.gesture.internal.snapshot.raw.normX.get()
135
+ : out.gesture.raw.normX;
136
+ handoff.raw.normY = useHandoffSnapshot
137
+ ? s.gesture.internal.snapshot.raw.normY.get()
138
+ : out.gesture.raw.normY;
139
+ handoff.raw.scale = useHandoffSnapshot
140
+ ? s.gesture.internal.snapshot.raw.scale.get()
141
+ : out.gesture.raw.scale;
142
+ handoff.raw.normScale = useHandoffSnapshot
143
+ ? s.gesture.internal.snapshot.raw.normScale.get()
144
+ : out.gesture.raw.normScale;
145
+ handoff.raw.rotation = useHandoffSnapshot
146
+ ? s.gesture.internal.snapshot.raw.rotation.get()
147
+ : out.gesture.raw.rotation;
148
+ handoff.active = useHandoffSnapshot
149
+ ? s.gesture.internal.snapshot.active.get()
150
+ : out.gesture.active;
151
+ handoff.direction = useHandoffSnapshot
152
+ ? s.gesture.internal.snapshot.direction.get()
153
+ : out.gesture.direction;
154
+ out.progress = resolveGestureAffectedProgress(
155
+ transitionProgress,
95
156
  out.gesture,
96
- s.options,
97
- effectiveOptions,
157
+ {
158
+ x: s.gesture.internal.progressDeltaX.get(),
159
+ y: s.gesture.internal.progressDeltaY.get(),
160
+ },
161
+ effectiveOptions?.gestureDirection ?? s.options.gestureDirection,
98
162
  getResolvedSnapBounds(
99
163
  s.sortedNumericSnapPoints,
100
164
  s.hasAutoSnapPoint ? s.resolvedAutoSnapPoint.get() : null,
@@ -104,8 +168,8 @@ export const hydrateTransitionState = (
104
168
 
105
169
  // Unsure where else to place this if im being honest.
106
170
  // I think for here is fine
107
- if (s.effectiveProgress.get() !== out.progress) {
108
- s.effectiveProgress.set(out.progress);
171
+ if (s.visualProgress.get() !== out.progress) {
172
+ s.visualProgress.set(out.progress);
109
173
  }
110
174
 
111
175
  const hasResidualGestureValues =
@@ -9,8 +9,8 @@ import type { Layout } from "../../../../../types/screen.types";
9
9
  import type { BaseStackRoute } from "../../../../../types/stack.types";
10
10
 
11
11
  export type BuiltState = {
12
- progress: SharedValue<number>;
13
- effectiveProgress: SharedValue<number>;
12
+ transitionProgress: SharedValue<number>;
13
+ visualProgress: SharedValue<number>;
14
14
  willAnimate: SharedValue<number>;
15
15
  closing: SharedValue<number>;
16
16
  progressAnimating: SharedValue<number>;
@@ -78,9 +78,9 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
78
78
 
79
79
  const currentRouteKey = currDescriptor?.route?.key;
80
80
  const currentIndex = routeKeys.indexOf(currentRouteKey);
81
- const effectiveProgressValues = useMemo(() => {
81
+ const visualProgressValues = useMemo(() => {
82
82
  return routeKeys.map((routeKey) =>
83
- AnimationStore.getValue(routeKey, "effectiveProgress"),
83
+ AnimationStore.getValue(routeKey, "visualProgress"),
84
84
  );
85
85
  }, [routeKeys]);
86
86
 
@@ -143,7 +143,7 @@ export function useScreenAnimationPipeline(): ScreenAnimationPipeline {
143
143
 
144
144
  frame.stackProgress = deriveStackProgress(
145
145
  routeKeys,
146
- effectiveProgressValues,
146
+ visualProgressValues,
147
147
  currentIndex,
148
148
  frame.progress,
149
149
  currentRouteKey,
@@ -2,7 +2,7 @@ import type { SharedValue } from "react-native-reanimated";
2
2
 
3
3
  export const deriveStackProgress = (
4
4
  routeKeys: string[],
5
- effectiveProgressValues: SharedValue<number>[],
5
+ visualProgressValues: SharedValue<number>[],
6
6
  currentIndex: number,
7
7
  fallbackProgress: number,
8
8
  currentRouteKey: string | undefined,
@@ -14,14 +14,14 @@ export const deriveStackProgress = (
14
14
  if (currentIndex < 0) return fallbackProgress;
15
15
 
16
16
  let total = 0;
17
- for (let i = currentIndex; i < effectiveProgressValues.length; i++) {
17
+ for (let i = currentIndex; i < visualProgressValues.length; i++) {
18
18
  const routeKey = routeKeys[i];
19
19
  if (routeKey === currentRouteKey) {
20
20
  total += currentProgress;
21
21
  } else if (routeKey === nextRouteKey && nextProgress !== undefined) {
22
22
  total += nextProgress;
23
23
  } else {
24
- total += effectiveProgressValues[i].get();
24
+ total += visualProgressValues[i].get();
25
25
  }
26
26
  }
27
27
 
@@ -20,8 +20,8 @@ import { buildScreenTransitionOptions } from "./build-screen-transition-options"
20
20
  import { toPlainRoute, toPlainValue } from "./worklet";
21
21
 
22
22
  type BuiltState = {
23
- progress: SharedValue<number>;
24
- effectiveProgress: SharedValue<number>;
23
+ transitionProgress: SharedValue<number>;
24
+ visualProgress: SharedValue<number>;
25
25
  willAnimate: SharedValue<number>;
26
26
  closing: SharedValue<number>;
27
27
  progressAnimating: SharedValue<number>;
@@ -65,8 +65,8 @@ export const useBuildTransitionState = (
65
65
  const transitionOptions = buildScreenTransitionOptions(descriptor.options);
66
66
 
67
67
  return {
68
- progress: AnimationStore.getValue(key, "progress"),
69
- effectiveProgress: AnimationStore.getValue(key, "effectiveProgress"),
68
+ transitionProgress: AnimationStore.getValue(key, "transitionProgress"),
69
+ visualProgress: AnimationStore.getValue(key, "visualProgress"),
70
70
  willAnimate: AnimationStore.getValue(key, "willAnimate"),
71
71
  closing: AnimationStore.getValue(key, "closing"),
72
72
  entering: AnimationStore.getValue(key, "entering"),