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
@@ -1,24 +1,25 @@
1
1
  import type {
2
2
  BaseStackDescriptor,
3
3
  RouteWithKey,
4
- } from "../../../../../types/stack.types";
5
- import { composeDescriptors } from "../../../../../utils/navigation/compose-descriptors";
6
- import { syncRoutesWithRemoved } from "../../../../../utils/navigation/sync-routes-with-removed";
7
- import { routesHaveSameKeys } from "./helpers";
4
+ } from "../../../../types/stack.types";
5
+ import { composeDescriptors } from "./navigation/compose-descriptors";
6
+ import { syncRoutesWithRemoved } from "./navigation/sync-routes-with-removed";
7
+ import { routesHaveSameKeys } from "./state-equality";
8
8
  import type {
9
+ BlankStackDescriptorSources,
10
+ BlankStackRoutes,
9
11
  LocalRoutesState,
10
- ManagedDescriptorSources,
11
- ManagedRoutes,
12
12
  ReconciledRoutes,
13
13
  } from "./types";
14
14
 
15
- type ReconcileManagedRoutesParams<TDescriptor extends BaseStackDescriptor> = {
16
- current: LocalRoutesState<TDescriptor>;
17
- previousRoutesSnapshot: ManagedRoutes<TDescriptor>;
18
- nextRoutesSnapshot: ManagedRoutes<TDescriptor>;
19
- nextDescriptors: ManagedDescriptorSources<TDescriptor>;
20
- closingRouteKeys: Set<string>;
21
- };
15
+ type ReconcileBlankStackRoutesParams<TDescriptor extends BaseStackDescriptor> =
16
+ {
17
+ current: LocalRoutesState<TDescriptor>;
18
+ previousRoutesSnapshot: BlankStackRoutes<TDescriptor>;
19
+ nextRoutesSnapshot: BlankStackRoutes<TDescriptor>;
20
+ nextDescriptors: BlankStackDescriptorSources<TDescriptor>;
21
+ closingRouteKeys: Set<string>;
22
+ };
22
23
 
23
24
  const alignRoutesWithLatest = <
24
25
  Route extends RouteWithKey,
@@ -80,7 +81,7 @@ const acceptAlreadyClosingRouteRemovals = <
80
81
  nextRoutesSnapshot,
81
82
  nextDescriptors,
82
83
  closingRouteKeys,
83
- }: ReconcileManagedRoutesParams<TDescriptor>): ReconciledRoutes<TDescriptor> | null => {
84
+ }: ReconcileBlankStackRoutesParams<TDescriptor>): ReconciledRoutes<TDescriptor> | null => {
84
85
  const nextRouteKeys = new Set(nextRoutesSnapshot.map((route) => route.key));
85
86
  const acceptedRemovedKeys = new Set<string>();
86
87
 
@@ -116,10 +117,10 @@ const acceptAlreadyClosingRouteRemovals = <
116
117
  const routes = [
117
118
  ...nextRoutesSnapshot,
118
119
  ...remainingClosingRoutes,
119
- ] as ManagedRoutes<TDescriptor>;
120
+ ] as BlankStackRoutes<TDescriptor>;
120
121
  const descriptors = {
121
122
  ...nextDescriptors,
122
- } as ManagedDescriptorSources<TDescriptor>;
123
+ } as BlankStackDescriptorSources<TDescriptor>;
123
124
 
124
125
  for (const route of remainingClosingRoutes) {
125
126
  const descriptor = current.sourceDescriptors[route.key];
@@ -134,8 +135,10 @@ const acceptAlreadyClosingRouteRemovals = <
134
135
  };
135
136
  };
136
137
 
