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
@@ -14,7 +14,9 @@ import type {
14
14
  ActivationArea,
15
15
  GestureActivationArea,
16
16
  GestureDirection,
17
- ScreenTransitionOptions,
17
+ GestureDirectionActivationArea,
18
+ GestureDirectionEntry,
19
+ ScreenTransitionConfig,
18
20
  TransitionInterpolatedStyle,
19
21
  } from "../../../types";
20
22
  import type { BackdropBehavior } from "../../../types/screen.types";
@@ -31,22 +33,6 @@ import type {
31
33
  ScreenOptionsState,
32
34
  } from "./types";
33
35
 
34
- const cloneGestureDirection = (
35
- direction: RequiredScreenOption<"gestureDirection">,
36
- ) => {
37
- "worklet";
38
- return Array.isArray(direction) ? [...direction] : direction;
39
- };
40
-
41
- const cloneGestureActivationArea = (
42
- activationArea: RequiredScreenOption<"gestureActivationArea">,
43
- ) => {
44
- "worklet";
45
- return typeof activationArea === "object" && activationArea !== null
46
- ? { ...activationArea }
47
- : activationArea;
48
- };
49
-
50
36
  const resolveBooleanOption = <T extends boolean | undefined>(
51
37
  value: unknown,
52
38
  fallback: T,
@@ -78,18 +64,68 @@ const isGestureDirection = (value: unknown): value is GestureDirection => {
78
64
  );
79
65
  };
80
66
 
