react-native-screen-transitions 3.7.0 → 3.8.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. package/lib/commonjs/blank-stack/components/stack-view.js +2 -2
  2. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  3. package/lib/commonjs/component-stack/components/stack-view.js +2 -2
  4. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -10
  6. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  7. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +1 -3
  8. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  9. package/lib/commonjs/shared/components/scene-view.js +1 -1
  10. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +7 -7
  11. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  12. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -2
  13. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  14. package/lib/commonjs/shared/components/screen-lifecycle/index.js +2 -2
  15. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  16. package/lib/commonjs/shared/constants.js +3 -13
  17. package/lib/commonjs/shared/constants.js.map +1 -1
  18. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +1 -3
  19. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  20. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  21. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +15 -12
  22. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  23. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
  24. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  25. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  26. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +6 -23
  27. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  28. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -1
  29. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  30. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js +14 -1
  31. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  32. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +1 -1
  33. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  34. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +21 -8
  35. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  36. package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +2 -1
  37. package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
  38. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation-decision.js → activation/pan-activation-decision.js} +5 -5
  39. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -0
  40. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation-rules.js → activation/pan-activation-rules.js} +12 -9
  41. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -0
  42. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-activation.js → activation/use-pan-activation.js} +15 -10
  43. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -0
  44. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-lifecycle.js → behavior/pan-lifecycle.js} +29 -8
  45. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -0
  46. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-release.js → behavior/pan-release.js} +5 -5
  47. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -0
  48. package/lib/commonjs/shared/providers/screen/gestures/pan/{pan-reset.js → behavior/pan-reset.js} +21 -11
  49. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -0
  50. package/lib/commonjs/shared/providers/screen/gestures/pan/{use-pan-behavior.js → behavior/use-pan-behavior.js} +34 -8
  51. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -0
  52. package/lib/commonjs/shared/providers/screen/gestures/pan/{build-pan-gesture.js → use-build-pan-gesture.js} +10 -8
  53. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -0
  54. package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-activation.js → activation/use-pinch-activation.js} +12 -5
  55. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -0
  56. package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-lifecycle.js → behavior/pinch-lifecycle.js} +7 -7
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -0
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-release.js → behavior/pinch-release.js} +4 -4
  59. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -0
  60. package/lib/commonjs/shared/providers/screen/gestures/pinch/{pinch-reset.js → behavior/pinch-reset.js} +6 -3
  61. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -0
  62. package/lib/commonjs/shared/providers/screen/gestures/pinch/{use-pinch-behavior.js → behavior/use-pinch-behavior.js} +6 -5
  63. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -0
  64. package/lib/commonjs/shared/providers/screen/gestures/pinch/{build-pinch-gesture.js → use-build-pinch-gesture.js} +9 -7
  65. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -0
  66. package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +62 -0
  67. package/lib/commonjs/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -0
  68. package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +21 -0
  69. package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +1 -0
  70. package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +29 -0
  71. package/lib/commonjs/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +1 -0
  72. package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +45 -0
  73. package/lib/commonjs/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -0
  74. package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js +17 -5
  75. package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +67 -2
  77. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +3 -12
  79. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js +1 -10
  81. package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +1 -1
  83. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
  84. package/lib/commonjs/shared/providers/screen/gestures/types.js +2 -0
  85. package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -1
  86. package/lib/commonjs/shared/providers/screen/options/helpers.js +60 -24
  87. package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/styles/components/{maybe-floating-container.js → floating-overlay-layer.js} +5 -5
  89. package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js.map +1 -0
  90. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js +3 -3
  91. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +1 -1
  92. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.js → blank-stack-state/blank-stack-controller.js} +11 -11
  93. package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -0
  94. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.js → blank-stack-state/helpers/build-blank-stack-state.js} +18 -18
  95. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -0
  96. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +58 -0
  97. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -0
  98. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.js.map +1 -0
  99. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.js.map +1 -0
  100. package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.js +6 -23
  101. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.js.map +1 -0
  102. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js → blank-stack-state/helpers/reconcile-blank-stack-routes.js} +8 -8
  103. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map → blank-stack-state/helpers/reconcile-blank-stack-routes.js.map} +1 -1
  104. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.js → blank-stack-state/helpers/state-equality.js} +1 -1
  105. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -0
  106. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/types.js.map +1 -0
  107. package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.js +5 -5
  108. package/lib/commonjs/shared/providers/stack/blank-stack-state/index.js.map +1 -0
  109. package/lib/commonjs/shared/providers/stack/{managed.provider.js → blank-stack.provider.js} +20 -27
  110. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -0
  111. package/lib/commonjs/shared/providers/stack/direct.provider.js +3 -13
  112. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  113. package/lib/commonjs/shared/stores/animation.store.js +2 -0
  114. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  115. package/lib/commonjs/shared/stores/gesture.store.js +5 -1
  116. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  117. package/lib/commonjs/shared/stores/system.store.js +1 -4
  118. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  119. package/lib/commonjs/shared/types/animation.types.js.map +1 -1
  120. package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
  121. package/lib/commonjs/shared/types/providers/blank-stack-provider.types.js +6 -0
  122. package/lib/commonjs/shared/types/providers/blank-stack-provider.types.js.map +1 -0
  123. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +10 -4
  124. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  125. package/lib/commonjs/shared/utils/animation/animate.js +22 -5
  126. package/lib/commonjs/shared/utils/animation/animate.js.map +1 -1
  127. package/lib/commonjs/shared/utils/animation/spring/index.js +13 -0
  128. package/lib/commonjs/shared/utils/animation/spring/index.js.map +1 -0
  129. package/lib/commonjs/shared/utils/animation/spring/spring.js +244 -0
  130. package/lib/commonjs/shared/utils/animation/spring/spring.js.map +1 -0
  131. package/lib/commonjs/shared/{types/providers/managed-stack.types.js → utils/animation/spring/springConfigs.js} +1 -1
  132. package/lib/commonjs/shared/utils/animation/spring/springConfigs.js.map +1 -0
  133. package/lib/commonjs/shared/utils/animation/spring/springUtils.js +313 -0
  134. package/lib/commonjs/shared/utils/animation/spring/springUtils.js.map +1 -0
  135. package/lib/commonjs/shared/utils/animation/state.js +2 -0
  136. package/lib/commonjs/shared/utils/animation/state.js.map +1 -0
  137. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +5 -5
  138. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  139. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +4 -4
  140. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  141. package/lib/module/blank-stack/components/stack-view.js +2 -2
  142. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  143. package/lib/module/component-stack/components/stack-view.js +2 -2
  144. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  145. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -10
  146. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  147. package/lib/module/shared/components/overlay/variations/float-overlay.js +1 -3
  148. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  149. package/lib/module/shared/components/scene-view.js +1 -1
  150. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +7 -7
  151. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  152. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -2
  153. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  154. package/lib/module/shared/components/screen-lifecycle/index.js +2 -2
  155. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  156. package/lib/module/shared/constants.js +2 -12
  157. package/lib/module/shared/constants.js.map +1 -1
  158. package/lib/module/shared/hooks/navigation/use-screen-state.js +1 -3
  159. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  160. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  161. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +15 -12
  162. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  163. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +2 -6
  164. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  165. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  166. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +7 -24
  167. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  168. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -1
  169. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  170. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js +14 -1
  171. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  172. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +1 -1
  173. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  174. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +19 -6
  175. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  176. package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +2 -1
  177. package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -1
  178. package/lib/module/shared/providers/screen/gestures/pan/{pan-activation-decision.js → activation/pan-activation-decision.js} +5 -5
  179. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -0
  180. package/lib/module/shared/providers/screen/gestures/pan/{pan-activation-rules.js → activation/pan-activation-rules.js} +12 -9
  181. package/lib/module/shared/providers/screen/gestures/pan/activation/pan-activation-rules.js.map +1 -0
  182. package/lib/module/shared/providers/screen/gestures/pan/{pan-activation.js → activation/use-pan-activation.js} +15 -10
  183. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -0
  184. package/lib/module/shared/providers/screen/gestures/pan/{pan-lifecycle.js → behavior/pan-lifecycle.js} +29 -8
  185. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -0
  186. package/lib/module/shared/providers/screen/gestures/pan/{pan-release.js → behavior/pan-release.js} +5 -5
  187. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -0
  188. package/lib/module/shared/providers/screen/gestures/pan/{pan-reset.js → behavior/pan-reset.js} +21 -11
  189. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -0
  190. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +75 -0
  191. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -0
  192. package/lib/module/shared/providers/screen/gestures/pan/{build-pan-gesture.js → use-build-pan-gesture.js} +9 -7
  193. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -0
  194. package/lib/module/shared/providers/screen/gestures/pinch/{pinch-activation.js → activation/use-pinch-activation.js} +12 -5
  195. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -0
  196. package/lib/module/shared/providers/screen/gestures/pinch/{pinch-lifecycle.js → behavior/pinch-lifecycle.js} +7 -7
  197. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -0
  198. package/lib/module/shared/providers/screen/gestures/pinch/{pinch-release.js → behavior/pinch-release.js} +4 -4
  199. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -0
  200. package/lib/module/shared/providers/screen/gestures/pinch/{pinch-reset.js → behavior/pinch-reset.js} +6 -3
  201. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -0
  202. package/lib/module/shared/providers/screen/gestures/pinch/{use-pinch-behavior.js → behavior/use-pinch-behavior.js} +6 -5
  203. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -0
  204. package/lib/module/shared/providers/screen/gestures/pinch/{build-pinch-gesture.js → use-build-pinch-gesture.js} +8 -6
  205. package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -0
  206. package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js +57 -0
  207. package/lib/module/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +1 -0
  208. package/lib/module/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +15 -0
  209. package/lib/module/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +1 -0
  210. package/lib/module/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +24 -0
  211. package/lib/module/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +1 -0
  212. package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js +40 -0
  213. package/lib/module/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +1 -0
  214. package/lib/module/shared/providers/screen/gestures/shared/directions.js +14 -4
  215. package/lib/module/shared/providers/screen/gestures/shared/directions.js.map +1 -1
  216. package/lib/module/shared/providers/screen/gestures/shared/policy.js +68 -3
  217. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  218. package/lib/module/shared/providers/screen/gestures/shared/reset.js +4 -13
  219. package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -1
  220. package/lib/module/shared/providers/screen/gestures/shared/runtime.js +1 -10
  221. package/lib/module/shared/providers/screen/gestures/shared/runtime.js.map +1 -1
  222. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +1 -1
  223. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -1
  224. package/lib/module/shared/providers/screen/gestures/types.js +2 -0
  225. package/lib/module/shared/providers/screen/gestures/types.js.map +1 -1
  226. package/lib/module/shared/providers/screen/options/helpers.js +60 -24
  227. package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
  228. package/lib/module/shared/providers/screen/styles/components/{maybe-floating-container.js → floating-overlay-layer.js} +4 -4
  229. package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js.map +1 -0
  230. package/lib/module/shared/providers/screen/styles/styles.provider.js +3 -3
  231. package/lib/module/shared/providers/screen/styles/styles.provider.js.map +1 -1
  232. package/lib/module/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.js → blank-stack-state/blank-stack-controller.js} +9 -9
  233. package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -0
  234. package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.js → blank-stack-state/helpers/build-blank-stack-state.js} +10 -10
  235. package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -0
  236. package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/derive-managed-stack-state.js → blank-stack-state/helpers/derive-blank-stack-state.js} +7 -7
  237. package/lib/module/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -0
  238. package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.js.map +1 -0
  239. package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.js.map +1 -0
  240. package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.js +6 -23
  241. package/lib/module/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.js.map +1 -0
  242. package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.js → blank-stack-state/helpers/reconcile-blank-stack-routes.js} +5 -5
  243. package/lib/module/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -0
  244. package/lib/module/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.js → blank-stack-state/helpers/state-equality.js} +1 -1
  245. package/lib/module/shared/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -0
  246. package/lib/module/shared/providers/stack/blank-stack-state/helpers/types.js.map +1 -0
  247. package/lib/module/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.js +3 -3
  248. package/lib/module/shared/providers/stack/blank-stack-state/index.js.map +1 -0
  249. package/lib/module/shared/providers/stack/{managed.provider.js → blank-stack.provider.js} +19 -26
  250. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -0
  251. package/lib/module/shared/providers/stack/direct.provider.js +3 -13
  252. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  253. package/lib/module/shared/stores/animation.store.js +2 -0
  254. package/lib/module/shared/stores/animation.store.js.map +1 -1
  255. package/lib/module/shared/stores/gesture.store.js +5 -1
  256. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  257. package/lib/module/shared/stores/system.store.js +1 -4
  258. package/lib/module/shared/stores/system.store.js.map +1 -1
  259. package/lib/module/shared/types/animation.types.js.map +1 -1
  260. package/lib/module/shared/types/gesture.types.js.map +1 -1
  261. package/lib/module/shared/types/providers/blank-stack-provider.types.js +4 -0
  262. package/lib/module/shared/types/providers/blank-stack-provider.types.js.map +1 -0
  263. package/lib/module/shared/utils/animation/animate-to-progress.js +11 -5
  264. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  265. package/lib/module/shared/utils/animation/animate.js +21 -5
  266. package/lib/module/shared/utils/animation/animate.js.map +1 -1
  267. package/lib/module/shared/utils/animation/spring/index.js +4 -0
  268. package/lib/module/shared/utils/animation/spring/index.js.map +1 -0
  269. package/lib/module/shared/utils/animation/spring/spring.js +239 -0
  270. package/lib/module/shared/utils/animation/spring/spring.js.map +1 -0
  271. package/lib/module/shared/utils/animation/spring/springConfigs.js +4 -0
  272. package/lib/module/shared/utils/animation/spring/springConfigs.js.map +1 -0
  273. package/lib/module/shared/utils/animation/spring/springUtils.js +300 -0
  274. package/lib/module/shared/utils/animation/spring/springUtils.js.map +1 -0
  275. package/lib/module/shared/utils/animation/state.js +2 -0
  276. package/lib/module/shared/utils/animation/state.js.map +1 -0
  277. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +5 -5
  278. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  279. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +4 -4
  280. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  281. package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
  282. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  283. package/lib/typescript/component-stack/components/stack-view.d.ts +1 -1
  284. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  285. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  286. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  287. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  288. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
  289. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  290. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +2 -2
  291. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  292. package/lib/typescript/shared/constants.d.ts +0 -9
  293. package/lib/typescript/shared/constants.d.ts.map +1 -1
  294. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  295. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +0 -2
  296. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  297. package/lib/typescript/shared/index.d.ts +12 -12
  298. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  299. package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  300. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  301. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +1 -6
  302. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  303. package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
  304. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +1 -1
  305. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  306. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  307. package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts +2 -2
  308. package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation-decision.d.ts → activation/pan-activation-decision.d.ts} +3 -3
  310. package/lib/typescript/shared/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -0
  311. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation-rules.d.ts → activation/pan-activation-rules.d.ts} +11 -11
  312. package/lib/typescript/shared/providers/screen/gestures/pan/activation/pan-activation-rules.d.ts.map +1 -0
  313. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-activation.d.ts → activation/use-pan-activation.d.ts} +5 -4
  314. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -0
  315. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-lifecycle.d.ts → behavior/pan-lifecycle.d.ts} +3 -2
  316. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -0
  317. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-release.d.ts → behavior/pan-release.d.ts} +1 -1
  318. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -0
  319. package/lib/typescript/shared/providers/screen/gestures/pan/{pan-reset.d.ts → behavior/pan-reset.d.ts} +4 -3
  320. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -0
  321. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +5 -0
  322. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -0
  323. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +11 -0
  324. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -0
  325. package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-activation.d.ts → activation/use-pinch-activation.d.ts} +5 -4
  326. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -0
  327. package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-lifecycle.d.ts → behavior/pinch-lifecycle.d.ts} +1 -1
  328. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -0
  329. package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-release.d.ts → behavior/pinch-release.d.ts} +1 -1
  330. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -0
  331. package/lib/typescript/shared/providers/screen/gestures/pinch/{pinch-reset.d.ts → behavior/pinch-reset.d.ts} +2 -2
  332. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -0
  333. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts +5 -0
  334. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -0
  335. package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts +9 -0
  336. package/lib/typescript/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.d.ts.map +1 -0
  337. package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +15 -0
  338. package/lib/typescript/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +1 -0
  339. package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts +4 -0
  340. package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts.map +1 -0
  341. package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts +5 -0
  342. package/lib/typescript/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts.map +1 -0
  343. package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +9 -0
  344. package/lib/typescript/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +1 -0
  345. package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts +8 -6
  346. package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts.map +1 -1
  347. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +2 -2
  348. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  349. package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -1
  350. package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts.map +1 -1
  351. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +14 -4
  352. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  353. package/lib/typescript/shared/providers/screen/options/helpers.d.ts +2 -2
  354. package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
  355. package/lib/typescript/shared/providers/screen/options/types.d.ts +4 -3
  356. package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
  357. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +7 -0
  358. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -0
  359. package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts +13 -0
  360. package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -0
  361. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts +13 -0
  362. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -0
  363. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts +12 -0
  364. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts.map +1 -0
  365. package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.d.ts +1 -1
  366. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/compose-descriptors.d.ts.map +1 -0
  367. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/resolve-scene-neighbors.d.ts.map +1 -0
  368. package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.d.ts +2 -4
  369. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/navigation/sync-routes-with-removed.d.ts.map +1 -0
  370. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +12 -0
  371. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -0
  372. package/lib/typescript/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.d.ts → blank-stack-state/helpers/state-equality.d.ts} +4 -4
  373. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -0
  374. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/types.d.ts +39 -0
  375. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -0
  376. package/lib/typescript/shared/providers/stack/blank-stack-state/index.d.ts +12 -0
  377. package/lib/typescript/shared/providers/stack/blank-stack-state/index.d.ts.map +1 -0
  378. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +8 -0
  379. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -0
  380. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  381. package/lib/typescript/shared/stores/animation.store.d.ts +1 -0
  382. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  383. package/lib/typescript/shared/stores/gesture.store.d.ts +2 -0
  384. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  385. package/lib/typescript/shared/stores/system.store.d.ts +1 -5
  386. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  387. package/lib/typescript/shared/types/animation.types.d.ts +12 -10
  388. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  389. package/lib/typescript/shared/types/bounds.types.d.ts +1 -1
  390. package/lib/typescript/shared/types/gesture.types.d.ts +24 -0
  391. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  392. package/lib/typescript/shared/types/index.d.ts +1 -1
  393. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  394. package/lib/typescript/shared/types/providers/{managed-stack.types.d.ts → blank-stack-provider.types.d.ts} +11 -11
  395. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -0
  396. package/lib/typescript/shared/types/screen.types.d.ts +7 -2
  397. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  398. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  399. package/lib/typescript/shared/utils/animation/animate.d.ts +8 -3
  400. package/lib/typescript/shared/utils/animation/animate.d.ts.map +1 -1
  401. package/lib/typescript/shared/utils/animation/spring/index.d.ts +3 -0
  402. package/lib/typescript/shared/utils/animation/spring/index.d.ts.map +1 -0
  403. package/lib/typescript/shared/utils/animation/spring/spring.d.ts +24 -0
  404. package/lib/typescript/shared/utils/animation/spring/spring.d.ts.map +1 -0
  405. package/lib/typescript/shared/utils/animation/spring/springConfigs.d.ts +46 -0
  406. package/lib/typescript/shared/utils/animation/spring/springConfigs.d.ts.map +1 -0
  407. package/lib/typescript/shared/utils/animation/spring/springUtils.d.ts +68 -0
  408. package/lib/typescript/shared/utils/animation/spring/springUtils.d.ts.map +1 -0
  409. package/lib/typescript/shared/utils/animation/state.d.ts +6 -0
  410. package/lib/typescript/shared/utils/animation/state.d.ts.map +1 -0
  411. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  412. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  413. package/package.json +1 -1
  414. package/src/blank-stack/components/stack-view.tsx +2 -2
  415. package/src/component-stack/components/stack-view.tsx +2 -2
  416. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +0 -14
  417. package/src/shared/components/overlay/variations/float-overlay.tsx +1 -7
  418. package/src/shared/components/scene-view.tsx +1 -1
  419. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +11 -8
  420. package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +4 -4
  421. package/src/shared/components/screen-lifecycle/index.tsx +2 -2
  422. package/src/shared/constants.ts +1 -11
  423. package/src/shared/hooks/navigation/use-screen-state.ts +1 -7
  424. package/src/shared/hooks/navigation/use-stack.tsx +0 -2
  425. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +19 -16
  426. package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +2 -17
  427. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +3 -3
  428. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +9 -51
  429. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +1 -7
  430. package/src/shared/providers/screen/animation/helpers/pipeline.ts +1 -1
  431. package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +24 -1
  432. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +2 -5
  433. package/src/shared/providers/screen/gestures/gestures.provider.tsx +21 -4
  434. package/src/shared/providers/screen/gestures/ownership/compute-claimed-directions.ts +6 -9
  435. package/src/shared/providers/screen/gestures/pan/{pan-activation-decision.ts → activation/pan-activation-decision.ts} +7 -7
  436. package/src/shared/providers/screen/gestures/pan/{pan-activation-rules.ts → activation/pan-activation-rules.ts} +32 -25
  437. package/src/shared/providers/screen/gestures/pan/{pan-activation.ts → activation/use-pan-activation.ts} +23 -12
  438. package/src/shared/providers/screen/gestures/pan/{pan-lifecycle.ts → behavior/pan-lifecycle.ts} +46 -8
  439. package/src/shared/providers/screen/gestures/pan/{pan-release.ts → behavior/pan-release.ts} +6 -6
  440. package/src/shared/providers/screen/gestures/pan/{pan-reset.ts → behavior/pan-reset.ts} +22 -12
  441. package/src/shared/providers/screen/gestures/pan/{use-pan-behavior.ts → behavior/use-pan-behavior.ts} +43 -10
  442. package/src/shared/providers/screen/gestures/pan/{build-pan-gesture.ts → use-build-pan-gesture.ts} +15 -6
  443. package/src/shared/providers/screen/gestures/pinch/{pinch-activation.ts → activation/use-pinch-activation.ts} +17 -5
  444. package/src/shared/providers/screen/gestures/pinch/{pinch-lifecycle.ts → behavior/pinch-lifecycle.ts} +10 -8
  445. package/src/shared/providers/screen/gestures/pinch/{pinch-release.ts → behavior/pinch-release.ts} +5 -5
  446. package/src/shared/providers/screen/gestures/pinch/{pinch-reset.ts → behavior/pinch-reset.ts} +11 -5
  447. package/src/shared/providers/screen/gestures/pinch/{use-pinch-behavior.ts → behavior/use-pinch-behavior.ts} +16 -6
  448. package/src/shared/providers/screen/gestures/pinch/{build-pinch-gesture.ts → use-build-pinch-gesture.ts} +18 -6
  449. package/src/shared/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +87 -0
  450. package/src/shared/providers/screen/gestures/rotation/behavior/rotation-lifecycle.ts +19 -0
  451. package/src/shared/providers/screen/gestures/rotation/behavior/use-rotation-behavior.ts +47 -0
  452. package/src/shared/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +55 -0
  453. package/src/shared/providers/screen/gestures/shared/directions.ts +27 -13
  454. package/src/shared/providers/screen/gestures/shared/policy.ts +99 -5
  455. package/src/shared/providers/screen/gestures/shared/reset.ts +9 -17
  456. package/src/shared/providers/screen/gestures/shared/runtime.ts +1 -14
  457. package/src/shared/providers/screen/gestures/shared/snap-points.ts +1 -1
  458. package/src/shared/providers/screen/gestures/types.ts +20 -3
  459. package/src/shared/providers/screen/options/helpers.ts +85 -30
  460. package/src/shared/providers/screen/options/types.ts +6 -5
  461. package/src/shared/providers/screen/styles/components/{maybe-floating-container.tsx → floating-overlay-layer.tsx} +6 -6
  462. package/src/shared/providers/screen/styles/styles.provider.tsx +3 -3
  463. package/src/shared/providers/stack/{helpers/managed-stack-state/managed-stack-controller.ts → blank-stack-state/blank-stack-controller.ts} +22 -20
  464. package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/build-managed-stack-state.ts → blank-stack-state/helpers/build-blank-stack-state.ts} +28 -25
  465. package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/derive-managed-stack-state.ts → blank-stack-state/helpers/derive-blank-stack-state.ts} +13 -13
  466. package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.ts +1 -1
  467. package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/sync-routes-with-removed.ts +8 -40
  468. package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/reconcile-managed-routes.ts → blank-stack-state/helpers/reconcile-blank-stack-routes.ts} +26 -22
  469. package/src/shared/providers/stack/{helpers/managed-stack-state/helpers/helpers.ts → blank-stack-state/helpers/state-equality.ts} +4 -4
  470. package/src/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.ts +16 -15
  471. package/src/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/index.ts +9 -9
  472. package/src/shared/providers/stack/blank-stack.provider.tsx +118 -0
  473. package/src/shared/providers/stack/direct.provider.tsx +38 -54
  474. package/src/shared/stores/animation.store.ts +3 -0
  475. package/src/shared/stores/gesture.store.ts +6 -0
  476. package/src/shared/stores/system.store.ts +1 -9
  477. package/src/shared/types/animation.types.ts +12 -14
  478. package/src/shared/types/bounds.types.ts +1 -1
  479. package/src/shared/types/gesture.types.ts +33 -0
  480. package/src/shared/types/index.ts +4 -0
  481. package/src/shared/types/providers/{managed-stack.types.ts → blank-stack-provider.types.ts} +10 -10
  482. package/src/shared/types/screen.types.ts +7 -2
  483. package/src/shared/utils/animation/animate-to-progress.ts +18 -7
  484. package/src/shared/utils/animation/animate.ts +44 -21
  485. package/src/shared/utils/animation/spring/index.ts +2 -0
  486. package/src/shared/utils/animation/spring/spring.ts +343 -0
  487. package/src/shared/utils/animation/spring/springConfigs.ts +46 -0
  488. package/src/shared/utils/animation/spring/springUtils.ts +418 -0
  489. package/src/shared/utils/animation/state.ts +6 -0
  490. package/src/shared/utils/bounds/navigation/reveal/build.ts +5 -9
  491. package/src/shared/utils/bounds/navigation/zoom/build.ts +4 -6
  492. package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js +0 -61
  493. package/lib/commonjs/shared/hooks/navigation/use-closing-route-keys.js.map +0 -1
  494. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +0 -20
  495. package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +0 -1
  496. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +0 -29
  497. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +0 -1
  498. package/lib/commonjs/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +0 -1
  499. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +0 -1
  500. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +0 -1
  501. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js.map +0 -1
  502. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +0 -1
  503. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js.map +0 -1
  504. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js.map +0 -1
  505. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +0 -1
  506. package/lib/commonjs/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +0 -1
  507. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js.map +0 -1
  508. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +0 -1
  509. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js.map +0 -1
  510. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js.map +0 -1
  511. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +0 -1
  512. package/lib/commonjs/shared/providers/screen/styles/components/maybe-floating-container.js.map +0 -1
  513. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +0 -1
  514. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +0 -58
  515. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +0 -1
  516. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +0 -1
  517. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +0 -1
  518. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +0 -1
  519. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +0 -1
  520. package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js +0 -30
  521. package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js.map +0 -1
  522. package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js +0 -58
  523. package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js.map +0 -1
  524. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js +0 -27
  525. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js.map +0 -1
  526. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +0 -1
  527. package/lib/commonjs/shared/types/providers/managed-stack.types.js.map +0 -1
  528. package/lib/commonjs/shared/utils/navigation/compose-descriptors.js.map +0 -1
  529. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +0 -1
  530. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +0 -1
  531. package/lib/module/shared/hooks/navigation/use-closing-route-keys.js +0 -55
  532. package/lib/module/shared/hooks/navigation/use-closing-route-keys.js.map +0 -1
  533. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +0 -17
  534. package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +0 -1
  535. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +0 -22
  536. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +0 -1
  537. package/lib/module/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +0 -1
  538. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +0 -1
  539. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +0 -1
  540. package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js.map +0 -1
  541. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +0 -1
  542. package/lib/module/shared/providers/screen/gestures/pan/pan-release.js.map +0 -1
  543. package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js.map +0 -1
  544. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +0 -49
  545. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +0 -1
  546. package/lib/module/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +0 -1
  547. package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js.map +0 -1
  548. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +0 -1
  549. package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js.map +0 -1
  550. package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js.map +0 -1
  551. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +0 -1
  552. package/lib/module/shared/providers/screen/styles/components/maybe-floating-container.js.map +0 -1
  553. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +0 -1
  554. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +0 -1
  555. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +0 -1
  556. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +0 -1
  557. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +0 -1
  558. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +0 -1
  559. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +0 -1
  560. package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js +0 -25
  561. package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js.map +0 -1
  562. package/lib/module/shared/providers/stack/helpers/use-processed-routes.js +0 -54
  563. package/lib/module/shared/providers/stack/helpers/use-processed-routes.js.map +0 -1
  564. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js +0 -23
  565. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js.map +0 -1
  566. package/lib/module/shared/providers/stack/managed.provider.js.map +0 -1
  567. package/lib/module/shared/types/providers/managed-stack.types.js +0 -4
  568. package/lib/module/shared/types/providers/managed-stack.types.js.map +0 -1
  569. package/lib/module/shared/utils/navigation/compose-descriptors.js.map +0 -1
  570. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +0 -1
  571. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +0 -1
  572. package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts +0 -8
  573. package/lib/typescript/shared/hooks/navigation/use-closing-route-keys.d.ts.map +0 -1
  574. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +0 -7
  575. package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +0 -1
  576. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts +0 -5
  577. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts.map +0 -1
  578. package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts +0 -10
  579. package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts.map +0 -1
  580. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts.map +0 -1
  581. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-rules.d.ts.map +0 -1
  582. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts.map +0 -1
  583. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +0 -1
  584. package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts.map +0 -1
  585. package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts.map +0 -1
  586. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts +0 -5
  587. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +0 -1
  588. package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts +0 -7
  589. package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts.map +0 -1
  590. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts.map +0 -1
  591. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +0 -1
  592. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts.map +0 -1
  593. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts.map +0 -1
  594. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts +0 -5
  595. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +0 -1
  596. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts +0 -7
  597. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts.map +0 -1
  598. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +0 -13
  599. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +0 -1
  600. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +0 -12
  601. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +0 -1
  602. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +0 -1
  603. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +0 -12
  604. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +0 -1
  605. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +0 -39
  606. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +0 -1
  607. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +0 -12
  608. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +0 -1
  609. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +0 -13
  610. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +0 -1
  611. package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts +0 -7
  612. package/lib/typescript/shared/providers/stack/helpers/use-closing-route-map.d.ts.map +0 -1
  613. package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts +0 -17
  614. package/lib/typescript/shared/providers/stack/helpers/use-processed-routes.d.ts.map +0 -1
  615. package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts +0 -18
  616. package/lib/typescript/shared/providers/stack/helpers/use-stack-derived.d.ts.map +0 -1
  617. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +0 -8
  618. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +0 -1
  619. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +0 -1
  620. package/lib/typescript/shared/utils/navigation/compose-descriptors.d.ts.map +0 -1
  621. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +0 -1
  622. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +0 -1
  623. package/src/shared/hooks/navigation/use-closing-route-keys.ts +0 -60
  624. package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +0 -19
  625. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.ts +0 -41
  626. package/src/shared/providers/stack/helpers/use-closing-route-map.ts +0 -28
  627. package/src/shared/providers/stack/helpers/use-processed-routes.ts +0 -85
  628. package/src/shared/providers/stack/helpers/use-stack-derived.ts +0 -34
  629. package/src/shared/providers/stack/managed.provider.tsx +0 -126
  630. /package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.js +0 -0
  631. /package/lib/commonjs/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.js +0 -0
  632. /package/lib/commonjs/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.js +0 -0
  633. /package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/compose-descriptors.js +0 -0
  634. /package/lib/module/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.js +0 -0
  635. /package/lib/module/shared/providers/stack/{helpers/managed-stack-state → blank-stack-state}/helpers/types.js +0 -0
  636. /package/lib/typescript/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.d.ts +0 -0
  637. /package/src/shared/{utils → providers/stack/blank-stack-state/helpers}/navigation/resolve-scene-neighbors.ts +0 -0