137
- export const reconcileManagedRoutes = <TDescriptor extends BaseStackDescriptor>(
138
- params: ReconcileManagedRoutesParams<TDescriptor>,
138
+ export const reconcileBlankStackRoutes = <
139
+ TDescriptor extends BaseStackDescriptor,
140
+ >(
141
+ params: ReconcileBlankStackRoutesParams<TDescriptor>,
139
142
  ): ReconciledRoutes<TDescriptor> => {
140
143
  const {
141
144
  current,
@@ -159,8 +162,9 @@ export const reconcileManagedRoutes = <TDescriptor extends BaseStackDescriptor>(
159
162
  );
160
163
 
161
164
  return {
162
- routes: result.routes as ManagedRoutes<TDescriptor>,
163
- descriptors: result.descriptors as ManagedDescriptorSources<TDescriptor>,
165
+ routes: result.routes as BlankStackRoutes<TDescriptor>,
166
+ descriptors:
167
+ result.descriptors as BlankStackDescriptorSources<TDescriptor>,
164
168
  };
165
169
  }
166
170
 
@@ -182,7 +186,7 @@ export const reconcileManagedRoutes = <TDescriptor extends BaseStackDescriptor>(
182
186
  });
183
187
 
184
188
  return {
185
- routes: result.routes as ManagedRoutes<TDescriptor>,
186
- descriptors: result.descriptors as ManagedDescriptorSources<TDescriptor>,
189
+ routes: result.routes as BlankStackRoutes<TDescriptor>,
190
+ descriptors: result.descriptors as BlankStackDescriptorSources<TDescriptor>,
187
191
  };
188
192
  };
@@ -2,8 +2,8 @@ import type {
2
2
  BaseStackDescriptor,
3
3
  RouteWithKey,
4
4
  StackDescriptorSource,
5
- } from "../../../../../types/stack.types";
6
- import type { ManagedDescriptorSources } from "./types";
5
+ } from "../../../../types/stack.types";
6
+ import type { BlankStackDescriptorSources } from "./types";
7
7
 
8
8
  export const areDescriptorsEqual = <
9
9
  DescriptorMap extends Record<string, unknown>,
@@ -135,8 +135,8 @@ export const areDescriptorSourcesEquivalent = <
135
135
  export const areDescriptorSourceMapsEquivalent = <
136
136
  TDescriptor extends BaseStackDescriptor,
137
137
  >(
138
- previous: ManagedDescriptorSources<TDescriptor>,
139
- next: ManagedDescriptorSources<TDescriptor>,
138
+ previous: BlankStackDescriptorSources<TDescriptor>,
139
+ next: BlankStackDescriptorSources<TDescriptor>,
140
140
  ): boolean => {
141
141
  if (previous === next) return true;
142
142
 
@@ -1,25 +1,26 @@
1
- import type { ManagedStackProps } from "../../../../../types/providers/managed-stack.types";
1
+ import type { BlankStackProviderProps } from "../../../../types/providers/blank-stack-provider.types";
2
2
  import type {
3
3
  BaseStackDescriptor,
4
4
  BaseStackNavigation,
5
5
  BaseStackRoute,
6
6
  BaseStackScene,
7
7
  StackDescriptorSource,
8
- } from "../../../../../types/stack.types";
8
+ } from "../../../../types/stack.types";
9
9
 
10
- export type ManagedRoutes<TDescriptor extends BaseStackDescriptor> =
10
+ export type BlankStackRoutes<TDescriptor extends BaseStackDescriptor> =
11
11
  TDescriptor["route"][];
12
12
 
13
- export type ManagedDescriptors<TDescriptor extends BaseStackDescriptor> =
13
+ export type BlankStackDescriptors<TDescriptor extends BaseStackDescriptor> =
14
14
  Record<string, TDescriptor>;
15
15
 
16
- export type ManagedDescriptorSources<TDescriptor extends BaseStackDescriptor> =
17
- Record<string, StackDescriptorSource<TDescriptor>>;
16
+ export type BlankStackDescriptorSources<
17
+ TDescriptor extends BaseStackDescriptor,
18
+ > = Record<string, StackDescriptorSource<TDescriptor>>;
18
19
 