67
+ const isGestureDirectionActivationArea = (
68
+ value: unknown,
69
+ ): value is GestureDirectionActivationArea => {
70
+ "worklet";
71
+ return (
72
+ value === "edge" ||
73
+ value === "screen" ||
74
+ (typeof value === "number" && Number.isFinite(value) && value >= 0)
75
+ );
76
+ };
77
+
78
+ const isGestureDirectionEntry = (
79
+ value: unknown,
80
+ ): value is GestureDirectionEntry => {
81
+ "worklet";
82
+ if (isGestureDirection(value)) {
83
+ return true;
84
+ }
85
+
86
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
87
+ return false;
88
+ }
89
+
90
+ const config = value as Record<string, unknown>;
91
+ return (
92
+ isGestureDirection(config.gesture) &&
93
+ (config.area === undefined || isGestureDirectionActivationArea(config.area))
94
+ );
95
+ };
96
+
97
+ const cloneGestureDirectionEntry = (
98
+ entry: GestureDirectionEntry,
99
+ ): GestureDirectionEntry => {
100
+ "worklet";
101
+ if (typeof entry === "string") {
102
+ return entry;
103
+ }
104
+
105
+ return entry.area === undefined
106
+ ? { gesture: entry.gesture }
107
+ : { gesture: entry.gesture, area: entry.area };
108
+ };
109
+
81
110
  const resolveGestureDirectionOption = (
82
111
  value: unknown,
83
112
  fallback: RequiredScreenOption<"gestureDirection">,
84
113
  ): RequiredScreenOption<"gestureDirection"> => {
85
114
  "worklet";
86
- if (isGestureDirection(value)) {
87
- return value;
115
+ if (isGestureDirectionEntry(value)) {
116
+ return cloneGestureDirectionEntry(value);
88
117
  }
89
- if (Array.isArray(value) && value.every(isGestureDirection)) {
90
- return [...value];
118
+ if (Array.isArray(value)) {
119
+ const entries: GestureDirectionEntry[] = [];
120
+ for (const entry of value) {
121
+ if (!isGestureDirectionEntry(entry)) {
122
+ return fallback;
123
+ }
124
+ entries.push(cloneGestureDirectionEntry(entry));
125
+ }
126
+ return entries;
91
127
  }
92
- return cloneGestureDirection(fallback);
128
+ return fallback;
93
129
  };
94
130
 
95
131
  const isActivationArea = (value: unknown): value is ActivationArea => {
@@ -114,7 +150,7 @@ const resolveGestureActivationAreaOption = (
114
150
  (area.bottom === undefined || isActivationArea(area.bottom));
115
151
  return isValid ? (area as GestureActivationArea) : fallback;
116
152
  }
117
- return cloneGestureActivationArea(fallback);
153
+ return fallback;
118
154
  };
119
155
 
120
156
  const resolveSheetScrollGestureBehaviorOption = (
@@ -193,17 +229,37 @@ const areGestureActivationAreasEqual = (
193
229
  );
194
230
  };
195
231
 
232
+ const areGestureDirectionEntriesEqual = (
233
+ left: GestureDirectionEntry,
234
+ right: GestureDirectionEntry,
235
+ ) => {
236
+ "worklet";
237
+ if (left === right) return true;
238
+
239
+ if (typeof left === "string" || typeof right === "string") {
240
+ return false;
241
+ }
242
+
243
+ return left.gesture === right.gesture && left.area === right.area;
244
+ };
245
+
196
246
  const areGestureDirectionsEqual = (
197
247
  left: RequiredScreenOption<"gestureDirection">,
198
248
  right: RequiredScreenOption<"gestureDirection">,
199
249
  ) => {
200
250
  "worklet";
201
- if (left === right) return true;
251
+ if (
252
+ !Array.isArray(left) &&
253
+ !Array.isArray(right) &&
254
+ areGestureDirectionEntriesEqual(left, right)
255
+ ) {
256
+ return true;
257
+ }
202
258
  if (!Array.isArray(left) || !Array.isArray(right)) return false;
203
259
  if (left.length !== right.length) return false;
204
260
 
205
261
  for (let i = 0; i < left.length; i++) {
206
- if (left[i] !== right[i]) {
262
+ if (!areGestureDirectionEntriesEqual(left[i], right[i])) {
207
263
  return false;
208
264
  }
209
265
  }
@@ -235,12 +291,13 @@ const areScreenOptionsEqual = (
235
291
  left.gestureSnapLocked === right.gestureSnapLocked &&
236
292
  left.sheetScrollGestureBehavior === right.sheetScrollGestureBehavior &&
237
293
  left.backdropBehavior === right.backdropBehavior &&
294
+ left.transitionSpec === right.transitionSpec &&
238
295
  left.baseOptions === right.baseOptions
239
296
  );
240
297
  };
241
298
 
242
299
  export const resolveBaseScreenOptions = (
243
- options: ScreenTransitionOptions,
300
+ options: ScreenTransitionConfig,
244
301
  ): ScreenOptionsSnapshot => {
245
302
  const gestureProgressMode = resolveGestureProgressModeOption(
246
303
  options.gestureProgressMode,
@@ -301,6 +358,7 @@ export const resolveBaseScreenOptions = (
301
358
  options.backdropBehavior,
302
359
  undefined,
303
360
  ),
361
+ transitionSpec: options.transitionSpec,
304
362
  };
305
363
  };
306
364
 
@@ -311,10 +369,6 @@ export const syncScreenOptionsBase = (
311
369
  "worklet";
312
370
  const next = {
313
371
  ...base,
314
- gestureDirection: cloneGestureDirection(base.gestureDirection),
315
- gestureActivationArea: cloneGestureActivationArea(
316
- base.gestureActivationArea,
317
- ),
318
372
  baseOptions: base,
319
373
  };
320
374
 
@@ -386,6 +440,7 @@ export const syncScreenOptionsOverrides = (
386
440
  options?.backdropBehavior,
387
441
  base.backdropBehavior,
388
442
  ),
443
+ transitionSpec: base.transitionSpec,
389
444
  baseOptions: base,
390
445
  };
391
446
 
@@ -1,12 +1,12 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { SharedValue } from "react-native-reanimated";
3
- import type { ScreenTransitionOptions } from "../../../types";
3
+ import type { ScreenTransitionConfig } from "../../../types";
4
4
 
5
5
  export type RuntimeOption<T> = SharedValue<T>;
6
- export type RequiredScreenOption<K extends keyof ScreenTransitionOptions> =
7
- NonNullable<ScreenTransitionOptions[K]>;
8
- export type OptionalScreenOption<K extends keyof ScreenTransitionOptions> =
9
- ScreenTransitionOptions[K];
6
+ export type RequiredScreenOption<K extends keyof ScreenTransitionConfig> =
7
+ NonNullable<ScreenTransitionConfig[K]>;
8
+ export type OptionalScreenOption<K extends keyof ScreenTransitionConfig> =
9
+ ScreenTransitionConfig[K];
10
10
 
11
11
  export type ScreenOptionsSnapshot = {
12
12
  navigationMaskEnabled: OptionalScreenOption<"navigationMaskEnabled">;
@@ -24,6 +24,7 @@ export type ScreenOptionsSnapshot = {
24
24
  gestureSnapLocked: RequiredScreenOption<"gestureSnapLocked">;
25
25
  sheetScrollGestureBehavior: RequiredScreenOption<"sheetScrollGestureBehavior">;
26
26
  backdropBehavior: OptionalScreenOption<"backdropBehavior">;
27
+ transitionSpec: OptionalScreenOption<"transitionSpec">;
27
28
  };
28
29
 
29
30
  export type ScreenOptionsState = ScreenOptionsSnapshot & {
@@ -1,15 +1,15 @@
1
1
  import { memo } from "react";
2
2
  import { StyleSheet, View } from "react-native";
3
3
 
4
- interface MaybeFloatingContainerProps {
4
+ interface FloatingOverlayLayerProps {
5
5
  children: React.ReactNode;
6
- isFloatingOverlay?: boolean;
6
+ enabled?: boolean;
7
7
  }
8
- export const MaybeFloatingContainer = memo(function MaybeFloatingContainer({
8
+ export const FloatingOverlayLayer = memo(function FloatingOverlayLayer({
9
9
  children,
10
- isFloatingOverlay,
11
- }: MaybeFloatingContainerProps) {
12
- if (!isFloatingOverlay) {
10
+ enabled,
11
+ }: FloatingOverlayLayerProps) {
12
+ if (!enabled) {
13
13
  return children;
14
14
  }
15
15
  return (
@@ -3,7 +3,7 @@ import { StyleSheet } from "react-native";
3
3
  import Animated, { type SharedValue } from "react-native-reanimated";
4
4
  import type { NormalizedTransitionInterpolatedStyle } from "../../../types/animation.types";
5
5
  import createProvider from "../../../utils/create-provider";
6
- import { MaybeFloatingContainer } from "./components/maybe-floating-container";
6
+ import { FloatingOverlayLayer } from "./components/floating-overlay-layer";
7
7
  import { useInterpolatedStylesMap } from "./hooks/use-interpolated-style-maps";
8
8
  import { useMaybeBlockVisibility } from "./hooks/use-maybe-block-visibility";
9
9
  import { useResolvedStylesMap } from "./hooks/use-resolved-slot-style-map";
@@ -41,14 +41,14 @@ export const {
41
41
  stylesMap,
42
42
  },
43
43
  children: (
44
- <MaybeFloatingContainer isFloatingOverlay={isFloatingOverlay}>
44
+ <FloatingOverlayLayer enabled={isFloatingOverlay}>
45
45
  <Animated.View
46
46
  style={[styles.container, animatedStyle]}
47
47
  animatedProps={animatedProps}
48
48
  >
49
49
  {children}
50
50
  </Animated.View>
51
- </MaybeFloatingContainer>
51
+ </FloatingOverlayLayer>
52
52
  ),
53
53
  };
54
54
  });
@@ -1,42 +1,42 @@
1
1
  import { StackActions } from "@react-navigation/native";
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
6
  BaseStackRoute,
7
- } from "../../../../types/stack.types";
8
- import { buildManagedStackState } from "./helpers/build-managed-stack-state";
9
- import { deriveManagedStackState } from "./helpers/derive-managed-stack-state";
7
+ } from "../../../types/stack.types";
8
+ import { buildBlankStackState } from "./helpers/build-blank-stack-state";
9
+ import { deriveBlankStackState } from "./helpers/derive-blank-stack-state";
10
10
  import type {
11
- ManagedDescriptorSources,
12
- ManagedStackControllerSnapshot,
13
- ManagedStackController as ManagedStackControllerType,
11
+ BlankStackControllerSnapshot,
12
+ BlankStackController as BlankStackControllerType,
13
+ BlankStackDescriptorSources,
14
14
  } from "./helpers/types";
15
15
 
16
- export type { ManagedStackController } from "./helpers/types";
16
+ export type { BlankStackController } from "./helpers/types";
17
17
 
18
18
  /**
19
- * Maintains the stack-local route snapshot used while managed transitions run.
19
+ * Maintains the stack-local route snapshot used while blank stack transitions run.
20
20
  *
21
21
  * React Navigation remains the source of truth for settled routes, but it can
22
22
  * remove descriptors before our close animation has finished. This controller
23
23
  * keeps those closing routes locally until their lifecycle reports completion.
24
24
  */
25
- export const createManagedStackController = <
25
+ export const createBlankStackController = <
26
26
  TDescriptor extends BaseStackDescriptor,
27
27
  TNavigation extends BaseStackNavigation,
28
28
  >(
29
- initialProps: ManagedStackProps<TDescriptor, TNavigation>,
30
- ): ManagedStackControllerType<TDescriptor, TNavigation> => {
29
+ initialProps: BlankStackProviderProps<TDescriptor, TNavigation>,
30
+ ): BlankStackControllerType<TDescriptor, TNavigation> => {
31
31
  const closingRouteKeys = new Set<string>();
32
32
  let props = initialProps;
33
33
  let previousRoutesSnapshot = initialProps.state.routes;
34
- let snapshot: ManagedStackControllerSnapshot<TDescriptor> = {
35
- state: buildManagedStackState({
34
+ let snapshot: BlankStackControllerSnapshot<TDescriptor> = {
35
+ state: buildBlankStackState({
36
36
  props,
37
37
  routes: initialProps.state.routes,
38
38
  descriptors:
39
- initialProps.descriptors as ManagedDescriptorSources<TDescriptor>,
39
+ initialProps.descriptors as BlankStackDescriptorSources<TDescriptor>,
40
40
  closingRouteKeys,
41
41
  }),
42
42
  };
@@ -55,15 +55,17 @@ export const createManagedStackController = <
55
55
  };
56
56
  };
57
57
 
58
- const getSnapshot = (): ManagedStackControllerSnapshot<TDescriptor> => {
58
+ const getSnapshot = (): BlankStackControllerSnapshot<TDescriptor> => {
59
59
  return snapshot;
60
60
  };
61
61
 
62
- const update = (nextProps: ManagedStackProps<TDescriptor, TNavigation>) => {
62
+ const update = (
63
+ nextProps: BlankStackProviderProps<TDescriptor, TNavigation>,
64
+ ) => {
63
65
  const lastRoutesSnapshot = previousRoutesSnapshot;
64
66
  props = nextProps;
65
67
 
66
- const nextState = deriveManagedStackState({
68
+ const nextState = deriveBlankStackState({
67
69
  props,
68
70
  current: snapshot.state,
69
71
  previousRoutesSnapshot: lastRoutesSnapshot,
@@ -111,7 +113,7 @@ export const createManagedStackController = <
111
113
  delete nextDescriptors[route.key];
112
114
 
113
115
  snapshot = {
114
- state: buildManagedStackState({
116
+ state: buildBlankStackState({
115
117
  props,
116
118
  routes: nextRoutes,
117
119
  descriptors: nextDescriptors,
@@ -138,7 +140,7 @@ export const createManagedStackController = <
138
140
 
139
141
  closingRouteKeys.add(route.key);
140
142
  snapshot = {
141
- state: buildManagedStackState({
143
+ state: buildBlankStackState({
142
144
  props,
143
145
  routes: current.routes,
144
146
  descriptors: current.sourceDescriptors,
@@ -1,13 +1,13 @@
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
  BaseStackScene,
6
6
  StackDescriptorSource,
7
7
  StackSceneActivity,
8
- } from "../../../../../types/stack.types";
9
- import { resolveSceneNeighbors } from "../../../../../utils/navigation/resolve-scene-neighbors";
10
- import { isOverlayVisible } from "../../../../../utils/overlay/visibility";
8
+ } from "../../../../types/stack.types";
9
+ import { isOverlayVisible } from "../../../../utils/overlay/visibility";
10
+ import { resolveSceneNeighbors } from "./navigation/resolve-scene-neighbors";
11
11
  import {
12
12
  areDescriptorSourcesEquivalent,
13
13
  areDescriptorsEqual,
@@ -15,22 +15,22 @@ import {
15
15
  getRouteChildState,
16
16
  routeKeyListsAreEqual,
17
17
  setsAreEqual,
18
- } from "./helpers";
18
+ } from "./state-equality";
19
19
  import type {
20
+ BlankStackDescriptorSources,
21
+ BlankStackDescriptors,
22
+ BlankStackRoutes,
20
23
  LocalRoutesState,
21
- ManagedDescriptorSources,
22
- ManagedDescriptors,
23
- ManagedRoutes,
24
24
  SceneActivityWindow,
25
25
  } from "./types";
26
26
 
27
- type BuildManagedStackStateParams<
27
+ type BuildBlankStackStateParams<
28
28
  TDescriptor extends BaseStackDescriptor,
29
29
  TNavigation extends BaseStackNavigation,
30
30
  > = {
31
- props: ManagedStackProps<TDescriptor, TNavigation>;
32
- routes: ManagedRoutes<TDescriptor>;
33
- descriptors: ManagedDescriptorSources<TDescriptor>;
31
+ props: BlankStackProviderProps<TDescriptor, TNavigation>;
32
+ routes: BlankStackRoutes<TDescriptor>;
33
+ descriptors: BlankStackDescriptorSources<TDescriptor>;
34
34
  closingRouteKeys: ReadonlySet<string>;
35
35
  previousState?: LocalRoutesState<TDescriptor>;
36
36
  };
@@ -83,7 +83,7 @@ const getSceneActivity = ({
83
83
  };
84
84
 
85
85
  const getNonClosingSceneIndices = <TDescriptor extends BaseStackDescriptor>(
86
- routes: ManagedRoutes<TDescriptor>,
86
+ routes: BlankStackRoutes<TDescriptor>,
87
87
  closingRouteKeys: ReadonlySet<string>,
88
88
  ) => {
89
89
  const indices: number[] = [];
@@ -105,7 +105,7 @@ const getSceneActivityWindow = <
105
105
  props,
106
106
  routes,
107
107
  closingRouteKeys,
108
- }: BuildManagedStackStateParams<
108
+ }: BuildBlankStackStateParams<
109
109
  TDescriptor,
110
110
  TNavigation
111
111
  >): SceneActivityWindow => {
@@ -161,14 +161,14 @@ const buildBaseScenes = <
161
161
  closingRouteKeys,
162
162
  previousState,
163
163
  activityWindow,
164
- }: BuildManagedStackStateParams<TDescriptor, TNavigation> & {
164
+ }: BuildBlankStackStateParams<TDescriptor, TNavigation> & {
165
165
  activityWindow: SceneActivityWindow;
166
166
  }) => {
167
167
  const routeKeys: string[] = [];
168
168
  const scenes: BaseStackScene<TDescriptor>[] = [];
169
169
  const routeChildStates: Record<string, unknown> = {};
170
- const sourceDescriptors = {} as ManagedDescriptorSources<TDescriptor>;
171
- const managedDescriptors = {} as ManagedDescriptors<TDescriptor>;
170
+ const sourceDescriptors = {} as BlankStackDescriptorSources<TDescriptor>;
171
+ const blankStackDescriptors = {} as BlankStackDescriptors<TDescriptor>;
172
172
  let shouldShowFloatOverlay = false;
173
173
 
174
174
  for (let sceneIndex = 0; sceneIndex < routes.length; sceneIndex++) {
@@ -215,7 +215,7 @@ const buildBaseScenes = <
215
215
  routeKeys.push(route.key);
216
216
  routeChildStates[route.key] = routeChildState;
217
217
  sourceDescriptors[route.key] = sourceDescriptor;
218
- managedDescriptors[route.key] = descriptor;
218
+ blankStackDescriptors[route.key] = descriptor;
219
219
 
220
220
  if (!shouldShowFloatOverlay) {
221
221
  shouldShowFloatOverlay = isOverlayVisible(sourceDescriptor?.options);
@@ -231,7 +231,7 @@ const buildBaseScenes = <
231
231
  scenes,
232
232
  routeChildStates,
233
233
  sourceDescriptors,
234
- descriptors: managedDescriptors,
234
+ descriptors: blankStackDescriptors,
235
235
  routeKeys,
236
236
  shouldShowFloatOverlay,
237
237
  };
@@ -244,7 +244,7 @@ const withSceneRelationships = <TDescriptor extends BaseStackDescriptor>({
244
244
  previousState,
245
245
  }: {
246
246
  scenes: BaseStackScene<TDescriptor>[];
247
- sourceDescriptors: ManagedDescriptorSources<TDescriptor>;
247
+ sourceDescriptors: BlankStackDescriptorSources<TDescriptor>;
248
248
  closingRouteKeys: ReadonlySet<string>;
249
249
  previousState?: LocalRoutesState<TDescriptor>;
250
250
  }): BaseStackScene<TDescriptor>[] => {
@@ -308,11 +308,11 @@ const withSceneRelationships = <TDescriptor extends BaseStackDescriptor>({
308
308
  return nextScenes;
309
309
  };
310
310
 
311
- export const buildManagedStackState = <
311
+ export const buildBlankStackState = <
312
312
  TDescriptor extends BaseStackDescriptor,
313
313
  TNavigation extends BaseStackNavigation,
314
314
  >(
315
- params: BuildManagedStackStateParams<TDescriptor, TNavigation>,
315
+ params: BuildBlankStackStateParams<TDescriptor, TNavigation>,
316
316
  ): LocalRoutesState<TDescriptor> => {
317
317
  const activityWindow = getSceneActivityWindow(params);
318
318
  const focusedRouteKey =
@@ -322,7 +322,7 @@ export const buildManagedStackState = <
322
322
  scenes: baseScenes,
323
323
  routeChildStates,
324
324
  sourceDescriptors,
325
- descriptors: managedDescriptors,
325
+ descriptors: blankStackDescriptors,
326
326
  routeKeys,
327
327
  shouldShowFloatOverlay,
328
328
  } = buildBaseScenes({
@@ -343,9 +343,12 @@ export const buildManagedStackState = <
343
343
  routes: params.routes,
344
344
  descriptors:
345
345
  params.previousState &&
346
- areDescriptorsEqual(params.previousState.descriptors, managedDescriptors)
346
+ areDescriptorsEqual(
347
+ params.previousState.descriptors,
348
+ blankStackDescriptors,
349
+ )
347
350
  ? params.previousState.descriptors
348
- : managedDescriptors,
351
+ : blankStackDescriptors,
349
352
  sourceDescriptors:
350
353
  params.previousState &&
351
354
  areDescriptorsEqual(
@@ -1,10 +1,11 @@
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
  RouteWithKey,
6
- } from "../../../../../types/stack.types";
7
- import { buildManagedStackState } from "./build-managed-stack-state";
6
+ } from "../../../../types/stack.types";
7
+ import { buildBlankStackState } from "./build-blank-stack-state";
8
+ import { reconcileBlankStackRoutes } from "./reconcile-blank-stack-routes";
8
9
  import {
9
10
  areDescriptorSourceMapsEquivalent,
10
11
  areDescriptorsEqual,
@@ -12,17 +13,16 @@ import {
12
13
  getRouteChildStateMap,
13
14
  routesHaveSameKeys,
14
15
  setsAreEqual,
15
- } from "./helpers";
16
- import { reconcileManagedRoutes } from "./reconcile-managed-routes";
17
- import type { LocalRoutesState, ManagedRoutes } from "./types";
16
+ } from "./state-equality";
17
+ import type { BlankStackRoutes, LocalRoutesState } from "./types";
18
18
 
19
- type DeriveManagedStackStateParams<
19
+ type DeriveBlankStackStateParams<
20
20
  TDescriptor extends BaseStackDescriptor,
21
21
  TNavigation extends BaseStackNavigation,
22
22
  > = {
23
- props: ManagedStackProps<TDescriptor, TNavigation>;
23
+ props: BlankStackProviderProps<TDescriptor, TNavigation>;
24
24
  current: LocalRoutesState<TDescriptor>;
25
- previousRoutesSnapshot: ManagedRoutes<TDescriptor>;
25
+ previousRoutesSnapshot: BlankStackRoutes<TDescriptor>;
26
26
  closingRouteKeys: Set<string>;
27
27
  };
28
28
 
@@ -36,7 +36,7 @@ const routesAreIdentical = <Route extends RouteWithKey>(
36
36
  return a.every((route, index) => route === b[index]);
37
37
  };
38
38
 
39
- export const deriveManagedStackState = <
39
+ export const deriveBlankStackState = <
40
40
  TDescriptor extends BaseStackDescriptor,
41
41
  TNavigation extends BaseStackNavigation,
42
42
  >({
@@ -44,7 +44,7 @@ export const deriveManagedStackState = <
44
44
  current,
45
45
  previousRoutesSnapshot,
46
46
  closingRouteKeys,
47
- }: DeriveManagedStackStateParams<
47
+ }: DeriveBlankStackStateParams<
48
48
  TDescriptor,
49
49
  TNavigation
50
50
  >): LocalRoutesState<TDescriptor> => {
@@ -87,7 +87,7 @@ export const deriveManagedStackState = <
87
87
  return current;
88
88
  }
89
89
 
90
- const result = reconcileManagedRoutes({
90
+ const result = reconcileBlankStackRoutes({
91
91
  current,
92
92
  previousRoutesSnapshot,
93
93
  nextRoutesSnapshot,
@@ -109,7 +109,7 @@ export const deriveManagedStackState = <
109
109
  return current;
110
110
  }
111
111
 
112
- return buildManagedStackState({
112
+ return buildBlankStackState({
113
113
  props,
114
114
  routes: routesChanged ? result.routes : current.routes,
115
115
  descriptors: descriptorsChanged
@@ -1,4 +1,4 @@
1
- import type { RouteWithKey } from "../../types/stack.types";
1
+ import type { RouteWithKey } from "../../../../../types/stack.types";
2
2
 
3
3
  export const composeDescriptors = <
4
4
  Route extends RouteWithKey,
@@ -1,9 +1,6 @@
1
- import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-route-keys";
2
- import type { RouteWithKey } from "../../types/stack.types";
1
+ import type { RouteWithKey } from "../../../../../types/stack.types";
3
2
  import { composeDescriptors } from "./compose-descriptors";
4
3
 
5
- type ClosingRouteKeys = Set<string> | ReturnType<typeof useClosingRouteKeys>;
6
-
7
4
  type SyncRoutesWithRemovedParams<
8
5
  Route extends RouteWithKey,
9
6
  DescriptorMap extends Record<string, unknown>,
@@ -12,36 +9,7 @@ type SyncRoutesWithRemovedParams<
12
9
  prevDescriptors: DescriptorMap;
13
10
  nextRoutes: Route[];
14
11
  nextDescriptors: DescriptorMap;
15
- closingRouteKeys: ClosingRouteKeys;
16
- };
17
-
18
- const addClosingRouteKey = (
19
- closingRouteKeys: ClosingRouteKeys,
20
- key: string,
21
- ) => {
22
- closingRouteKeys.add(key);
23
- };
24
-
25
- const deleteClosingRouteKey = (
26
- closingRouteKeys: ClosingRouteKeys,
27
- key: string,
28
- ) => {
29
- if (closingRouteKeys instanceof Set) {
30
- closingRouteKeys.delete(key);
31
- return;
32
- }
33
-
34
- closingRouteKeys.remove(key);
35
- };
36
-
37
- const getClosingRouteKeyValues = (
38
- closingRouteKeys: ClosingRouteKeys,
39
- ): Iterable<string> => {
40
- if (closingRouteKeys instanceof Set) {
41
- return closingRouteKeys;
42
- }
43
-
44
- return closingRouteKeys.ref.current;
12
+ closingRouteKeys: Set<string>;
45
13
  };
46
14
 
47
15
  /**
@@ -91,16 +59,16 @@ export const syncRoutesWithRemoved = <
91
59
 
92
60
  if (nextRouteWasPresent && !previousRouteStillPresent) {
93
61
  // Previous route was removed, mark as closing
94
- addClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
62
+ closingRouteKeys.add(previousFocusedRoute.key);
95
63
 
96
64
  derivedRoutes.push(previousFocusedRoute);
97
65
  } else {
98
66
  // Next route is now active, not closing
99
- deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
67
+ closingRouteKeys.delete(nextFocusedRoute.key);
100
68
 
101
69
  if (!previousRouteStillPresent) {
102
70
  // Previous route needs to be inserted for transition
103
- deleteClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
71
+ closingRouteKeys.delete(previousFocusedRoute.key);
104
72
 
105
73
  const insertIndex = Math.max(derivedRoutes.length - 1, 0);
106
74
  derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
@@ -108,14 +76,14 @@ export const syncRoutesWithRemoved = <
108
76
  }
109
77
  } else if (nextFocusedRoute) {
110
78
  // Same focused route, ensure it's not marked as closing
111
- deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
79
+ closingRouteKeys.delete(nextFocusedRoute.key);
112
80
  }
113
81
 
114
82
  // Clean up closing keys that are no longer in the route list
115
83
  const activeKeys = new Set(derivedRoutes.map((route) => route.key));
116
- for (const key of Array.from(getClosingRouteKeyValues(closingRouteKeys))) {
84
+ for (const key of Array.from(closingRouteKeys)) {
117
85
  if (!activeKeys.has(key)) {
118
- deleteClosingRouteKey(closingRouteKeys, key);
86
+ closingRouteKeys.delete(key);
119
87
  }
120
88
  }
121
89