@@ -0,0 +1,24 @@
1
+ import type { AnimationStateCallback } from "../state";
2
+ import type { SpringConfig } from "./springConfigs";
3
+ type withSpringType = (toValue: number, userConfig?: SpringConfig, callback?: AnimationStateCallback) => number;
4
+ /**
5
+ * Internal numeric spring forked from Reanimated's `withSpring`.
6
+ *
7
+ * As of version 4.4, Reanimated resets the spring velocity to zero whenever it
8
+ * initially points away from the target (see
9
+ * https://github.com/software-mansion/react-native-reanimated/pull/9463).
10
+ * That's a reasonable fix for stale inherited velocity in Reanimated's public
11
+ * spring behavior, but our gesture release handoff relies on that
12
+ * away-from-target velocity on purpose. It's what preserves the visual
13
+ * dismissal tail controlled by `gestureReleaseVelocityScale`.
14
+ *
15
+ * We went with this fork rather than trying to recreate the velocity scale
16
+ * outside the spring, since that approach pushed too much state and timing
17
+ * logic into the transition layer, bloated the code, and made the handoff
18
+ * easier to get subtly wrong. Keeping the fork lets screen transitions hold on
19
+ * to the native spring handoff behavior while keeping our own surface small and
20
+ * easy to extend with callbacks tailored to the transition lifecycle.
21
+ */
22
+ export declare const withInternalSpring: withSpringType;
23
+ export {};
24
+ //# sourceMappingURL=spring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/animation/spring/spring.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA2FpD,KAAK,cAAc,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,YAAY,EACzB,QAAQ,CAAC,EAAE,sBAAsB,KAC7B,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB,EA6Nd,cAAc,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { ReduceMotion } from "react-native-reanimated";
2
+ /**
3
+ * Internal spring animation configuration.
4
+ *
5
+ * @param mass - The weight of the spring. Reducing this value makes the
6
+ * animation faster.
7
+ * @param damping - How quickly a spring slows down. Higher damping means the
8
+ * spring will come to rest faster.
9
+ * @param stiffness - How bouncy the spring is.
10
+ * @param duration - Perceptual duration of the animation in milliseconds.
11
+ * Actual duration is 1.5 times the value of perceptual duration.
12
+ * @param dampingRatio - How damped the spring is. Value `1` means the spring is
13
+ * critically damped, value `<1` means the spring is underdamped and value
14
+ * `>1` means the spring is overdamped.
15
+ * @param velocity - Initial velocity applied to the spring equation.
16
+ * @param overshootClamping - Whether a spring can bounce over the `toValue`.
17
+ * @param energyThreshold - Relative energy threshold below which the spring
18
+ * will snap to `toValue` without further oscillations.
19
+ * @param reduceMotion - Optional reduced-motion override. `ReduceMotion.Always`
20
+ * finishes immediately, `ReduceMotion.Never` runs normally, and
21
+ * `ReduceMotion.System` is treated like the default in this internal fork.
22
+ * @see https://docs.swmansion.com/react-native-reanimated/docs/animations/withSpring/#config-
23
+ */
24
+ export type SpringConfig = {
25
+ mass?: number;
26
+ overshootClamping?: boolean;
27
+ energyThreshold?: number;
28
+ velocity?: number;
29
+ reduceMotion?: ReduceMotion;
30
+ } & ({
31
+ stiffness?: number;
32
+ damping?: number;
33
+ duration?: never;
34
+ dampingRatio?: never;
35
+ clamp?: never;
36
+ } | {
37
+ stiffness?: never;
38
+ damping?: never;
39
+ duration?: number;
40
+ dampingRatio?: number;
41
+ clamp?: {
42
+ min?: number;
43
+ max?: number;
44
+ };
45
+ });
46
+ //# sourceMappingURL=springConfigs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"springConfigs.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/animation/spring/springConfigs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC5B,GAAG,CACD;IACA,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;CACb,GACD;IACA,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC,CACH,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { Animation } from "react-native-reanimated";
2
+ import type { SpringConfig } from "./springConfigs";
3
+ type Timestamp = number;
4
+ export type DefaultSpringConfig = {
5
+ [K in keyof Required<SpringConfig>]: K extends "reduceMotion" | "clamp" ? Required<SpringConfig>[K] | undefined : Required<SpringConfig>[K];
6
+ };
7
+ export interface SpringConfigInner {
8
+ useDuration: boolean;
9
+ skipAnimation: boolean;
10
+ settleDistance: number;
11
+ }
12
+ export interface SpringAnimation extends Animation<SpringAnimation> {
13
+ current: number;
14
+ toValue: number;
15
+ velocity: number;
16
+ settled: boolean;
17
+ lastTimestamp: Timestamp;
18
+ startTimestamp: Timestamp;
19
+ startValue: number;
20
+ zeta: number;
21
+ omega0: number;
22
+ omega1: number;
23
+ initialEnergy: number;
24
+ }
25
+ export type InnerSpringAnimation = SpringAnimation;
26
+ export declare function checkIfConfigIsValid(config: DefaultSpringConfig): boolean;
27
+ export declare function safeMergeConfigs<TConfig extends object>(defaults: TConfig, userConfig?: Partial<TConfig>): TConfig;
28
+ export declare function initialCalculations(stiffness: number | undefined, config: DefaultSpringConfig & SpringConfigInner): {
29
+ zeta: number;
30
+ omega0: number;
31
+ omega1: number;
32
+ };
33
+ /**
34
+ * We make an assumption that we can manipulate zeta without changing duration
35
+ * of movement. According to theory this change is small and tests shows that we
36
+ * can indeed ignore it.
37
+ */
38
+ export declare function scaleZetaToMatchClamps(animation: SpringAnimation, clamp: {
39
+ min?: number;
40
+ max?: number;
41
+ }): number;
42
+ export declare function getEnergy(displacement: number, velocity: number, stiffness: number, mass: number): number;
43
+ /** Runs before initial */
44
+ export declare function calculateNewStiffnessToMatchDuration(x0: number, config: DefaultSpringConfig & SpringConfigInner, v0: number): number;
45
+ export declare function criticallyDampedSpringCalculations(animation: InnerSpringAnimation, precalculatedValues: {
46
+ v0: number;
47
+ x0: number;
48
+ omega0: number;
49
+ t: number;
50
+ }): {
51
+ position: number;
52
+ velocity: number;
53
+ };
54
+ export declare function underDampedSpringCalculations(animation: InnerSpringAnimation, precalculatedValues: {
55
+ zeta: number;
56
+ v0: number;
57
+ x0: number;
58
+ omega0: number;
59
+ omega1: number;
60
+ t: number;
61
+ }): {
62
+ position: number;
63
+ velocity: number;
64
+ };
65
+ export declare function isAnimationTerminatingCalculation(animation: InnerSpringAnimation, config: DefaultSpringConfig & SpringConfigInner): boolean;
66
+ export declare function isAnimationSettledCalculation(animation: InnerSpringAnimation, config: DefaultSpringConfig & SpringConfigInner): boolean;
67
+ export {};
68
+ //# sourceMappingURL=springUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"springUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/utils/animation/spring/springUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,KAAK,SAAS,GAAG,MAAM,CAAC;AAIxB,MAAM,MAAM,mBAAmB,GAAG;KAChC,CAAC,IAAI,MAAM,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,cAAc,GAAG,OAAO,GACpE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACrC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,eAAe,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,EAAE,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AACnD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CA6BzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,MAAM,EACtD,QAAQ,EAAE,OAAO,EACjB,UAAU,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAC3B,OAAO,CAcT;AAgCD,wBAAgB,mBAAmB,CAClC,SAAS,oBAAI,EACb,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAC7C;IACF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf,CA4BA;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACnC,MAAM,CA2DR;AAED,wBAAgB,SAAS,CACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,UAMZ;AAED,0BAA0B;AAC1B,wBAAgB,oCAAoC,CACnD,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,EAC/C,EAAE,EAAE,MAAM,UA+DV;AAED,wBAAgB,kCAAkC,CACjD,SAAS,EAAE,oBAAoB,EAC/B,mBAAmB,EAAE;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACV,GACC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkBxC;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,oBAAoB,EAC/B,mBAAmB,EAAE;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;CACV,GACC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAuBxC;AAED,wBAAgB,iCAAiC,CAChD,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAC7C,OAAO,CAsBT;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAC7C,OAAO,CAuBT"}
@@ -0,0 +1,6 @@
1
+ export type AnimationState = {
2
+ finished: boolean;
3
+ settled: boolean;
4
+ };
5
+ export type AnimationStateCallback = (state: AnimationState) => void;
6
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/state.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/build.ts"],"names":[],"mappings":"AAmCA,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,CAobnD"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/reveal/build.ts"],"names":[],"mappings":"AAmCA,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,CAgbnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/zoom/build.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgC5E,wBAAgB,eAAe,CAAC,EAC/B,GAAG,EACH,WAAW,EACX,KAAK,GACL,EAAE,qBAAqB,GAAG,qBAAqB,CAga/C"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/zoom/build.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgC5E,wBAAgB,eAAe,CAAC,EAC/B,GAAG,EACH,WAAW,EACX,KAAK,GACL,EAAE,qBAAqB,GAAG,qBAAqB,CA8Z/C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.7.0",
3
+ "version": "3.8.0-alpha.0",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -9,8 +9,8 @@ import {
9
9
  } from "../../shared/components/activity";