19
20
  export type LocalRoutesState<TDescriptor extends BaseStackDescriptor> = {
20
- routes: ManagedRoutes<TDescriptor>;
21
- descriptors: ManagedDescriptors<TDescriptor>;
22
- sourceDescriptors: ManagedDescriptorSources<TDescriptor>;
21
+ routes: BlankStackRoutes<TDescriptor>;
22
+ descriptors: BlankStackDescriptors<TDescriptor>;
23
+ sourceDescriptors: BlankStackDescriptorSources<TDescriptor>;
23
24
  focusedRouteKey?: string;
24
25
  routeChildStates: Record<string, unknown>;
25
26
  scenes: BaseStackScene<TDescriptor>[];
@@ -28,26 +29,26 @@ export type LocalRoutesState<TDescriptor extends BaseStackDescriptor> = {
28
29
  closingRouteKeys: ReadonlySet<string>;
29
30
  };
30
31
 
31
- export type ManagedStackControllerSnapshot<
32
+ export type BlankStackControllerSnapshot<
32
33
  TDescriptor extends BaseStackDescriptor,
33
34
  > = {
34
35
  state: LocalRoutesState<TDescriptor>;
35
36
  };
36
37
 
37
- export type ManagedStackController<
38
+ export type BlankStackController<
38
39
  TDescriptor extends BaseStackDescriptor,
39
40
  TNavigation extends BaseStackNavigation,
40
41
  > = {
41
42
  subscribe: (listener: () => void) => () => void;
42
- getSnapshot: () => ManagedStackControllerSnapshot<TDescriptor>;
43
- update: (props: ManagedStackProps<TDescriptor, TNavigation>) => void;
43
+ getSnapshot: () => BlankStackControllerSnapshot<TDescriptor>;
44
+ update: (props: BlankStackProviderProps<TDescriptor, TNavigation>) => void;
44
45
  handleCloseRoute: (payload: { route: BaseStackRoute }) => void;
45
46
  requestDismiss: (payload: { route: BaseStackRoute }) => boolean;
46
47
  };
47
48
 
48
49
  export type ReconciledRoutes<TDescriptor extends BaseStackDescriptor> = {
49
- routes: ManagedRoutes<TDescriptor>;
50
- descriptors: ManagedDescriptorSources<TDescriptor>;
50
+ routes: BlankStackRoutes<TDescriptor>;
51
+ descriptors: BlankStackDescriptorSources<TDescriptor>;
51
52
  };
52
53
 
53
54
  export type SceneActivityWindow = {
@@ -1,26 +1,26 @@
1
1
  import { useRef, useSyncExternalStore } from "react";
2
- import type { ManagedStackProps } from "../../../../types/providers/managed-stack.types";
2
+ import type { BlankStackProviderProps } from "../../../types/providers/blank-stack-provider.types";
3
3
  import type {
4
4
  BaseStackDescriptor,
5
5
  BaseStackNavigation,
6
- } from "../../../../types/stack.types";
6
+ } from "../../../types/stack.types";
7
7
  import {
8
- createManagedStackController,
9
- type ManagedStackController,
10
- } from "./managed-stack-controller";
8
+ type BlankStackController,
9
+ createBlankStackController,
10
+ } from "./blank-stack-controller";
11
11
 
12
- export const useManagedStackState = <
12
+ export const useBlankStackState = <
13
13
  TDescriptor extends BaseStackDescriptor,
14
14
  TNavigation extends BaseStackNavigation,
15
15
  >(
16
- props: ManagedStackProps<TDescriptor, TNavigation>,
16
+ props: BlankStackProviderProps<TDescriptor, TNavigation>,
17
17
  ) => {
18
18
  const controllerRef = useRef<
19
- ManagedStackController<TDescriptor, TNavigation> | undefined
19
+ BlankStackController<TDescriptor, TNavigation> | undefined
20
20
  >(undefined);
21
21
 
22
22
  if (!controllerRef.current) {
23
- controllerRef.current = createManagedStackController(props);
23
+ controllerRef.current = createBlankStackController(props);
24
24
  }
25
25
 
26
26
  const controller = controllerRef.current;
@@ -0,0 +1,118 @@
1
+ import type { Route } from "@react-navigation/native";
2
+ import * as React from "react";
3
+ import { useMemo } from "react";
4
+ import {
5
+ type StackContextValue,
6
+ StackProvider,
7
+ } from "../../hooks/navigation/use-stack";
8
+ import type {
9
+ BlankStackProviderContextValue,
10
+ BlankStackProviderProps,
11
+ BlankStackProviderRenderProps,
12
+ BlankStackProviderResult,
13
+ } from "../../types/providers/blank-stack-provider.types";
14
+ import type {
15
+ BaseStackDescriptor,
16
+ BaseStackNavigation,
17
+ BaseStackScene,
18
+ } from "../../types/stack.types";
19
+ import { useBlankStackState } from "./blank-stack-state";
20
+ import { useStackCoreContext } from "./core.provider";
21
+
22
+ const BlankStackProviderContext =
23
+ React.createContext<BlankStackProviderContextValue | null>(null);
24
+ BlankStackProviderContext.displayName = "BlankStackProvider";
25
+
26
+ function useBlankStackContext(): BlankStackProviderContextValue {
27
+ const context = React.useContext(BlankStackProviderContext);
28
+ if (!context) {
29
+ throw new Error(
30
+ "useBlankStackContext must be used within BlankStackProvider",
31
+ );
32
+ }
33
+ return context;
34
+ }
35
+
36
+ function useBlankStackProviderValue<
37
+ TDescriptor extends BaseStackDescriptor,
38
+ TNavigation extends BaseStackNavigation,
39
+ >(
40
+ props: BlankStackProviderProps<TDescriptor, TNavigation>,
41
+ ): BlankStackProviderResult<TDescriptor> {
42
+ const { flags } = useStackCoreContext();
43
+ const { state, handleCloseRoute, requestDismiss } = useBlankStackState(props);
44
+ const navigatorKey = props.state.key;
45
+
46
+ const focusedIndex = props.state.index;
47
+
48
+ const stackContextValue = useMemo<StackContextValue>(
49
+ () => ({
50
+ flags,
51
+ navigatorKey,
52
+ routeKeys: state.routeKeys,
53
+ routes: state.routes as Route<string>[],
54
+ scenes: state.scenes as BaseStackScene[],
55
+ focusedIndex,
56
+ requestDismiss,
57
+ }),
58
+ [
59
+ flags,
60
+ navigatorKey,
61
+ state.routeKeys,
62
+ state.routes,
63
+ state.scenes,
64
+ focusedIndex,
65
+ requestDismiss,
66
+ ],
67
+ );
68
+
69
+ const blankStackProviderContextValue =
70
+ useMemo<BlankStackProviderContextValue>(
71
+ () => ({
72
+ handleCloseRoute,
73
+ }),
74
+ [handleCloseRoute],
75
+ );
76
+
77
+ const renderProps = useMemo<BlankStackProviderRenderProps<TDescriptor>>(
78
+ () => ({
79
+ scenes: state.scenes,
80
+ focusedIndex,
81
+ shouldShowFloatOverlay: state.shouldShowFloatOverlay,
82
+ }),
83
+ [state.scenes, focusedIndex, state.shouldShowFloatOverlay],
84
+ );
85
+
86
+ return { stackContextValue, blankStackProviderContextValue, renderProps };
87
+ }
88
+
89
+ function withBlankStack<
90
+ TDescriptor extends BaseStackDescriptor = BaseStackDescriptor,
91
+ TNavigation extends BaseStackNavigation = BaseStackNavigation,
92
+ >(
93
+ Component: React.ComponentType<BlankStackProviderRenderProps<TDescriptor>>,
94
+ ): React.FC<BlankStackProviderProps<TDescriptor, TNavigation>> {
95
+ return function BlankStackProvider(
96
+ props: BlankStackProviderProps<TDescriptor, TNavigation>,
97
+ ) {
98
+ const { stackContextValue, blankStackProviderContextValue, renderProps } =
99
+ useBlankStackProviderValue<TDescriptor, TNavigation>(props);
100
+
101
+ return (
102
+ <StackProvider value={stackContextValue}>
103
+ <BlankStackProviderContext.Provider
104
+ value={blankStackProviderContextValue}
105
+ >
106
+ <Component {...renderProps} />
107
+ </BlankStackProviderContext.Provider>
108
+ </StackProvider>
109
+ );
110
+ };
111
+ }
112
+
113
+ export type {
114
+ BlankStackProviderContextValue,
115
+ BlankStackProviderProps,
116
+ BlankStackProviderRenderProps,
117
+ };
118
+ export { useBlankStackContext, withBlankStack };
@@ -5,10 +5,6 @@ import {
5
5
  type StackContextValue,
6
6
  StackProvider,
7
7
  } from "../../hooks/navigation/use-stack";
8
- import {
9
- AnimationStore,
10
- type AnimationStoreMap,
11
- } from "../../stores/animation.store";
12
8
  import type {
13
9
  DirectStackContextValue,
14
10
  DirectStackProps,
@@ -16,7 +12,6 @@ import type {
16
12
  } from "../../types/providers/direct-stack.types";
17
13
  import { isOverlayVisible } from "../../utils/overlay/visibility";
18
14
  import { useStackCoreContext } from "./core.provider";
19
- import { useStackDerived } from "./helpers/use-stack-derived";
20
15
 
21
16
  function useDirectStackValue(
22
17
  props: DirectStackProps,
@@ -35,51 +30,49 @@ function useDirectStackValue(
35
30
  );
36
31
  }, [state.preloadedRoutes, describe]);
37
32
 
38
- const {
39
- scenes,
40
- shouldShowFloatOverlay,
41
- routeKeys,
42
- allRoutes,
43
- animationMaps,
44
- } = useMemo(() => {
45
- const allRoutes = state.routes.concat(state.preloadedRoutes);
46
- const scenes: DirectStackScene[] = [];
47
- const routeKeys: string[] = [];
48
- const animationMaps: AnimationStoreMap[] = [];
49
- const allDescriptors: NativeStackDescriptorMap = {
50
- ...preloadedDescriptors,
51
- ...descriptors,
52
- };
53
- let shouldShowFloatOverlay = false;
33
+ const { scenes, shouldShowFloatOverlay, routeKeys, allRoutes } =
34
+ useMemo(() => {
35
+ const allRoutes = state.routes.concat(state.preloadedRoutes);
36
+ const scenes: DirectStackScene[] = [];
37
+ const routeKeys: string[] = [];
38
+ const allDescriptors: NativeStackDescriptorMap = {
39
+ ...preloadedDescriptors,
40
+ ...descriptors,
41
+ };
42
+ let shouldShowFloatOverlay = false;
54
43
 
55
- for (const route of allRoutes) {
56
- const descriptor = allDescriptors[route.key];
57
- const isPreloaded =
58
- preloadedDescriptors[route.key] !== undefined &&
59
- descriptors[route.key] === undefined;
44
+ for (const route of allRoutes) {
45
+ const descriptor = allDescriptors[route.key];
46
+ const isPreloaded =
47
+ preloadedDescriptors[route.key] !== undefined &&
48
+ descriptors[route.key] === undefined;
60
49
 
61
- scenes.push({ route, descriptor, isPreloaded });
62
- routeKeys.push(route.key);
63
- animationMaps.push(AnimationStore.getBag(route.key));
50
+ scenes.push({ route, descriptor, isPreloaded });
51
+ routeKeys.push(route.key);
64
52
 
65
- if (!shouldShowFloatOverlay && descriptor) {
66
- const options = descriptor.options;
67
- if (options?.enableTransitions === true && isOverlayVisible(options)) {
68
- shouldShowFloatOverlay = true;
53
+ if (!shouldShowFloatOverlay && descriptor) {
54
+ const options = descriptor.options;
55
+ if (
56
+ options?.enableTransitions === true &&
57
+ isOverlayVisible(options)
58
+ ) {
59
+ shouldShowFloatOverlay = true;
60
+ }
69
61
  }
70
62
  }
71
- }
72
63
 
73
- return {
74
- scenes,
75
- shouldShowFloatOverlay,
76
- routeKeys,
77
- allRoutes,
78
- animationMaps,
79
- };
80
- }, [state.routes, state.preloadedRoutes, preloadedDescriptors, descriptors]);
81
-
82
- const { optimisticFocusedIndex } = useStackDerived(animationMaps);
64
+ return {
65
+ scenes,
66
+ shouldShowFloatOverlay,
67
+ routeKeys,
68
+ allRoutes,
69
+ };
70
+ }, [
71
+ state.routes,
72
+ state.preloadedRoutes,
73
+ preloadedDescriptors,
74
+ descriptors,
75
+ ]);
83
76
 
84
77
  const focusedIndex = state.index;
85
78
 
@@ -90,18 +83,9 @@ function useDirectStackValue(
90
83
  routeKeys,
91
84
  routes: allRoutes,
92
85
  scenes,
93
- optimisticFocusedIndex,
94
86
  focusedIndex,
95
87
  }),
96
- [
97
- flags,
98
- navigatorKey,
99
- routeKeys,
100
- allRoutes,
101
- scenes,
102
- optimisticFocusedIndex,
103
- focusedIndex,
104
- ],
88
+ [flags, navigatorKey, routeKeys, allRoutes, scenes, focusedIndex],
105
89
  );
106
90
 
107
91
  // DirectStack context value
@@ -10,6 +10,7 @@ export type AnimationStoreMap = {
10
10
  effectiveProgress: SharedValue<number>;
11
11
  willAnimate: SharedValue<number>;
12
12
  progressAnimating: SharedValue<number>;
13
+ progressSettled: SharedValue<number>;
13
14
  closing: SharedValue<number>;
14
15
  entering: SharedValue<number>;
15
16
  };
@@ -21,6 +22,7 @@ function createAnimationBag(): AnimationStoreMap {
21
22
  willAnimate: makeMutable(0),
22
23
  closing: makeMutable(0),
23
24
  progressAnimating: makeMutable(0),
25
+ progressSettled: makeMutable(1),
24
26
  entering: makeMutable(0),
25
27
  };
26
28
  }