10
10
  import { Overlay } from "../../shared/components/overlay";
11
11
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
12
+ import { withBlankStack } from "../../shared/providers/stack/blank-stack.provider";
12
13
  import { withStackCore } from "../../shared/providers/stack/core.provider";
13
- import { withManagedStack } from "../../shared/providers/stack/managed.provider";
14
14
  import type { BaseStackScene } from "../../shared/types/stack.types";
15
15
  import type {
16
16
  BlankStackDescriptor,
@@ -53,7 +53,7 @@ const BlankSceneRow = memo(function BlankSceneRow({
53
53
 
54
54
  export const StackView = withStackCore(
55
55
  { TRANSITIONS_ALWAYS_ON: true, DISABLE_NATIVE_SCREENS: false },
56
- withManagedStack<BlankStackDescriptor, BlankStackNavigationHelpers>(
56
+ withBlankStack<BlankStackDescriptor, BlankStackNavigationHelpers>(
57
57
  ({ scenes, shouldShowFloatOverlay }) => {
58
58
  return (
59
59
  <Fragment>
@@ -2,8 +2,8 @@ import { Fragment } from "react";
2
2
  import { Overlay } from "../../shared/components/overlay";
3
3
  import { SceneView } from "../../shared/components/scene-view";
4
4
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
5
+ import { withBlankStack } from "../../shared/providers/stack/blank-stack.provider";
5
6
  import { withStackCore } from "../../shared/providers/stack/core.provider";
6
- import { withManagedStack } from "../../shared/providers/stack/managed.provider";
7
7
  import { StackType } from "../../shared/types/stack.types";
8
8
  import type {
9
9
  ComponentStackDescriptor,
@@ -13,7 +13,7 @@ import { ComponentScreen } from "./component-screen";
13
13
 
14
14
  export const StackView = withStackCore(
15
15
  { TRANSITIONS_ALWAYS_ON: true, STACK_TYPE: StackType.COMPONENT },
16
- withManagedStack<ComponentStackDescriptor, ComponentStackNavigationHelpers>(
16
+ withBlankStack<ComponentStackDescriptor, ComponentStackNavigationHelpers>(
17
17
  ({ scenes, shouldShowFloatOverlay }) => {
18
18
  return (
19
19
  <Fragment>
@@ -10,11 +10,6 @@ import {
10
10
  useStackCoreContext,
11
11
  withStackCore,
12
12
  } from "../../providers/stack/core.provider";
13
- import { useStackDerived } from "../../providers/stack/helpers/use-stack-derived";
14
- import {
15
- AnimationStore,
16
- type AnimationStoreMap,
17
- } from "../../stores/animation.store";
18
13
  import type { BaseStackDescriptor, BaseStackRoute } from "../../types";
19
14
  import { StackType } from "../../types/stack.types";
20
15
  import { isOverlayVisible } from "../../utils/overlay/visibility";
@@ -44,7 +39,6 @@ type TransitionStackState = {
44
39
  routes: BaseStackRoute[];
45
40
  routeKeys: string[];
46
41
  scenes: ScreenTransitionsAdapterScene[];
47
- animationMaps: AnimationStoreMap[];
48
42
  routeIndexByKey: Map<string, number>;
49
43
  shouldShowFloatOverlay: boolean;
50
44
  };
@@ -81,7 +75,6 @@ function buildTransitionStackState({
81
75
  const allRoutes = routes.concat(preloadedRoutes);
82
76
  const routeKeys: string[] = [];
83
77
  const scenes: ScreenTransitionsAdapterScene[] = [];
84
- const animationMaps: AnimationStoreMap[] = [];
85
78
  const routeIndexByKey = new Map<string, number>();
86
79
  let shouldShowFloatOverlay = false;
87
80
 
@@ -114,7 +107,6 @@ function buildTransitionStackState({
114
107
  previousDescriptor,
115
108
  });
116
109
  routeKeys.push(route.key);
117
- animationMaps.push(AnimationStore.getBag(route.key));
118
110
  routeIndexByKey.set(route.key, sceneIndex);
119
111
 
120
112
  if (
@@ -131,7 +123,6 @@ function buildTransitionStackState({
131
123
  routes: allRoutes,
132
124
  routeKeys,
133
125
  scenes,
134
- animationMaps,
135
126
  routeIndexByKey,
136
127
  shouldShowFloatOverlay,
137
128
  };
@@ -155,9 +146,6 @@ function ScreenTransitionsStackContent({
155
146
  }),
156
147
  [layoutArgs.state, layoutArgs.descriptors],
157
148
  );
158
- const { optimisticFocusedIndex } = useStackDerived(
159
- transitionState.animationMaps,
160
- );
161
149
  const stackContextValue = useMemo<StackContextValue>(
162
150
  () => ({
163
151
  flags,
@@ -165,7 +153,6 @@ function ScreenTransitionsStackContent({
165
153
  routeKeys: transitionState.routeKeys,
166
154
  routes: transitionState.routes as Route<string>[],
167
155
  scenes: transitionState.scenes,
168
- optimisticFocusedIndex,
169
156
  focusedIndex: layoutArgs.state.index,
170
157
  }),
171
158
  [
@@ -175,7 +162,6 @@ function ScreenTransitionsStackContent({
175
162
  transitionState.routeKeys,
176
163
  transitionState.routes,
177
164
  transitionState.scenes,
178
- optimisticFocusedIndex,
179
165
  ],
180
166
  );
181
167
  const adapterContextValue = useMemo(
@@ -1,6 +1,5 @@
1
1
  import { useMemo } from "react";
2
2
  import { snapDescriptorToIndex } from "../../../animation/snap-to";
3
- import { useOptimisticFocusedIndex } from "../../../hooks/navigation/use-optimistic-focused-index";
4
3
  import { useStack } from "../../../hooks/navigation/use-stack";
5
4
  import { ScreenAnimationProvider } from "../../../providers/screen/animation";
6
5
  import type { BaseDescriptor } from "../../../providers/screen/descriptors";
@@ -16,12 +15,7 @@ import { OverlayHost } from "./overlay-host";
16
15
  * Gets routes and descriptors from stack context.
17
16
  */
18
17
  export function FloatOverlay() {
19
- const { scenes, optimisticFocusedIndex, flags, routes, routeKeys } =
20
- useStack();
21
- const focusedIndex = useOptimisticFocusedIndex(
22
- optimisticFocusedIndex,
23
- routeKeys.length,
24
- );
18
+ const { scenes, focusedIndex, flags, routes, routeKeys } = useStack();
25
19
 
26
20
  const activeOverlay = useMemo(
27
21
  () =>
@@ -10,7 +10,7 @@ type SceneViewProps = {
10
10
  };
11
11
 
12
12
  /**
13
- * Shared scene view for managed stacks (blank-stack, component-stack).
13
+ * Shared scene view for JS-rendered stacks (blank-stack, component-stack).
14
14
  * Wraps screen render output with navigation context providers
15
15
  * and optional screen overlay.
16
16
  */
@@ -5,8 +5,8 @@ import {
5
5
  type BaseDescriptor,
6
6
  useDescriptorDerivations,
7
7
  } from "../../../providers/screen/descriptors";
8
+ import { useBlankStackContext } from "../../../providers/stack/blank-stack.provider";
8
9
  import { useStackCoreContext } from "../../../providers/stack/core.provider";
9
- import { useManagedStackContext } from "../../../providers/stack/managed.provider";
10
10
  import { GestureStore } from "../../../stores/gesture.store";
11
11
  import {
12
12
  LifecycleTransitionRequestKind,
@@ -22,22 +22,25 @@ interface CloseHookParams {
22
22
  resetStores: () => void;
23
23
  }
24
24
 
25
- const useManagedClose = ({
25
+ const useBlankStackClose = ({
26
26
  current,
27
27
  requestLifecycleTransition,
28
28
  resetStores,
29
29
  }: CloseHookParams) => {
30
- const { handleCloseRoute } = useManagedStackContext();
30
+ const { handleCloseRoute } = useBlankStackContext();
31
31
 
32
32
  useLayoutEffect(() => {
33
33
  if (current.activity !== "closing") {
34
34
  return;
35
35
  }
36
36
 
37
- requestLifecycleTransition(LifecycleTransitionRequestKind.ManagedClose, 0);
37
+ requestLifecycleTransition(
38
+ LifecycleTransitionRequestKind.BlankStackClose,
39
+ 0,
40
+ );
38
41
  }, [current.activity, requestLifecycleTransition]);
39
42
 
40
- const handleManagedCloseEnd = useStableCallback((finished: boolean) => {
43
+ const handleBlankStackCloseEnd = useStableCallback((finished: boolean) => {
41
44
  if (!finished) return;
42
45
  handleCloseRoute({ route: current.route });
43
46
  requestAnimationFrame(() => {
@@ -45,7 +48,7 @@ const useManagedClose = ({
45
48
  });
46
49
  });
47
50
 
48
- return { handleManagedCloseEnd };
51
+ return { handleBlankStackCloseEnd };
49
52
  };
50
53
 
51
54
  /**
@@ -114,7 +117,7 @@ export function useCloseTransitionIntent(
114
117
  current: BaseDescriptor,
115
118
  system: SystemStoreMap,
116
119
  ): {
117
- handleManagedCloseEnd?: (finished: boolean) => void;
120
+ handleBlankStackCloseEnd?: (finished: boolean) => void;
118
121
  handleNativeCloseEnd?: (finished: boolean) => void;
119
122
  } {
120
123
  const routeKey = current.route.key;
@@ -136,5 +139,5 @@ export function useCloseTransitionIntent(
136
139
  return useNativeStackClose(closeParams);
137
140
  }
138
141
 
139
- return useManagedClose(closeParams);
142
+ return useBlankStackClose(closeParams);
140
143
  }
@@ -11,13 +11,13 @@ export const useTransitionStartController = ({
11
11
  current,
12
12
  animations,
13
13
  system,
14
- onManagedCloseFinish,
14
+ onBlankStackCloseFinish,
15
15
  onNativeCloseFinish,
16
16
  }: {
17
17
  current: BaseDescriptor;
18
18
  animations: AnimationStoreMap;
19
19
  system: SystemStoreMap;
20
- onManagedCloseFinish?: (finished: boolean) => void;
20
+ onBlankStackCloseFinish?: (finished: boolean) => void;
21
21
  onNativeCloseFinish?: (finished: boolean) => void;
22
22
  }) => {
23
23
  const {
@@ -51,8 +51,8 @@ export const useTransitionStartController = ({
51
51
  }
52
52
 
53
53
  const onAnimationFinish =
54
- kind === LifecycleTransitionRequestKind.ManagedClose
55
- ? onManagedCloseFinish
54
+ kind === LifecycleTransitionRequestKind.BlankStackClose
55
+ ? onBlankStackCloseFinish
56
56
  : kind === LifecycleTransitionRequestKind.NativeClose
57
57
  ? onNativeCloseFinish
58
58
  : undefined;
@@ -20,7 +20,7 @@ export const ScreenLifecycle = ({ children }: Props) => {
20
20
  const animations = AnimationStore.getBag(current.route.key);
21
21
  const system = SystemStore.getBag(current.route.key);
22
22
 
23
- const { handleManagedCloseEnd, handleNativeCloseEnd } =
23
+ const { handleBlankStackCloseEnd, handleNativeCloseEnd } =
24
24
  useCloseTransitionIntent(current, system);
25
25
 
26
26
  useOpenTransitionIntent(current, animations, system);
@@ -29,7 +29,7 @@ export const ScreenLifecycle = ({ children }: Props) => {
29
29
  current,
30
30
  animations,
31
31
  system,
32
- onManagedCloseFinish: handleManagedCloseEnd,
32
+ onBlankStackCloseFinish: handleBlankStackCloseEnd,
33
33
  onNativeCloseFinish: handleNativeCloseEnd,
34
34
  });
35
35
 
@@ -48,6 +48,7 @@ const DEFAULT_RAW_GESTURE_VALUES = {
48
48
  normY: 0,
49
49
  scale: 1,
50
50
  normScale: 0,
51
+ rotation: 0,
51
52
  } as const;
52
53
 
53
54
  const DEFAULT_GESTURE_VALUES = {
@@ -182,14 +183,3 @@ export const FALSE = 0;
182
183
  * Small value for floating-point comparisons to handle animation/interpolation imprecision
183
184
  */
184
185
  export const EPSILON = 1e-5;
185
-
186
- /**
187
- * Number of consecutive frames progress must remain near its target before it
188
- * is treated as logically settled.
189
- */
190
- export const LOGICAL_SETTLE_REQUIRED_FRAMES = 5;
191
-
192
- /**
193
- * Progress distance from target required for logical settle.
194
- */
195
- export const LOGICAL_SETTLE_PROGRESS_THRESHOLD = 0.001;
@@ -7,7 +7,6 @@ import {
7
7
  } from "../../providers/screen/descriptors";
8
8
  import type { ScreenTransitionConfig } from "../../types/screen.types";
9
9
  import type { BaseStackNavigation } from "../../types/stack.types";
10
- import { useOptimisticFocusedIndex } from "./use-optimistic-focused-index";
11
10
  import { type StackContextValue, useStack } from "./use-stack";
12
11
 
13
12
  export interface ScreenState<
@@ -64,7 +63,7 @@ export interface ScreenState<
64
63
  export function useScreenState<
65
64
  TNavigation extends BaseStackNavigation = BaseStackNavigation,
66
65
  >(): ScreenState<TNavigation> {
67
- const { routes, scenes, routeKeys, optimisticFocusedIndex } =
66
+ const { routes, scenes, routeKeys, focusedIndex } =
68
67
  useStack<StackContextValue>();
69
68
  const { current } = useDescriptors<BaseDescriptor>();
70
69
 
@@ -73,11 +72,6 @@ export function useScreenState<
73
72
  [routeKeys, current.route.key],
74
73
  );
75
74
 
76
- const focusedIndex = useOptimisticFocusedIndex(
77
- optimisticFocusedIndex,
78
- routeKeys.length,
79
- );
80
-
81
75
  const focusedScene = useMemo(() => {
82
76
  return scenes[focusedIndex] ?? scenes[scenes.length - 1];
83
77
  }, [scenes, focusedIndex]);
@@ -8,7 +8,6 @@ import {
8
8
  useRef,
9
9
  useSyncExternalStore,
10
10
  } from "react";
11
- import type { DerivedValue } from "react-native-reanimated";
12
11
  import type { StackCoreContextValue } from "../../providers/stack/core.provider";
13
12
  import type { OverlayProps } from "../../types/overlay.types";
14
13
  import type {
@@ -41,7 +40,6 @@ export interface StackContextValue extends StackCoreContextValue {
41
40
  routeKeys: string[];
42
41
  routes: Route<string>[];
43
42
  scenes: StackScene[];
44
- optimisticFocusedIndex: DerivedValue<number>;
45
43
  focusedIndex: number;
46
44
  requestDismiss?: StackDismissRequest;
47
45
  }
@@ -44,25 +44,30 @@ export const createTransitionAccessor = (
44
44
  ) => {
45
45
  "worklet";
46
46
 
47
- const getSources = (): TransitionAccessorSource[] => {
47
+ const getSources = (): readonly TransitionAccessorSource[] => {
48
48
  "worklet";
49
49
  if (!descendantSources) {
50
- return [...sources];
50
+ return sources;
51
51
  }
52
52
 
53
53
  const descendants = descendantSources.get();
54
54
  if (descendants.length === 0) {
55
- return [...sources];
55
+ return sources;
56
56
  }
57
57
 
58
- return [...sources, ...descendants.map(({ source }) => source)];
58
+ const currentSources = sources.slice();
59
+ for (let index = 0; index < descendants.length; index++) {
60
+ currentSources.push(descendants[index].source);
61
+ }
62
+
63
+ return currentSources;
59
64
  };
60
65
 
61
66
  const buildScope = (
62
67
  sourceIndex: TransitionSourceIndex,
68
+ currentSources: readonly TransitionAccessorSource[],
63
69
  ): ScreenInterpolationProps | null => {
64
70
  "worklet";
65
- const currentSources = getSources();
66
71
  const source = currentSources[sourceIndex];
67
72
  if (!source) return null;
68
73
 
@@ -84,7 +89,7 @@ export const createTransitionAccessor = (
84
89
  return null;
85
90
  }
86
91
 
87
- return buildScope(targetIndex);
92
+ return buildScope(targetIndex, currentSources);
88
93
  },
89
94
  };
90
95
  };
@@ -101,7 +106,7 @@ export const createTransitionAccessor = (
101
106
  return null;
102
107
  }
103
108
 
104
- return buildScope(targetIndex);
109
+ return buildScope(targetIndex, currentSources);
105
110
  };
106
111
  };
107
112
 
@@ -127,26 +132,24 @@ export const useBuildTransitionAccessor = () => {
127
132
  screenInterpolatorPropsRevision,
128
133
  };
129
134
 
130
- const ancestorTransitionSources = ancestorScreenAnimationSources.map(
131
- (source) => ({
135
+ const transitionSources: TransitionAccessorSource[] =
136
+ ancestorScreenAnimationSources.map((source) => ({
132
137
  ...source,
133
138
  boundsAccessor: buildSourceBoundsAccessor(source),
134
- }),
135
- );
139
+ }));
136
140
 
137
141
  const selfTransitionSource = {
138
142
  ...selfSource,
139
143
  boundsAccessor: buildSourceBoundsAccessor(selfSource),
140
144
  };
141
145
 
142
- const transitionSources: TransitionAccessorSource[] = [
143
- ...[...ancestorTransitionSources].reverse(),
144
- selfTransitionSource,
145
- ];
146
+ transitionSources.reverse();
147
+ const originIndex = transitionSources.length;
148
+ transitionSources.push(selfTransitionSource);
146
149
 
147
150
  return createTransitionAccessor(
148
151
  transitionSources,
149
- ancestorTransitionSources.length,
152
+ originIndex,
150
153
  descendantScreenAnimationSources,
151
154
  );
152
155
  }, [
@@ -1,6 +1,4 @@
1
1
  import type {
2
- GestureActivationArea,
3
- GestureDirection,
4
2
  ScreenTransitionConfig,
5
3
  ScreenTransitionOptions,
6
4
  } from "../../../../types";
@@ -10,17 +8,6 @@ import {
10
8
  } from "../../../../utils/gesture-progress-mode";
11
9
  import { resolveSheetScrollGestureBehavior } from "../../../../utils/resolve-screen-transition-options";
12
10
 
13
- const cloneGestureDirection = (
14
- direction: GestureDirection | GestureDirection[] | undefined,
15
- ) => (Array.isArray(direction) ? [...direction] : direction);
16
-
17
- const cloneGestureActivationArea = (
18
- activationArea: GestureActivationArea | undefined,
19
- ) =>
20
- typeof activationArea === "object" && activationArea !== null
21
- ? { ...activationArea }
22
- : activationArea;
23
-
24
11
  export const buildScreenTransitionOptions = (
25
12
  options: ScreenTransitionConfig,
26
13
  ): ScreenTransitionOptions => {
@@ -41,7 +28,7 @@ export const buildScreenTransitionOptions = (
41
28
  navigationMaskEnabled: options.navigationMaskEnabled,
42
29
  gestureEnabled: options.gestureEnabled,
43
30
  gestureTracking: options.gestureTracking,
44
- gestureDirection: cloneGestureDirection(options.gestureDirection),
31
+ gestureDirection: options.gestureDirection,
45
32
  gestureSensitivity: options.gestureSensitivity,
46
33
  gestureVelocityImpact: options.gestureVelocityImpact,
47
34
  gestureSnapVelocityImpact: options.gestureSnapVelocityImpact,
@@ -51,9 +38,7 @@ export const buildScreenTransitionOptions = (
51
38
  gestureDrivesProgress: gestureProgressMode
52
39
  ? gestureProgressModeDrivesProgress(gestureProgressMode)
53
40
  : undefined,
54
- gestureActivationArea: cloneGestureActivationArea(
55
- options.gestureActivationArea,
56
- ),
41
+ gestureActivationArea: options.gestureActivationArea,
57
42
  gestureSnapLocked: options.gestureSnapLocked,
58
43
  sheetScrollGestureBehavior: hasSheetScrollGestureBehavior
59
44
  ? resolveSheetScrollGestureBehavior(options)