@@ -37,6 +39,7 @@ export const AnimationStore = createStore<AnimationStoreMap>({
37
39
  cancelAnimation(bag.effectiveProgress);
38
40
  cancelAnimation(bag.willAnimate);
39
41
  cancelAnimation(bag.progressAnimating);
42
+ cancelAnimation(bag.progressSettled);
40
43
  cancelAnimation(bag.closing);
41
44
  cancelAnimation(bag.entering);
42
45
  },
@@ -16,6 +16,7 @@ type GestureRawStoreMap = {
16
16
  normY: SharedValue<number>;
17
17
  scale: SharedValue<number>;
18
18
  normScale: SharedValue<number>;
19
+ rotation: SharedValue<number>;
19
20
  };
20
21
 
21
22
  export type GestureStoreMap = {
@@ -28,6 +29,7 @@ export type GestureStoreMap = {
28
29
  normScale: SharedValue<number>;
29
30
  focalX: SharedValue<number>;
30
31
  focalY: SharedValue<number>;
32
+ rotation: SharedValue<number>;
31
33
  raw: GestureRawStoreMap;
32
34
  dismissing: SharedValue<number>;
33
35
  dragging: SharedValue<number>;
@@ -74,6 +76,7 @@ function createGestureBag(): GestureStoreMap {
74
76
  normScale,
75
77
  focalX: makeMutable(0),
76
78
  focalY: makeMutable(0),
79
+ rotation: makeMutable(0),
77
80
  raw: {
78
81
  x: makeMutable(0),
79
82
  y: makeMutable(0),
@@ -81,6 +84,7 @@ function createGestureBag(): GestureStoreMap {
81
84
  normY: makeMutable(0),
82
85
  scale: makeMutable(1),
83
86
  normScale: makeMutable(0),
87
+ rotation: makeMutable(0),
84
88
  },
85
89
  dismissing,
86
90
  dragging,
@@ -115,12 +119,14 @@ export const GestureStore = createStore<GestureStoreMap>({
115
119
  cancelAnimation(bag.normScale);
116
120
  cancelAnimation(bag.focalX);
117
121
  cancelAnimation(bag.focalY);
122
+ cancelAnimation(bag.rotation);
118
123
  cancelAnimation(bag.raw.x);
119
124
  cancelAnimation(bag.raw.y);
120
125
  cancelAnimation(bag.raw.normX);
121
126
  cancelAnimation(bag.raw.normY);
122
127
  cancelAnimation(bag.raw.scale);
123
128
  cancelAnimation(bag.raw.normScale);
129
+ cancelAnimation(bag.raw.rotation);
124
130
  cancelAnimation(bag.dismissing);
125
131
  cancelAnimation(bag.dragging);
126
132
  cancelAnimation(bag.settling);
@@ -3,14 +3,13 @@ import {
3
3
  makeMutable,
4
4
  type SharedValue,
5
5
  } from "react-native-reanimated";
6
- import { LOGICAL_SETTLE_REQUIRED_FRAMES } from "../constants";
7
6
  import type { Layout } from "../types/screen.types";
8
7
  import { createStore } from "../utils/create-store";
9
8
 
10
9
  export enum LifecycleTransitionRequestKind {
11
10
  None = 0,
12
11
  Open = 1,
13
- ManagedClose = 2,
12
+ BlankStackClose = 2,
14
13
  NativeClose = 3,
15
14
  }
16
15
 
@@ -37,11 +36,6 @@ type SystemStoreState = {
37
36
  */
38
37
  pendingLifecycleRequestTarget: SharedValue<number>;
39
38
 
40
- /**
41
- * Number of consecutive frames progress has stayed near its target.
42
- */
43
- logicalSettleFrameCount: SharedValue<number>;
44
-
45
39
  /**
46
40
  * Number of active blockers preventing a pending lifecycle request from
47
41
  * starting immediately.
@@ -78,7 +72,6 @@ export const SystemStore = createStore<SystemStoreState, SystemStoreActions>({
78
72
  LifecycleTransitionRequestKind.None,
79
73
  ),
80
74
  pendingLifecycleRequestTarget: makeMutable<number>(0),
81
- logicalSettleFrameCount: makeMutable(LOGICAL_SETTLE_REQUIRED_FRAMES),
82
75
  pendingLifecycleStartBlockCount: makeMutable<number>(0),
83
76
  }),
84
77
  disposeBag: (bag) => {
@@ -87,7 +80,6 @@ export const SystemStore = createStore<SystemStoreState, SystemStoreActions>({
87
80
  cancelAnimation(bag.measuredContentLayout);
88
81
  cancelAnimation(bag.pendingLifecycleRequestKind);
89
82
  cancelAnimation(bag.pendingLifecycleRequestTarget);
90
- cancelAnimation(bag.logicalSettleFrameCount);
91
83
  cancelAnimation(bag.pendingLifecycleStartBlockCount);
92
84
  },
93
85
  actions: (bag) => ({
@@ -1,14 +1,11 @@
1
1
  import type { TextStyle, ViewStyle } from "react-native";
2
- import type {
3
- StyleProps,
4
- WithSpringConfig,
5
- WithTimingConfig,
6
- } from "react-native-reanimated";
2
+ import type { StyleProps } from "react-native-reanimated";
7
3
  import type { EdgeInsets } from "react-native-safe-area-context";
8
4
  import {
9
5
  NAVIGATION_MASK_CONTAINER_STYLE_ID,
10
6
  NAVIGATION_MASK_ELEMENT_STYLE_ID,
11
7
  } from "../constants";
8
+ import type { ScreenAnimationConfig } from "../utils/animation/animate";
12
9
  import type { BoundsAccessor } from "./bounds.types";
13
10
  import type { GestureValues } from "./gesture.types";
14
11
  import type { ScreenLayouts, ScreenTransitionConfig } from "./screen.types";
@@ -90,18 +87,19 @@ export type ScreenTransitionState = {
90
87
  animating: number;
91
88
 
92
89
  /**
93
- * Whether this screen is fully settled (not transitioning and not dismissing).
94
- * - `0`: Transition/gesture is active or dismissing
95
- * - `1`: Screen is fully settled/idle
90
+ * Whether this screen is visually settled for choreography purposes.
91
+ * - `0`: The screen is still meaningfully away from its animation target
92
+ * - `1`: The screen is close enough to its target to be treated as done
93
+ *
94
+ * This may become `1` while `animating` is still `1`, since the animation
95
+ * driver can keep physically settling after the transition is visually done.
96
96
  */
97
97
  settled: number;
98
98
 
99
99
  /**
100
- * Whether this screen is logically complete for choreography purposes.
101
- * - `0`: The screen is still meaningfully away from its animation target
102
- * - `1`: The screen is visually close enough to its target to be treated as done
100
+ * Deprecated alias for `settled`.
103
101
  *
104
- * Unlike `settled`, this may become `1` before the underlying spring fully stops.
102
+ * @deprecated Use `settled` instead.
105
103
  */
106
104
  logicallySettled: number;
107
105
 
@@ -233,7 +231,7 @@ export interface ScreenInterpolationProps {
233
231
  * Whether the active transition is visually close enough to its target to be
234
232
  * treated as complete, even if the animation is still physically settling.
235
233
  *
236
- * @deprecated Use `active.logicallySettled` instead. Screen settlement state
234
+ * @deprecated Use `active.settled` instead. Screen settlement state
237
235
  * belongs on the screen state object.
238
236
  */
239
237
  logicallySettled: number;
@@ -372,7 +370,7 @@ export type TransitionInterpolatedStyle = {
372
370
  /**
373
371
  * A Reanimated animation configuration object.
374
372
  */
375
- export type AnimationConfig = WithSpringConfig | WithTimingConfig;
373
+ export type AnimationConfig = ScreenAnimationConfig;
376
374
 
377
375
  /**
378
376
  * Defines separate animation configurations for screen transitions and snap point changes.
@@ -240,7 +240,7 @@ export type BoundsNavigationRevealOptions = {
240
240
  backgroundScale?: number;
241
241
  /**
242
242
  * Whether reveal should reset the unfocused background content scale once the
243
- * transition is logically settled.
243
+ * transition is visually settled.
244
244
  *
245
245
  * By default, reveal restores the background to scale `1` after settle so the
246
246
  * next drag or programmatic dismiss starts from a fresh, unmodified layout