react-native-screen-transitions 3.5.2 → 3.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1288) hide show
  1. package/README.md +23 -1081
  2. package/lib/commonjs/shared/animation/snap-to.js +4 -6
  3. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  4. package/lib/commonjs/shared/components/create-boundary-component/components/boundary-target.js +4 -2
  5. package/lib/commonjs/shared/components/create-boundary-component/components/boundary-target.js.map +1 -1
  6. package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js +22 -29
  7. package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
  8. package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +43 -0
  9. package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +1 -0
  10. package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +3 -3
  11. package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +1 -1
  12. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +28 -0
  13. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +1 -0
  14. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +14 -147
  15. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +1 -1
  16. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js +1 -8
  17. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +1 -1
  18. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js +45 -0
  19. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +1 -0
  20. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js +5 -15
  21. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
  22. package/lib/commonjs/shared/components/create-boundary-component/hooks/{use-capture-destination-boundary.js → use-initial-destination-measurement.js} +26 -36
  23. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -0
  24. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js +31 -0
  25. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -0
  26. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +48 -38
  27. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  28. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +29 -31
  29. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  30. package/lib/commonjs/shared/components/create-boundary-component/providers/boundary-owner.provider.js +15 -11
  31. package/lib/commonjs/shared/components/create-boundary-component/providers/boundary-owner.provider.js.map +1 -1
  32. package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -1
  33. package/lib/commonjs/shared/components/create-transition-aware-component.js +12 -7
  34. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  35. package/lib/commonjs/shared/components/native-screen.js +2 -2
  36. package/lib/commonjs/shared/components/native-screen.js.map +1 -1
  37. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +1 -1
  38. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  39. package/lib/commonjs/shared/{utils/gesture → components/screen-container/helpers}/find-collapse-target.js +18 -13
  40. package/lib/commonjs/shared/components/screen-container/helpers/find-collapse-target.js.map +1 -0
  41. package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +15 -2
  42. package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
  43. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +7 -7
  44. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  45. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +12 -5
  46. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  47. package/lib/commonjs/shared/components/screen-container/layers/content.js +2 -2
  48. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  49. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +18 -11
  50. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  51. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +16 -5
  52. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  53. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js +4 -12
  54. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js.map +1 -1
  55. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +2 -8
  56. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  57. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +1 -1
  58. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  59. package/lib/commonjs/shared/configs/presets.js +8 -8
  60. package/lib/commonjs/shared/configs/presets.js.map +1 -1
  61. package/lib/commonjs/shared/configs/specs.js +2 -2
  62. package/lib/commonjs/shared/configs/specs.js.map +1 -1
  63. package/lib/commonjs/shared/constants.js +40 -9
  64. package/lib/commonjs/shared/constants.js.map +1 -1
  65. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-ref.js +3 -3
  66. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-ref.js.map +1 -1
  67. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +1 -1
  68. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  69. package/lib/commonjs/shared/hooks/use-stable-callback-value.js +3 -3
  70. package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +1 -1
  71. package/lib/commonjs/shared/index.js +1 -1
  72. package/lib/commonjs/shared/index.js.map +1 -1
  73. package/lib/commonjs/shared/providers/register-bounds.provider.js +12 -20
  74. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  75. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +86 -8
  76. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  77. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +23 -0
  78. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -0
  79. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +107 -0
  80. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -0
  81. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +38 -0
  82. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -0
  83. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +7 -27
  84. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  85. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +79 -0
  86. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -0
  87. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +95 -0
  88. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -0
  89. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +29 -0
  90. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +1 -0
  91. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +96 -0
  92. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -0
  93. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js +6 -0
  94. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js.map +1 -0
  95. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +60 -87
  96. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  97. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js +51 -0
  98. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -0
  99. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +14 -9
  100. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  101. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +57 -18
  102. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  103. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +2 -5
  104. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  105. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +2 -12
  106. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  107. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +64 -0
  108. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -0
  109. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +32 -0
  110. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +1 -0
  111. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js +85 -0
  112. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js.map +1 -0
  113. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +27 -0
  114. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -0
  115. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +32 -0
  116. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -0
  117. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +45 -0
  118. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -0
  119. package/lib/commonjs/shared/providers/screen/gestures/index.js.map +1 -0
  120. package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +74 -0
  121. package/lib/commonjs/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -0
  122. package/lib/commonjs/shared/{utils/gesture → providers/screen/gestures/ownership}/resolve-ownership.js +20 -7
  123. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -0
  124. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +108 -0
  125. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -0
  126. package/lib/commonjs/shared/providers/screen/gestures/pan/build-pan-gesture.js +50 -0
  127. package/lib/commonjs/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +1 -0
  128. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js +210 -0
  129. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +1 -0
  130. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-rules.js +314 -0
  131. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +1 -0
  132. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js +94 -0
  133. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -0
  134. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js +123 -0
  135. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -0
  136. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js +193 -0
  137. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js.map +1 -0
  138. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js +52 -0
  139. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -0
  140. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +53 -0
  141. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -0
  142. package/lib/commonjs/shared/providers/screen/gestures/pinch/build-pinch-gesture.js +43 -0
  143. package/lib/commonjs/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +1 -0
  144. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js +55 -0
  145. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -0
  146. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +94 -0
  147. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -0
  148. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js +133 -0
  149. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-release.js.map +1 -0
  150. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js +45 -0
  151. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-reset.js.map +1 -0
  152. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +53 -0
  153. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -0
  154. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js +13 -0
  155. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -0
  156. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +44 -0
  157. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -0
  158. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +134 -0
  159. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -0
  160. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +56 -0
  161. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -0
  162. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js +23 -0
  163. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +1 -0
  164. package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js +146 -0
  165. package/lib/commonjs/shared/providers/screen/gestures/shared/directions.js.map +1 -0
  166. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js +212 -0
  167. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js.map +1 -0
  168. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +231 -0
  169. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -0
  170. package/lib/commonjs/shared/providers/screen/gestures/shared/release.js +36 -0
  171. package/lib/commonjs/shared/providers/screen/gestures/shared/release.js.map +1 -0
  172. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js +65 -0
  173. package/lib/commonjs/shared/providers/screen/gestures/shared/reset.js.map +1 -0
  174. package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js +43 -0
  175. package/lib/commonjs/shared/providers/screen/gestures/shared/runtime.js.map +1 -0
  176. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js +184 -0
  177. package/lib/commonjs/shared/providers/screen/gestures/shared/snap-points.js.map +1 -0
  178. package/lib/commonjs/shared/providers/screen/gestures/shared/targets.js +122 -0
  179. package/lib/commonjs/shared/providers/screen/gestures/shared/targets.js.map +1 -0
  180. package/lib/commonjs/shared/providers/{gestures → screen/gestures}/types.js +2 -2
  181. package/lib/commonjs/shared/providers/screen/gestures/types.js.map +1 -0
  182. package/lib/commonjs/shared/providers/screen/options/helpers.js +176 -0
  183. package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -0
  184. package/lib/commonjs/shared/providers/screen/options/index.js +26 -0
  185. package/lib/commonjs/shared/providers/screen/options/index.js.map +1 -0
  186. package/lib/commonjs/shared/providers/screen/options/options.provider.js +37 -0
  187. package/lib/commonjs/shared/providers/screen/options/options.provider.js.map +1 -0
  188. package/lib/commonjs/shared/providers/screen/options/types.js +6 -0
  189. package/lib/commonjs/shared/providers/screen/options/types.js.map +1 -0
  190. package/lib/commonjs/shared/providers/screen/screen-composer.js +9 -6
  191. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  192. package/lib/commonjs/shared/providers/screen/styles/components/maybe-floating-container.js.map +1 -1
  193. package/lib/commonjs/shared/providers/screen/styles/constants.js +55 -5
  194. package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
  195. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +15 -0
  196. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  197. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +26 -0
  198. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +1 -0
  199. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +294 -0
  200. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -0
  201. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +116 -0
  202. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -0
  203. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.js +28 -0
  204. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.js.map +1 -0
  205. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +125 -0
  206. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -0
  207. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/types.js.map +1 -0
  208. package/lib/commonjs/shared/providers/screen/styles/helpers/strip-interpolator-options.js +22 -0
  209. package/lib/commonjs/shared/providers/screen/styles/helpers/strip-interpolator-options.js.map +1 -0
  210. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +45 -0
  211. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -0
  212. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +69 -10
  213. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  214. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +34 -8
  215. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  216. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +19 -2
  217. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  218. package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js +1 -1
  219. package/lib/commonjs/shared/providers/stack/helpers/use-closing-route-map.js.map +1 -1
  220. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js +2 -2
  221. package/lib/commonjs/shared/providers/stack/helpers/use-stack-derived.js.map +1 -1
  222. package/lib/commonjs/shared/stores/animation.store.js +3 -7
  223. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  224. package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js +49 -0
  225. package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js.map +1 -0
  226. package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js +25 -0
  227. package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js.map +1 -0
  228. package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js +30 -0
  229. package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js.map +1 -0
  230. package/lib/commonjs/shared/stores/bounds/helpers/keys.js +0 -17
  231. package/lib/commonjs/shared/stores/bounds/helpers/keys.js.map +1 -1
  232. package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js +79 -0
  233. package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js.map +1 -0
  234. package/lib/commonjs/shared/stores/bounds/helpers/matching.js +1 -10
  235. package/lib/commonjs/shared/stores/bounds/helpers/matching.js.map +1 -1
  236. package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js +30 -0
  237. package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js.map +1 -0
  238. package/lib/commonjs/shared/stores/bounds/index.js +16 -101
  239. package/lib/commonjs/shared/stores/bounds/index.js.map +1 -1
  240. package/lib/commonjs/shared/stores/bounds/internals/clear.js +0 -21
  241. package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -1
  242. package/lib/commonjs/shared/stores/bounds/internals/entries.js +44 -0
  243. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -0
  244. package/lib/commonjs/shared/stores/bounds/internals/groups.js +78 -3
  245. package/lib/commonjs/shared/stores/bounds/internals/groups.js.map +1 -1
  246. package/lib/commonjs/shared/stores/bounds/internals/links.js +120 -0
  247. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -0
  248. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +18 -43
  249. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  250. package/lib/commonjs/shared/stores/bounds/internals/state.js +1 -10
  251. package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -1
  252. package/lib/commonjs/shared/stores/gesture.store.js +31 -1
  253. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  254. package/lib/commonjs/shared/stores/scroll.store.js +22 -0
  255. package/lib/commonjs/shared/stores/scroll.store.js.map +1 -0
  256. package/lib/commonjs/shared/stores/system.store.js +3 -0
  257. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  258. package/lib/commonjs/shared/types/gesture.types.js +6 -6
  259. package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
  260. package/lib/commonjs/shared/types/ownership.types.js +2 -2
  261. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +52 -36
  262. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  263. package/lib/commonjs/shared/utils/animation/emit.js +22 -0
  264. package/lib/commonjs/shared/utils/animation/emit.js.map +1 -0
  265. package/lib/commonjs/shared/utils/animation/resolve-snap-transition-spec.js +22 -0
  266. package/lib/commonjs/shared/utils/animation/resolve-snap-transition-spec.js.map +1 -0
  267. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +131 -0
  268. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -0
  269. package/lib/commonjs/shared/utils/bounds/helpers/create-interpolators.js +5 -5
  270. package/lib/commonjs/shared/utils/bounds/helpers/create-interpolators.js.map +1 -1
  271. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +48 -4
  272. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  273. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +3 -4
  274. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  275. package/lib/commonjs/shared/utils/bounds/helpers/styles/composers.js +4 -2
  276. package/lib/commonjs/shared/utils/bounds/helpers/styles/composers.js.map +1 -1
  277. package/lib/commonjs/shared/utils/bounds/helpers/styles/styles.js.map +1 -1
  278. package/lib/commonjs/shared/utils/bounds/index.js +34 -59
  279. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  280. package/lib/commonjs/shared/utils/bounds/navigation/helpers.js +19 -0
  281. package/lib/commonjs/shared/utils/bounds/navigation/helpers.js.map +1 -0
  282. package/lib/commonjs/shared/utils/bounds/{zoom → navigation}/math.js +2 -55
  283. package/lib/commonjs/shared/utils/bounds/navigation/math.js.map +1 -0
  284. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +375 -0
  285. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -0
  286. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js +20 -0
  287. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js.map +1 -0
  288. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +25 -0
  289. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -0
  290. package/lib/commonjs/shared/utils/bounds/navigation/reveal/types.js +4 -0
  291. package/lib/commonjs/shared/utils/bounds/navigation/reveal/types.js.map +1 -0
  292. package/lib/commonjs/shared/utils/bounds/{zoom → navigation/zoom}/build.js +111 -147
  293. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -0
  294. package/lib/commonjs/shared/utils/bounds/{zoom → navigation/zoom}/config.js +2 -14
  295. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js.map +1 -0
  296. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +71 -0
  297. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -0
  298. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js +25 -0
  299. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js.map +1 -0
  300. package/lib/commonjs/shared/utils/bounds/navigation/zoom/types.js +4 -0
  301. package/lib/commonjs/shared/utils/bounds/navigation/zoom/types.js.map +1 -0
  302. package/lib/commonjs/shared/utils/gesture-progress-mode.js +50 -0
  303. package/lib/commonjs/shared/utils/gesture-progress-mode.js.map +1 -0
  304. package/lib/commonjs/shared/utils/resolve-chain-target.js +29 -0
  305. package/lib/commonjs/shared/utils/resolve-chain-target.js.map +1 -0
  306. package/lib/commonjs/shared/utils/resolve-screen-transition-options.js +3 -10
  307. package/lib/commonjs/shared/utils/resolve-screen-transition-options.js.map +1 -1
  308. package/lib/module/shared/animation/snap-to.js +4 -6
  309. package/lib/module/shared/animation/snap-to.js.map +1 -1
  310. package/lib/module/shared/components/create-boundary-component/components/boundary-target.js +5 -3
  311. package/lib/module/shared/components/create-boundary-component/components/boundary-target.js.map +1 -1
  312. package/lib/module/shared/components/create-boundary-component/create-boundary-component.js +23 -30
  313. package/lib/module/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
  314. package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +38 -0
  315. package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +1 -0
  316. package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +1 -1
  317. package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +1 -1
  318. package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +23 -0
  319. package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +1 -0
  320. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +11 -138
  321. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +1 -1
  322. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js +0 -6
  323. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +1 -1
  324. package/lib/module/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js +39 -0
  325. package/lib/module/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +1 -0
  326. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js +3 -13
  327. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
  328. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +96 -0
  329. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -0
  330. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js +26 -0
  331. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -0
  332. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +50 -40
  333. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  334. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +29 -31
  335. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  336. package/lib/module/shared/components/create-boundary-component/providers/boundary-owner.provider.js +15 -11
  337. package/lib/module/shared/components/create-boundary-component/providers/boundary-owner.provider.js.map +1 -1
  338. package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -1
  339. package/lib/module/shared/components/create-transition-aware-component.js +12 -7
  340. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  341. package/lib/module/shared/components/native-screen.js +2 -2
  342. package/lib/module/shared/components/native-screen.js.map +1 -1
  343. package/lib/module/shared/components/overlay/variations/overlay-host.js +1 -1
  344. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  345. package/lib/module/shared/{utils/gesture → components/screen-container/helpers}/find-collapse-target.js +17 -12
  346. package/lib/module/shared/components/screen-container/helpers/find-collapse-target.js.map +1 -0
  347. package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +15 -2
  348. package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
  349. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +7 -7
  350. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  351. package/lib/module/shared/components/screen-container/layers/backdrop.js +12 -5
  352. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  353. package/lib/module/shared/components/screen-container/layers/content.js +2 -2
  354. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  355. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +18 -11
  356. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  357. package/lib/module/shared/components/screen-container/layers/surface-container.js +16 -5
  358. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  359. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js +5 -13
  360. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.js.map +1 -1
  361. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +2 -8
  362. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  363. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +1 -1
  364. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  365. package/lib/module/shared/configs/presets.js +8 -8
  366. package/lib/module/shared/configs/presets.js.map +1 -1
  367. package/lib/module/shared/configs/specs.js +2 -2
  368. package/lib/module/shared/configs/specs.js.map +1 -1
  369. package/lib/module/shared/constants.js +39 -8
  370. package/lib/module/shared/constants.js.map +1 -1
  371. package/lib/module/shared/hooks/reanimated/use-shared-value-ref.js +3 -3
  372. package/lib/module/shared/hooks/reanimated/use-shared-value-ref.js.map +1 -1
  373. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +1 -1
  374. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  375. package/lib/module/shared/hooks/use-stable-callback-value.js +3 -3
  376. package/lib/module/shared/hooks/use-stable-callback-value.js.map +1 -1
  377. package/lib/module/shared/index.js +1 -1
  378. package/lib/module/shared/index.js.map +1 -1
  379. package/lib/module/shared/providers/register-bounds.provider.js +9 -17
  380. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  381. package/lib/module/shared/providers/screen/animation/animation.provider.js +87 -9
  382. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  383. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +18 -0
  384. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -0
  385. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +101 -0
  386. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -0
  387. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +33 -0
  388. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -0
  389. package/lib/module/shared/providers/screen/animation/helpers/derivations.js +5 -25
  390. package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  391. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +74 -0
  392. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -0
  393. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +85 -0
  394. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -0
  395. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js +22 -0
  396. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.js.map +1 -0
  397. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js +89 -0
  398. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.js.map +1 -0
  399. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js +4 -0
  400. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/types.js.map +1 -0
  401. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +62 -89
  402. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  403. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js +46 -0
  404. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -0
  405. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +14 -9
  406. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  407. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +58 -18
  408. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  409. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +2 -5
  410. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  411. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +2 -12
  412. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  413. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +57 -0
  414. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -0
  415. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js +27 -0
  416. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-builder-state.js.map +1 -0
  417. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js +78 -0
  418. package/lib/module/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.js.map +1 -0
  419. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +23 -0
  420. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -0
  421. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +27 -0
  422. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -0
  423. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +41 -0
  424. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -0
  425. package/lib/module/shared/providers/screen/gestures/index.js.map +1 -0
  426. package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js +70 -0
  427. package/lib/module/shared/providers/screen/gestures/ownership/compute-claimed-directions.js.map +1 -0
  428. package/lib/module/shared/{utils/gesture → providers/screen/gestures/ownership}/resolve-ownership.js +19 -7
  429. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -0
  430. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +104 -0
  431. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -0
  432. package/lib/module/shared/providers/screen/gestures/pan/build-pan-gesture.js +45 -0
  433. package/lib/module/shared/providers/screen/gestures/pan/build-pan-gesture.js.map +1 -0
  434. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js +205 -0
  435. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-decision.js.map +1 -0
  436. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-rules.js +304 -0
  437. package/lib/module/shared/providers/screen/gestures/pan/pan-activation-rules.js.map +1 -0
  438. package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js +89 -0
  439. package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -0
  440. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +116 -0
  441. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -0
  442. package/lib/module/shared/providers/screen/gestures/pan/pan-release.js +185 -0
  443. package/lib/module/shared/providers/screen/gestures/pan/pan-release.js.map +1 -0
  444. package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js +47 -0
  445. package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -0
  446. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +48 -0
  447. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -0
  448. package/lib/module/shared/providers/screen/gestures/pinch/build-pinch-gesture.js +38 -0
  449. package/lib/module/shared/providers/screen/gestures/pinch/build-pinch-gesture.js.map +1 -0
  450. package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js +50 -0
  451. package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -0
  452. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +87 -0
  453. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -0
  454. package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js +126 -0
  455. package/lib/module/shared/providers/screen/gestures/pinch/pinch-release.js.map +1 -0
  456. package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js +40 -0
  457. package/lib/module/shared/providers/screen/gestures/pinch/pinch-reset.js.map +1 -0
  458. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +48 -0
  459. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -0
  460. package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js +4 -0
  461. package/lib/module/shared/providers/screen/gestures/scroll-coordination/index.js.map +1 -0
  462. package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js +39 -0
  463. package/lib/module/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.js.map +1 -0
  464. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +128 -0
  465. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -0
  466. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +52 -0
  467. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -0
  468. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js +19 -0
  469. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +1 -0
  470. package/lib/module/shared/providers/screen/gestures/shared/directions.js +135 -0
  471. package/lib/module/shared/providers/screen/gestures/shared/directions.js.map +1 -0
  472. package/lib/module/shared/providers/screen/gestures/shared/physics.js +199 -0
  473. package/lib/module/shared/providers/screen/gestures/shared/physics.js.map +1 -0
  474. package/lib/module/shared/providers/screen/gestures/shared/policy.js +218 -0
  475. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -0
  476. package/lib/module/shared/providers/screen/gestures/shared/release.js +30 -0
  477. package/lib/module/shared/providers/screen/gestures/shared/release.js.map +1 -0
  478. package/lib/module/shared/providers/screen/gestures/shared/reset.js +58 -0
  479. package/lib/module/shared/providers/screen/gestures/shared/reset.js.map +1 -0
  480. package/lib/module/shared/providers/screen/gestures/shared/runtime.js +37 -0
  481. package/lib/module/shared/providers/screen/gestures/shared/runtime.js.map +1 -0
  482. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js +174 -0
  483. package/lib/module/shared/providers/screen/gestures/shared/snap-points.js.map +1 -0
  484. package/lib/module/shared/providers/screen/gestures/shared/targets.js +116 -0
  485. package/lib/module/shared/providers/screen/gestures/shared/targets.js.map +1 -0
  486. package/lib/module/shared/providers/{gestures → screen/gestures}/types.js +1 -1
  487. package/lib/module/shared/providers/screen/gestures/types.js.map +1 -0
  488. package/lib/module/shared/providers/screen/options/helpers.js +169 -0
  489. package/lib/module/shared/providers/screen/options/helpers.js.map +1 -0
  490. package/lib/module/shared/providers/screen/options/index.js +5 -0
  491. package/lib/module/shared/providers/screen/options/index.js.map +1 -0
  492. package/lib/module/shared/providers/screen/options/options.provider.js +30 -0
  493. package/lib/module/shared/providers/screen/options/options.provider.js.map +1 -0
  494. package/lib/module/shared/providers/screen/options/types.js +4 -0
  495. package/lib/module/shared/providers/screen/options/types.js.map +1 -0
  496. package/lib/module/shared/providers/screen/screen-composer.js +9 -6
  497. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  498. package/lib/module/shared/providers/screen/styles/components/maybe-floating-container.js.map +1 -1
  499. package/lib/module/shared/providers/screen/styles/constants.js +54 -4
  500. package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
  501. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +15 -0
  502. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  503. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +21 -0
  504. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +1 -0
  505. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +288 -0
  506. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -0
  507. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +111 -0
  508. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -0
  509. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.js +22 -0
  510. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.js.map +1 -0
  511. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +119 -0
  512. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -0
  513. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/types.js.map +1 -0
  514. package/lib/module/shared/providers/screen/styles/helpers/strip-interpolator-options.js +17 -0
  515. package/lib/module/shared/providers/screen/styles/helpers/strip-interpolator-options.js.map +1 -0
  516. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +39 -0
  517. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -0
  518. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +70 -10
  519. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  520. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +35 -9
  521. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  522. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +20 -3
  523. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  524. package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js +1 -1
  525. package/lib/module/shared/providers/stack/helpers/use-closing-route-map.js.map +1 -1
  526. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js +2 -2
  527. package/lib/module/shared/providers/stack/helpers/use-stack-derived.js.map +1 -1
  528. package/lib/module/shared/stores/animation.store.js +3 -7
  529. package/lib/module/shared/stores/animation.store.js.map +1 -1
  530. package/lib/module/shared/stores/bounds/helpers/entries.helpers.js +42 -0
  531. package/lib/module/shared/stores/bounds/helpers/entries.helpers.js.map +1 -0
  532. package/lib/module/shared/stores/bounds/helpers/find-latest.js +19 -0
  533. package/lib/module/shared/stores/bounds/helpers/find-latest.js.map +1 -0
  534. package/lib/module/shared/stores/bounds/helpers/groups.helpers.js +23 -0
  535. package/lib/module/shared/stores/bounds/helpers/groups.helpers.js.map +1 -0
  536. package/lib/module/shared/stores/bounds/helpers/keys.js +0 -16
  537. package/lib/module/shared/stores/bounds/helpers/keys.js.map +1 -1
  538. package/lib/module/shared/stores/bounds/helpers/link.helpers.js +69 -0
  539. package/lib/module/shared/stores/bounds/helpers/link.helpers.js.map +1 -0
  540. package/lib/module/shared/stores/bounds/helpers/matching.js +1 -9
  541. package/lib/module/shared/stores/bounds/helpers/matching.js.map +1 -1
  542. package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js +24 -0
  543. package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js.map +1 -0
  544. package/lib/module/shared/stores/bounds/index.js +10 -95
  545. package/lib/module/shared/stores/bounds/index.js.map +1 -1
  546. package/lib/module/shared/stores/bounds/internals/clear.js +2 -21
  547. package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -1
  548. package/lib/module/shared/stores/bounds/internals/entries.js +39 -0
  549. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -0
  550. package/lib/module/shared/stores/bounds/internals/groups.js +76 -4
  551. package/lib/module/shared/stores/bounds/internals/groups.js.map +1 -1
  552. package/lib/module/shared/stores/bounds/internals/links.js +112 -0
  553. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -0
  554. package/lib/module/shared/stores/bounds/internals/resolver.js +18 -43
  555. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  556. package/lib/module/shared/stores/bounds/internals/state.js +0 -8
  557. package/lib/module/shared/stores/bounds/internals/state.js.map +1 -1
  558. package/lib/module/shared/stores/gesture.store.js +31 -1
  559. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  560. package/lib/module/shared/stores/scroll.store.js +18 -0
  561. package/lib/module/shared/stores/scroll.store.js.map +1 -0
  562. package/lib/module/shared/stores/system.store.js +3 -0
  563. package/lib/module/shared/stores/system.store.js.map +1 -1
  564. package/lib/module/shared/types/animation.types.js +25 -3
  565. package/lib/module/shared/types/animation.types.js.map +1 -1
  566. package/lib/module/shared/types/gesture.types.js +6 -5
  567. package/lib/module/shared/types/gesture.types.js.map +1 -1
  568. package/lib/module/shared/types/ownership.types.js +2 -2
  569. package/lib/module/shared/utils/animation/animate-to-progress.js +52 -36
  570. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  571. package/lib/module/shared/utils/animation/emit.js +17 -0
  572. package/lib/module/shared/utils/animation/emit.js.map +1 -0
  573. package/lib/module/shared/utils/animation/resolve-snap-transition-spec.js +17 -0
  574. package/lib/module/shared/utils/animation/resolve-snap-transition-spec.js.map +1 -0
  575. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +126 -0
  576. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -0
  577. package/lib/module/shared/utils/bounds/helpers/create-interpolators.js +5 -5
  578. package/lib/module/shared/utils/bounds/helpers/create-interpolators.js.map +1 -1
  579. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +48 -4
  580. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  581. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +3 -3
  582. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  583. package/lib/module/shared/utils/bounds/helpers/styles/composers.js +4 -2
  584. package/lib/module/shared/utils/bounds/helpers/styles/composers.js.map +1 -1
  585. package/lib/module/shared/utils/bounds/helpers/styles/styles.js.map +1 -1
  586. package/lib/module/shared/utils/bounds/index.js +34 -59
  587. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  588. package/lib/module/shared/utils/bounds/navigation/helpers.js +13 -0
  589. package/lib/module/shared/utils/bounds/navigation/helpers.js.map +1 -0
  590. package/lib/module/shared/utils/bounds/{zoom → navigation}/math.js +9 -51
  591. package/lib/module/shared/utils/bounds/navigation/math.js.map +1 -0
  592. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +371 -0
  593. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -0
  594. package/lib/module/shared/utils/bounds/navigation/reveal/config.js +16 -0
  595. package/lib/module/shared/utils/bounds/navigation/reveal/config.js.map +1 -0
  596. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +20 -0
  597. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -0
  598. package/lib/module/shared/utils/bounds/{zoom → navigation/reveal}/types.js +1 -1
  599. package/lib/module/shared/utils/bounds/navigation/reveal/types.js.map +1 -0
  600. package/lib/module/shared/utils/bounds/{zoom → navigation/zoom}/build.js +93 -129
  601. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -0
  602. package/lib/module/shared/utils/bounds/{zoom → navigation/zoom}/config.js +1 -11
  603. package/lib/module/shared/utils/bounds/navigation/zoom/config.js.map +1 -0
  604. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +63 -0
  605. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -0
  606. package/lib/module/shared/utils/bounds/navigation/zoom/math.js +20 -0
  607. package/lib/module/shared/utils/bounds/navigation/zoom/math.js.map +1 -0
  608. package/lib/module/shared/utils/bounds/navigation/zoom/types.js +4 -0
  609. package/lib/module/shared/utils/bounds/navigation/zoom/types.js.map +1 -0
  610. package/lib/module/shared/utils/gesture-progress-mode.js +42 -0
  611. package/lib/module/shared/utils/gesture-progress-mode.js.map +1 -0
  612. package/lib/module/shared/utils/resolve-chain-target.js +25 -0
  613. package/lib/module/shared/utils/resolve-chain-target.js.map +1 -0
  614. package/lib/module/shared/utils/resolve-screen-transition-options.js +1 -7
  615. package/lib/module/shared/utils/resolve-screen-transition-options.js.map +1 -1
  616. package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
  617. package/lib/typescript/shared/components/create-boundary-component/components/boundary-target.d.ts.map +1 -1
  618. package/lib/typescript/shared/components/create-boundary-component/create-boundary-component.d.ts.map +1 -1
  619. package/lib/typescript/shared/{stores/bounds → components/create-boundary-component}/helpers/apply-measured-bounds-writes.d.ts +0 -4
  620. package/lib/typescript/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.d.ts.map +1 -0
  621. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts +22 -0
  622. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts.map +1 -0
  623. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts +6 -64
  624. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts.map +1 -1
  625. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts +0 -2
  626. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts.map +1 -1
  627. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.d.ts +6 -0
  628. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.d.ts.map +1 -0
  629. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts +0 -3
  630. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts.map +1 -1
  631. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts +11 -0
  632. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts.map +1 -0
  633. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-source-measurement.d.ts +7 -0
  634. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-source-measurement.d.ts.map +1 -0
  635. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts +2 -5
  636. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
  637. package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts.map +1 -1
  638. package/lib/typescript/shared/components/create-boundary-component/providers/boundary-owner.provider.d.ts +5 -4
  639. package/lib/typescript/shared/components/create-boundary-component/providers/boundary-owner.provider.d.ts.map +1 -1
  640. package/lib/typescript/shared/components/create-boundary-component/types.d.ts +0 -6
  641. package/lib/typescript/shared/components/create-boundary-component/types.d.ts.map +1 -1
  642. package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts.map +1 -1
  643. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  644. package/lib/typescript/shared/components/screen-container/helpers/find-collapse-target.d.ts.map +1 -0
  645. package/lib/typescript/shared/components/screen-container/hooks/use-backdrop-pointer-events.d.ts +2 -1
  646. package/lib/typescript/shared/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
  647. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  648. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  649. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  650. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.d.ts +1 -1
  651. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.d.ts.map +1 -1
  652. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  653. package/lib/typescript/shared/constants.d.ts +17 -6
  654. package/lib/typescript/shared/constants.d.ts.map +1 -1
  655. package/lib/typescript/shared/index.d.ts +4 -4
  656. package/lib/typescript/shared/index.d.ts.map +1 -1
  657. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  658. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -1
  659. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  660. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts +2 -0
  661. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +1 -0
  662. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +6 -0
  663. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -0
  664. package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts +3 -0
  665. package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -0
  666. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +3 -7
  667. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
  668. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts +5 -0
  669. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -0
  670. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts +6 -0
  671. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -0
  672. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts +5 -0
  673. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.d.ts.map +1 -0
  674. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts +5 -0
  675. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.d.ts.map +1 -0
  676. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +35 -0
  677. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -0
  678. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +5 -4
  679. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  680. package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts +9 -0
  681. package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -0
  682. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +7 -4
  683. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  684. package/lib/typescript/shared/providers/screen/animation/types.d.ts +17 -1
  685. package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
  686. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts +11 -3
  687. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  688. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  689. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -6
  690. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  691. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +7 -0
  692. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -0
  693. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts +21 -0
  694. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-builder-state.d.ts.map +1 -0
  695. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.d.ts +17 -0
  696. package/lib/typescript/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.d.ts.map +1 -0
  697. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +3 -0
  698. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -0
  699. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts +17 -0
  700. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -0
  701. package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts +6 -0
  702. package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -0
  703. package/lib/typescript/shared/providers/{gestures → screen/gestures}/index.d.ts +1 -1
  704. package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -0
  705. package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts +19 -0
  706. package/lib/typescript/shared/providers/screen/gestures/ownership/compute-claimed-directions.d.ts.map +1 -0
  707. package/lib/typescript/shared/{utils/gesture → providers/screen/gestures/ownership}/resolve-ownership.d.ts +10 -5
  708. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -0
  709. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts +14 -0
  710. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +1 -0
  711. package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts +10 -0
  712. package/lib/typescript/shared/providers/screen/gestures/pan/build-pan-gesture.d.ts.map +1 -0
  713. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts +29 -0
  714. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-decision.d.ts.map +1 -0
  715. package/lib/typescript/shared/providers/{gestures/helpers/gesture-activation.d.ts → screen/gestures/pan/pan-activation-rules.d.ts} +19 -20
  716. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation-rules.d.ts.map +1 -0
  717. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts +17 -0
  718. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts.map +1 -0
  719. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts +5 -0
  720. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -0
  721. package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts +6 -0
  722. package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts.map +1 -0
  723. package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts +17 -0
  724. package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts.map +1 -0
  725. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts +5 -0
  726. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -0
  727. package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts +7 -0
  728. package/lib/typescript/shared/providers/screen/gestures/pinch/build-pinch-gesture.d.ts.map +1 -0
  729. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts +14 -0
  730. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts.map +1 -0
  731. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts +5 -0
  732. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -0
  733. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts +5 -0
  734. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-release.d.ts.map +1 -0
  735. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts +11 -0
  736. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-reset.d.ts.map +1 -0
  737. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts +5 -0
  738. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -0
  739. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts +2 -0
  740. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/index.d.ts.map +1 -0
  741. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts +5 -0
  742. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.d.ts.map +1 -0
  743. package/lib/typescript/shared/{hooks/gestures/use-scroll-registry.d.ts → providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts} +6 -17
  744. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -0
  745. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +11 -0
  746. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -0
  747. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts +11 -0
  748. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +1 -0
  749. package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts +18 -0
  750. package/lib/typescript/shared/providers/screen/gestures/shared/directions.d.ts.map +1 -0
  751. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts +64 -0
  752. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts.map +1 -0
  753. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +49 -0
  754. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -0
  755. package/lib/typescript/shared/providers/screen/gestures/shared/release.d.ts +13 -0
  756. package/lib/typescript/shared/providers/screen/gestures/shared/release.d.ts.map +1 -0
  757. package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts +7 -0
  758. package/lib/typescript/shared/providers/screen/gestures/shared/reset.d.ts.map +1 -0
  759. package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts +5 -0
  760. package/lib/typescript/shared/providers/screen/gestures/shared/runtime.d.ts.map +1 -0
  761. package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts +37 -0
  762. package/lib/typescript/shared/providers/screen/gestures/shared/snap-points.d.ts.map +1 -0
  763. package/lib/typescript/shared/providers/{gestures/helpers/gesture-targets.d.ts → screen/gestures/shared/targets.d.ts} +2 -2
  764. package/lib/typescript/shared/providers/screen/gestures/shared/targets.d.ts.map +1 -0
  765. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +155 -0
  766. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -0
  767. package/lib/typescript/shared/providers/screen/options/helpers.d.ts +6 -0
  768. package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -0
  769. package/lib/typescript/shared/providers/screen/options/index.d.ts +4 -0
  770. package/lib/typescript/shared/providers/screen/options/index.d.ts.map +1 -0
  771. package/lib/typescript/shared/providers/screen/options/options.provider.d.ts +3 -0
  772. package/lib/typescript/shared/providers/screen/options/options.provider.d.ts.map +1 -0
  773. package/lib/typescript/shared/providers/screen/options/types.d.ts +30 -0
  774. package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -0
  775. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  776. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts.map +1 -1
  777. package/lib/typescript/shared/providers/screen/styles/constants.d.ts +11 -21
  778. package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
  779. package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts +7 -0
  780. package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
  781. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +3 -0
  782. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +1 -0
  783. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +23 -0
  784. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -0
  785. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +14 -0
  786. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -0
  787. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.d.ts +3 -0
  788. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.d.ts.map +1 -0
  789. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts +14 -0
  790. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts.map +1 -0
  791. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts +8 -0
  792. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts.map +1 -0
  793. package/lib/typescript/shared/providers/screen/styles/helpers/strip-interpolator-options.d.ts +2 -0
  794. package/lib/typescript/shared/providers/screen/styles/helpers/strip-interpolator-options.d.ts.map +1 -0
  795. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +17 -0
  796. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -0
  797. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +25 -0
  798. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  799. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  800. package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
  801. package/lib/typescript/shared/stores/animation.store.d.ts +1 -3
  802. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  803. package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts +5 -0
  804. package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts.map +1 -0
  805. package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts +3 -0
  806. package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts.map +1 -0
  807. package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts +10 -0
  808. package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts.map +1 -0
  809. package/lib/typescript/shared/stores/bounds/helpers/keys.d.ts +0 -2
  810. package/lib/typescript/shared/stores/bounds/helpers/keys.d.ts.map +1 -1
  811. package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts +14 -0
  812. package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts.map +1 -0
  813. package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts +1 -2
  814. package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts.map +1 -1
  815. package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts +5 -0
  816. package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts.map +1 -0
  817. package/lib/typescript/shared/stores/bounds/index.d.ts +8 -32
  818. package/lib/typescript/shared/stores/bounds/index.d.ts.map +1 -1
  819. package/lib/typescript/shared/stores/bounds/internals/clear.d.ts +2 -4
  820. package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -1
  821. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts +6 -0
  822. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -0
  823. package/lib/typescript/shared/stores/bounds/internals/groups.d.ts +14 -2
  824. package/lib/typescript/shared/stores/bounds/internals/groups.d.ts.map +1 -1
  825. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +12 -0
  826. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -0
  827. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  828. package/lib/typescript/shared/stores/bounds/internals/state.d.ts +0 -1
  829. package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
  830. package/lib/typescript/shared/stores/bounds/types.d.ts +10 -14
  831. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  832. package/lib/typescript/shared/stores/gesture.store.d.ts +20 -3
  833. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  834. package/lib/typescript/shared/stores/scroll.store.d.ts +12 -0
  835. package/lib/typescript/shared/stores/scroll.store.d.ts.map +1 -0
  836. package/lib/typescript/shared/stores/system.store.d.ts +4 -0
  837. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  838. package/lib/typescript/shared/types/animation.types.d.ts +75 -34
  839. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  840. package/lib/typescript/shared/types/bounds.types.d.ts +21 -2
  841. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  842. package/lib/typescript/shared/types/gesture.types.d.ts +71 -5
  843. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  844. package/lib/typescript/shared/types/index.d.ts +3 -3
  845. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  846. package/lib/typescript/shared/types/ownership.types.d.ts +2 -2
  847. package/lib/typescript/shared/types/screen.types.d.ts +48 -6
  848. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  849. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +2 -1
  850. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  851. package/lib/typescript/shared/utils/animation/emit.d.ts +7 -0
  852. package/lib/typescript/shared/utils/animation/emit.d.ts.map +1 -0
  853. package/lib/typescript/shared/utils/animation/resolve-snap-transition-spec.d.ts +4 -0
  854. package/lib/typescript/shared/utils/animation/resolve-snap-transition-spec.d.ts.map +1 -0
  855. package/lib/typescript/shared/utils/bounds/helpers/create-bound-tag.d.ts +2 -1
  856. package/lib/typescript/shared/utils/bounds/helpers/create-bound-tag.d.ts.map +1 -1
  857. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts +19 -0
  858. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -0
  859. package/lib/typescript/shared/utils/bounds/helpers/create-interpolators.d.ts +2 -2
  860. package/lib/typescript/shared/utils/bounds/helpers/create-interpolators.d.ts.map +1 -1
  861. package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts +2 -3
  862. package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
  863. package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts +3 -10
  864. package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
  865. package/lib/typescript/shared/utils/bounds/helpers/styles/composers.d.ts.map +1 -1
  866. package/lib/typescript/shared/utils/bounds/helpers/styles/styles.d.ts +1 -4
  867. package/lib/typescript/shared/utils/bounds/helpers/styles/styles.d.ts.map +1 -1
  868. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  869. package/lib/typescript/shared/utils/bounds/navigation/helpers.d.ts +4 -0
  870. package/lib/typescript/shared/utils/bounds/navigation/helpers.d.ts.map +1 -0
  871. package/lib/typescript/shared/utils/bounds/navigation/math.d.ts +31 -0
  872. package/lib/typescript/shared/utils/bounds/navigation/math.d.ts.map +1 -0
  873. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts +3 -0
  874. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -0
  875. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts +9 -0
  876. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts.map +1 -0
  877. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts +8 -0
  878. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -0
  879. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts +11 -0
  880. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts.map +1 -0
  881. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -0
  882. package/lib/typescript/shared/utils/bounds/{zoom → navigation/zoom}/config.d.ts +1 -4
  883. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts.map +1 -0
  884. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +30 -0
  885. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -0
  886. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts +8 -0
  887. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts.map +1 -0
  888. package/lib/typescript/shared/utils/bounds/{zoom → navigation/zoom}/types.d.ts +2 -2
  889. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts.map +1 -0
  890. package/lib/typescript/shared/utils/bounds/types/options.d.ts +10 -1
  891. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  892. package/lib/typescript/shared/utils/gesture-progress-mode.d.ts +14 -0
  893. package/lib/typescript/shared/utils/gesture-progress-mode.d.ts.map +1 -0
  894. package/lib/typescript/shared/utils/resolve-chain-target.d.ts +11 -0
  895. package/lib/typescript/shared/utils/resolve-chain-target.d.ts.map +1 -0
  896. package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts +0 -2
  897. package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts.map +1 -1
  898. package/package.json +5 -2
  899. package/src/shared/animation/snap-to.ts +8 -6
  900. package/src/shared/components/create-boundary-component/components/boundary-target.tsx +10 -3
  901. package/src/shared/components/create-boundary-component/create-boundary-component.tsx +30 -35
  902. package/src/shared/{stores/bounds → components/create-boundary-component}/helpers/apply-measured-bounds-writes.ts +10 -30
  903. package/src/shared/components/create-boundary-component/helpers/resolve-pending-source-key.ts +1 -1
  904. package/src/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.ts +48 -0
  905. package/src/shared/components/create-boundary-component/hooks/helpers/measurement-rules.ts +11 -182
  906. package/src/shared/components/create-boundary-component/hooks/helpers/measurement.ts +0 -18
  907. package/src/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.ts +58 -0
  908. package/src/shared/components/create-boundary-component/hooks/use-boundary-presence.ts +3 -28
  909. package/src/shared/components/create-boundary-component/hooks/{use-capture-destination-boundary.ts → use-initial-destination-measurement.ts} +29 -57
  910. package/src/shared/components/create-boundary-component/hooks/use-initial-source-measurement.ts +27 -0
  911. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +66 -80
  912. package/src/shared/components/create-boundary-component/hooks/use-refresh-boundary.ts +55 -47
  913. package/src/shared/components/create-boundary-component/providers/boundary-owner.provider.tsx +41 -29
  914. package/src/shared/components/create-boundary-component/types.ts +0 -8
  915. package/src/shared/components/create-boundary-component/utils/build-boundary-match-key.ts +0 -3
  916. package/src/shared/components/create-transition-aware-component.tsx +24 -10
  917. package/src/shared/components/native-screen.tsx +2 -2
  918. package/src/shared/components/overlay/variations/overlay-host.tsx +1 -1
  919. package/src/shared/{utils/gesture → components/screen-container/helpers}/find-collapse-target.ts +19 -8
  920. package/src/shared/components/screen-container/hooks/use-backdrop-pointer-events.ts +21 -1
  921. package/src/shared/components/screen-container/hooks/use-content-layout.ts +8 -8
  922. package/src/shared/components/screen-container/layers/backdrop.tsx +15 -9
  923. package/src/shared/components/screen-container/layers/content.tsx +2 -2
  924. package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +30 -16
  925. package/src/shared/components/screen-container/layers/surface-container.tsx +35 -15
  926. package/src/shared/components/screen-lifecycle/hooks/helpers/reset-stores-for-screen.ts +5 -23
  927. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +2 -5
  928. package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +1 -1
  929. package/src/shared/configs/presets.ts +8 -8
  930. package/src/shared/configs/specs.ts +2 -2
  931. package/src/shared/constants.ts +52 -8
  932. package/src/shared/hooks/reanimated/use-shared-value-ref.ts +3 -3
  933. package/src/shared/hooks/reanimated/use-shared-value-state.ts +1 -1
  934. package/src/shared/hooks/use-stable-callback-value.ts +3 -3
  935. package/src/shared/index.ts +8 -4
  936. package/src/shared/providers/register-bounds.provider.tsx +15 -17
  937. package/src/shared/providers/screen/animation/animation.provider.tsx +169 -13
  938. package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +13 -0
  939. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +158 -0
  940. package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +63 -0
  941. package/src/shared/providers/screen/animation/helpers/derivations.ts +10 -23
  942. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +164 -0
  943. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +160 -0
  944. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/settle.ts +41 -0
  945. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/snap-points.ts +188 -0
  946. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +40 -0
  947. package/src/shared/providers/screen/animation/helpers/pipeline.ts +96 -99
  948. package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +99 -0
  949. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +20 -17
  950. package/src/shared/providers/screen/animation/types.ts +31 -1
  951. package/src/shared/providers/screen/animation/use-screen-animation.tsx +96 -22
  952. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +1 -7
  953. package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -19
  954. package/src/shared/providers/screen/gestures/gestures.provider.tsx +85 -0
  955. package/src/shared/providers/screen/gestures/hooks/use-gesture-builder-state.ts +31 -0
  956. package/src/shared/providers/screen/gestures/hooks/use-gesture-sensitivity.ts +132 -0
  957. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +24 -0
  958. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +33 -0
  959. package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +45 -0
  960. package/src/shared/providers/{gestures → screen/gestures}/index.tsx +3 -1
  961. package/src/shared/providers/screen/gestures/ownership/compute-claimed-directions.ts +101 -0
  962. package/src/shared/{utils/gesture → providers/screen/gestures/ownership}/resolve-ownership.ts +27 -9
  963. package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +129 -0
  964. package/src/shared/providers/screen/gestures/pan/build-pan-gesture.ts +65 -0
  965. package/src/shared/providers/screen/gestures/pan/pan-activation-decision.ts +458 -0
  966. package/src/shared/providers/{gestures/helpers/gesture-activation.ts → screen/gestures/pan/pan-activation-rules.ts} +219 -173
  967. package/src/shared/providers/screen/gestures/pan/pan-activation.ts +132 -0
  968. package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +129 -0
  969. package/src/shared/providers/screen/gestures/pan/pan-release.ts +246 -0
  970. package/src/shared/providers/screen/gestures/pan/pan-reset.ts +92 -0
  971. package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +89 -0
  972. package/src/shared/providers/screen/gestures/pinch/build-pinch-gesture.ts +48 -0
  973. package/src/shared/providers/screen/gestures/pinch/pinch-activation.ts +72 -0
  974. package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +104 -0
  975. package/src/shared/providers/screen/gestures/pinch/pinch-release.ts +183 -0
  976. package/src/shared/providers/screen/gestures/pinch/pinch-reset.ts +65 -0
  977. package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +82 -0
  978. package/src/shared/providers/screen/gestures/scroll-coordination/index.ts +1 -0
  979. package/src/shared/providers/screen/gestures/scroll-coordination/update-scroll-gesture-state.ts +44 -0
  980. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +180 -0
  981. package/src/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +88 -0
  982. package/src/shared/providers/screen/gestures/shared/ancestors.ts +27 -0
  983. package/src/shared/providers/screen/gestures/shared/directions.ts +205 -0
  984. package/src/shared/providers/screen/gestures/shared/physics.ts +323 -0
  985. package/src/shared/providers/screen/gestures/shared/policy.ts +346 -0
  986. package/src/shared/providers/screen/gestures/shared/release.ts +43 -0
  987. package/src/shared/providers/screen/gestures/shared/reset.ts +74 -0
  988. package/src/shared/providers/screen/gestures/shared/runtime.ts +76 -0
  989. package/src/shared/providers/screen/gestures/shared/snap-points.ts +250 -0
  990. package/src/shared/providers/screen/gestures/shared/targets.ts +202 -0
  991. package/src/shared/providers/screen/gestures/types.ts +216 -0
  992. package/src/shared/providers/screen/options/helpers.ts +382 -0
  993. package/src/shared/providers/screen/options/index.ts +6 -0
  994. package/src/shared/providers/screen/options/options.provider.tsx +43 -0
  995. package/src/shared/providers/screen/options/types.ts +36 -0
  996. package/src/shared/providers/screen/screen-composer.tsx +11 -8
  997. package/src/shared/providers/screen/styles/components/maybe-floating-container.tsx +0 -2
  998. package/src/shared/providers/screen/styles/constants.ts +50 -4
  999. package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +13 -0
  1000. package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +22 -0
  1001. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +414 -0
  1002. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +155 -0
  1003. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/reset-values.ts +23 -0
  1004. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.ts +146 -0
  1005. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/types.ts +8 -0
  1006. package/src/shared/providers/screen/styles/helpers/strip-interpolator-options.ts +17 -0
  1007. package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +57 -0
  1008. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +95 -18
  1009. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +37 -13
  1010. package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +19 -1
  1011. package/src/shared/providers/stack/helpers/use-closing-route-map.ts +1 -1
  1012. package/src/shared/providers/stack/helpers/use-stack-derived.ts +2 -2
  1013. package/src/shared/stores/animation.store.ts +3 -9
  1014. package/src/shared/stores/bounds/helpers/entries.helpers.ts +55 -0
  1015. package/src/shared/stores/bounds/helpers/find-latest.ts +22 -0
  1016. package/src/shared/stores/bounds/helpers/groups.helpers.ts +27 -0
  1017. package/src/shared/stores/bounds/helpers/keys.ts +0 -22
  1018. package/src/shared/stores/bounds/helpers/link.helpers.ts +131 -0
  1019. package/src/shared/stores/bounds/helpers/matching.ts +2 -16
  1020. package/src/shared/stores/bounds/helpers/tag-state.helpers.ts +24 -0
  1021. package/src/shared/stores/bounds/index.ts +14 -194
  1022. package/src/shared/stores/bounds/internals/clear.ts +3 -42
  1023. package/src/shared/stores/bounds/internals/entries.ts +42 -0
  1024. package/src/shared/stores/bounds/internals/groups.ts +99 -3
  1025. package/src/shared/stores/bounds/internals/links.ts +171 -0
  1026. package/src/shared/stores/bounds/internals/resolver.ts +40 -77
  1027. package/src/shared/stores/bounds/internals/state.ts +0 -8
  1028. package/src/shared/stores/bounds/types.ts +10 -14
  1029. package/src/shared/stores/gesture.store.ts +54 -6
  1030. package/src/shared/stores/scroll.store.ts +25 -0
  1031. package/src/shared/stores/system.store.ts +8 -0
  1032. package/src/shared/types/animation.types.ts +102 -35
  1033. package/src/shared/types/bounds.types.ts +32 -2
  1034. package/src/shared/types/gesture.types.ts +91 -5
  1035. package/src/shared/types/index.ts +9 -0
  1036. package/src/shared/types/ownership.types.ts +2 -2
  1037. package/src/shared/types/screen.types.ts +56 -7
  1038. package/src/shared/utils/animation/animate-to-progress.ts +69 -42
  1039. package/src/shared/utils/animation/emit.ts +18 -0
  1040. package/src/shared/utils/animation/resolve-snap-transition-spec.ts +23 -0
  1041. package/src/shared/utils/bounds/helpers/create-bound-tag.ts +1 -1
  1042. package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +160 -0
  1043. package/src/shared/utils/bounds/helpers/create-interpolators.ts +8 -8
  1044. package/src/shared/utils/bounds/helpers/create-link-accessor.ts +66 -11
  1045. package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +8 -6
  1046. package/src/shared/utils/bounds/helpers/styles/composers.ts +5 -2
  1047. package/src/shared/utils/bounds/helpers/styles/styles.ts +4 -9
  1048. package/src/shared/utils/bounds/index.ts +28 -53
  1049. package/src/shared/utils/bounds/navigation/helpers.ts +14 -0
  1050. package/src/shared/utils/bounds/{zoom → navigation}/math.ts +10 -72
  1051. package/src/shared/utils/bounds/navigation/reveal/build.ts +590 -0
  1052. package/src/shared/utils/bounds/navigation/reveal/config.ts +15 -0
  1053. package/src/shared/utils/bounds/navigation/reveal/math.ts +25 -0
  1054. package/src/shared/utils/bounds/navigation/reveal/types.ts +18 -0
  1055. package/src/shared/utils/bounds/{zoom → navigation/zoom}/build.ts +144 -191
  1056. package/src/shared/utils/bounds/{zoom → navigation/zoom}/config.ts +1 -15
  1057. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +116 -0
  1058. package/src/shared/utils/bounds/navigation/zoom/math.ts +25 -0
  1059. package/src/shared/utils/bounds/{zoom → navigation/zoom}/types.ts +2 -2
  1060. package/src/shared/utils/bounds/types/options.ts +8 -1
  1061. package/src/shared/utils/gesture-progress-mode.ts +67 -0
  1062. package/src/shared/utils/resolve-chain-target.ts +33 -0
  1063. package/src/shared/utils/resolve-screen-transition-options.ts +1 -16
  1064. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-capture-destination-boundary.js.map +0 -1
  1065. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-capture-source-boundary.js +0 -40
  1066. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-capture-source-boundary.js.map +0 -1
  1067. package/lib/commonjs/shared/hooks/gestures/resolve-screen-gesture-target.js +0 -49
  1068. package/lib/commonjs/shared/hooks/gestures/resolve-screen-gesture-target.js.map +0 -1
  1069. package/lib/commonjs/shared/hooks/gestures/types.js.map +0 -1
  1070. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js +0 -30
  1071. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js.map +0 -1
  1072. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +0 -219
  1073. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +0 -1
  1074. package/lib/commonjs/shared/hooks/reanimated/use-animated-debounce.js +0 -43
  1075. package/lib/commonjs/shared/hooks/reanimated/use-animated-debounce.js.map +0 -1
  1076. package/lib/commonjs/shared/providers/gestures/gestures.provider.js +0 -94
  1077. package/lib/commonjs/shared/providers/gestures/gestures.provider.js.map +0 -1
  1078. package/lib/commonjs/shared/providers/gestures/handlers/use-handlers.js +0 -447
  1079. package/lib/commonjs/shared/providers/gestures/handlers/use-handlers.js.map +0 -1
  1080. package/lib/commonjs/shared/providers/gestures/helpers/gesture-activation.js +0 -322
  1081. package/lib/commonjs/shared/providers/gestures/helpers/gesture-activation.js.map +0 -1
  1082. package/lib/commonjs/shared/providers/gestures/helpers/gesture-claims.js +0 -27
  1083. package/lib/commonjs/shared/providers/gestures/helpers/gesture-claims.js.map +0 -1
  1084. package/lib/commonjs/shared/providers/gestures/helpers/gesture-directions.js +0 -56
  1085. package/lib/commonjs/shared/providers/gestures/helpers/gesture-directions.js.map +0 -1
  1086. package/lib/commonjs/shared/providers/gestures/helpers/gesture-physics.js +0 -144
  1087. package/lib/commonjs/shared/providers/gestures/helpers/gesture-physics.js.map +0 -1
  1088. package/lib/commonjs/shared/providers/gestures/helpers/gesture-reset.js +0 -78
  1089. package/lib/commonjs/shared/providers/gestures/helpers/gesture-reset.js.map +0 -1
  1090. package/lib/commonjs/shared/providers/gestures/helpers/gesture-snap-points.js +0 -44
  1091. package/lib/commonjs/shared/providers/gestures/helpers/gesture-snap-points.js.map +0 -1
  1092. package/lib/commonjs/shared/providers/gestures/helpers/gesture-targets.js +0 -113
  1093. package/lib/commonjs/shared/providers/gestures/helpers/gesture-targets.js.map +0 -1
  1094. package/lib/commonjs/shared/providers/gestures/helpers/register-direction-claims.js +0 -74
  1095. package/lib/commonjs/shared/providers/gestures/helpers/register-direction-claims.js.map +0 -1
  1096. package/lib/commonjs/shared/providers/gestures/index.js.map +0 -1
  1097. package/lib/commonjs/shared/providers/gestures/types.js.map +0 -1
  1098. package/lib/commonjs/shared/providers/gestures/use-build-gestures.js +0 -111
  1099. package/lib/commonjs/shared/providers/gestures/use-build-gestures.js.map +0 -1
  1100. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state.js +0 -110
  1101. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state.js.map +0 -1
  1102. package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +0 -33
  1103. package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +0 -1
  1104. package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +0 -28
  1105. package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +0 -1
  1106. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles.js +0 -137
  1107. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles.js.map +0 -1
  1108. package/lib/commonjs/shared/providers/scroll-settle.provider.js +0 -25
  1109. package/lib/commonjs/shared/providers/scroll-settle.provider.js.map +0 -1
  1110. package/lib/commonjs/shared/stores/bounds/helpers/apply-measured-bounds-writes.js +0 -49
  1111. package/lib/commonjs/shared/stores/bounds/helpers/apply-measured-bounds-writes.js.map +0 -1
  1112. package/lib/commonjs/shared/stores/bounds/internals/registry.js +0 -352
  1113. package/lib/commonjs/shared/stores/bounds/internals/registry.js.map +0 -1
  1114. package/lib/commonjs/shared/typecheck/public-api.typecheck.js +0 -174
  1115. package/lib/commonjs/shared/typecheck/public-api.typecheck.js.map +0 -1
  1116. package/lib/commonjs/shared/utils/animation/animate-many.js +0 -32
  1117. package/lib/commonjs/shared/utils/animation/animate-many.js.map +0 -1
  1118. package/lib/commonjs/shared/utils/bounds/zoom/build.js.map +0 -1
  1119. package/lib/commonjs/shared/utils/bounds/zoom/config.js.map +0 -1
  1120. package/lib/commonjs/shared/utils/bounds/zoom/math.js.map +0 -1
  1121. package/lib/commonjs/shared/utils/bounds/zoom/types.js +0 -4
  1122. package/lib/commonjs/shared/utils/bounds/zoom/types.js.map +0 -1
  1123. package/lib/commonjs/shared/utils/gesture/compute-claimed-directions.js +0 -81
  1124. package/lib/commonjs/shared/utils/gesture/compute-claimed-directions.js.map +0 -1
  1125. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +0 -1
  1126. package/lib/commonjs/shared/utils/gesture/resolve-ownership.js.map +0 -1
  1127. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +0 -56
  1128. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +0 -1
  1129. package/lib/module/shared/components/create-boundary-component/hooks/use-capture-destination-boundary.js +0 -106
  1130. package/lib/module/shared/components/create-boundary-component/hooks/use-capture-destination-boundary.js.map +0 -1
  1131. package/lib/module/shared/components/create-boundary-component/hooks/use-capture-source-boundary.js +0 -35
  1132. package/lib/module/shared/components/create-boundary-component/hooks/use-capture-source-boundary.js.map +0 -1
  1133. package/lib/module/shared/hooks/gestures/resolve-screen-gesture-target.js +0 -45
  1134. package/lib/module/shared/hooks/gestures/resolve-screen-gesture-target.js.map +0 -1
  1135. package/lib/module/shared/hooks/gestures/types.js.map +0 -1
  1136. package/lib/module/shared/hooks/gestures/use-screen-gesture.js +0 -25
  1137. package/lib/module/shared/hooks/gestures/use-screen-gesture.js.map +0 -1
  1138. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +0 -214
  1139. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +0 -1
  1140. package/lib/module/shared/hooks/reanimated/use-animated-debounce.js +0 -39
  1141. package/lib/module/shared/hooks/reanimated/use-animated-debounce.js.map +0 -1
  1142. package/lib/module/shared/providers/gestures/gestures.provider.js +0 -87
  1143. package/lib/module/shared/providers/gestures/gestures.provider.js.map +0 -1
  1144. package/lib/module/shared/providers/gestures/handlers/use-handlers.js +0 -441
  1145. package/lib/module/shared/providers/gestures/handlers/use-handlers.js.map +0 -1
  1146. package/lib/module/shared/providers/gestures/helpers/gesture-activation.js +0 -312
  1147. package/lib/module/shared/providers/gestures/helpers/gesture-activation.js.map +0 -1
  1148. package/lib/module/shared/providers/gestures/helpers/gesture-claims.js +0 -23
  1149. package/lib/module/shared/providers/gestures/helpers/gesture-claims.js.map +0 -1
  1150. package/lib/module/shared/providers/gestures/helpers/gesture-directions.js +0 -47
  1151. package/lib/module/shared/providers/gestures/helpers/gesture-directions.js.map +0 -1
  1152. package/lib/module/shared/providers/gestures/helpers/gesture-physics.js +0 -134
  1153. package/lib/module/shared/providers/gestures/helpers/gesture-physics.js.map +0 -1
  1154. package/lib/module/shared/providers/gestures/helpers/gesture-reset.js +0 -73
  1155. package/lib/module/shared/providers/gestures/helpers/gesture-reset.js.map +0 -1
  1156. package/lib/module/shared/providers/gestures/helpers/gesture-snap-points.js +0 -38
  1157. package/lib/module/shared/providers/gestures/helpers/gesture-snap-points.js.map +0 -1
  1158. package/lib/module/shared/providers/gestures/helpers/gesture-targets.js +0 -107
  1159. package/lib/module/shared/providers/gestures/helpers/gesture-targets.js.map +0 -1
  1160. package/lib/module/shared/providers/gestures/helpers/register-direction-claims.js +0 -70
  1161. package/lib/module/shared/providers/gestures/helpers/register-direction-claims.js.map +0 -1
  1162. package/lib/module/shared/providers/gestures/index.js.map +0 -1
  1163. package/lib/module/shared/providers/gestures/types.js.map +0 -1
  1164. package/lib/module/shared/providers/gestures/use-build-gestures.js +0 -106
  1165. package/lib/module/shared/providers/gestures/use-build-gestures.js.map +0 -1
  1166. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state.js +0 -104
  1167. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state.js.map +0 -1
  1168. package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +0 -29
  1169. package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +0 -1
  1170. package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js +0 -24
  1171. package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.js.map +0 -1
  1172. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles.js +0 -132
  1173. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles.js.map +0 -1
  1174. package/lib/module/shared/providers/scroll-settle.provider.js +0 -19
  1175. package/lib/module/shared/providers/scroll-settle.provider.js.map +0 -1
  1176. package/lib/module/shared/stores/bounds/helpers/apply-measured-bounds-writes.js +0 -44
  1177. package/lib/module/shared/stores/bounds/helpers/apply-measured-bounds-writes.js.map +0 -1
  1178. package/lib/module/shared/stores/bounds/internals/registry.js +0 -339
  1179. package/lib/module/shared/stores/bounds/internals/registry.js.map +0 -1
  1180. package/lib/module/shared/typecheck/public-api.typecheck.js +0 -174
  1181. package/lib/module/shared/typecheck/public-api.typecheck.js.map +0 -1
  1182. package/lib/module/shared/utils/animation/animate-many.js +0 -27
  1183. package/lib/module/shared/utils/animation/animate-many.js.map +0 -1
  1184. package/lib/module/shared/utils/bounds/zoom/build.js.map +0 -1
  1185. package/lib/module/shared/utils/bounds/zoom/config.js.map +0 -1
  1186. package/lib/module/shared/utils/bounds/zoom/math.js.map +0 -1
  1187. package/lib/module/shared/utils/bounds/zoom/types.js.map +0 -1
  1188. package/lib/module/shared/utils/gesture/compute-claimed-directions.js +0 -77
  1189. package/lib/module/shared/utils/gesture/compute-claimed-directions.js.map +0 -1
  1190. package/lib/module/shared/utils/gesture/find-collapse-target.js.map +0 -1
  1191. package/lib/module/shared/utils/gesture/resolve-ownership.js.map +0 -1
  1192. package/lib/module/shared/utils/gesture/validate-snap-points.js +0 -50
  1193. package/lib/module/shared/utils/gesture/validate-snap-points.js.map +0 -1
  1194. package/lib/typescript/shared/components/create-boundary-component/hooks/use-capture-destination-boundary.d.ts +0 -13
  1195. package/lib/typescript/shared/components/create-boundary-component/hooks/use-capture-destination-boundary.d.ts.map +0 -1
  1196. package/lib/typescript/shared/components/create-boundary-component/hooks/use-capture-source-boundary.d.ts +0 -10
  1197. package/lib/typescript/shared/components/create-boundary-component/hooks/use-capture-source-boundary.d.ts.map +0 -1
  1198. package/lib/typescript/shared/hooks/gestures/resolve-screen-gesture-target.d.ts +0 -10
  1199. package/lib/typescript/shared/hooks/gestures/resolve-screen-gesture-target.d.ts.map +0 -1
  1200. package/lib/typescript/shared/hooks/gestures/types.d.ts +0 -4
  1201. package/lib/typescript/shared/hooks/gestures/types.d.ts.map +0 -1
  1202. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts +0 -17
  1203. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts.map +0 -1
  1204. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +0 -1
  1205. package/lib/typescript/shared/hooks/reanimated/use-animated-debounce.d.ts +0 -13
  1206. package/lib/typescript/shared/hooks/reanimated/use-animated-debounce.d.ts.map +0 -1
  1207. package/lib/typescript/shared/providers/gestures/gestures.provider.d.ts +0 -19
  1208. package/lib/typescript/shared/providers/gestures/gestures.provider.d.ts.map +0 -1
  1209. package/lib/typescript/shared/providers/gestures/handlers/use-handlers.d.ts +0 -71
  1210. package/lib/typescript/shared/providers/gestures/handlers/use-handlers.d.ts.map +0 -1
  1211. package/lib/typescript/shared/providers/gestures/helpers/gesture-activation.d.ts.map +0 -1
  1212. package/lib/typescript/shared/providers/gestures/helpers/gesture-claims.d.ts +0 -15
  1213. package/lib/typescript/shared/providers/gestures/helpers/gesture-claims.d.ts.map +0 -1
  1214. package/lib/typescript/shared/providers/gestures/helpers/gesture-directions.d.ts +0 -13
  1215. package/lib/typescript/shared/providers/gestures/helpers/gesture-directions.d.ts.map +0 -1
  1216. package/lib/typescript/shared/providers/gestures/helpers/gesture-physics.d.ts +0 -42
  1217. package/lib/typescript/shared/providers/gestures/helpers/gesture-physics.d.ts.map +0 -1
  1218. package/lib/typescript/shared/providers/gestures/helpers/gesture-reset.d.ts +0 -18
  1219. package/lib/typescript/shared/providers/gestures/helpers/gesture-reset.d.ts.map +0 -1
  1220. package/lib/typescript/shared/providers/gestures/helpers/gesture-snap-points.d.ts +0 -18
  1221. package/lib/typescript/shared/providers/gestures/helpers/gesture-snap-points.d.ts.map +0 -1
  1222. package/lib/typescript/shared/providers/gestures/helpers/gesture-targets.d.ts.map +0 -1
  1223. package/lib/typescript/shared/providers/gestures/helpers/register-direction-claims.d.ts +0 -9
  1224. package/lib/typescript/shared/providers/gestures/helpers/register-direction-claims.d.ts.map +0 -1
  1225. package/lib/typescript/shared/providers/gestures/index.d.ts.map +0 -1
  1226. package/lib/typescript/shared/providers/gestures/types.d.ts +0 -36
  1227. package/lib/typescript/shared/providers/gestures/types.d.ts.map +0 -1
  1228. package/lib/typescript/shared/providers/gestures/use-build-gestures.d.ts +0 -28
  1229. package/lib/typescript/shared/providers/gestures/use-build-gestures.d.ts.map +0 -1
  1230. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state.d.ts +0 -33
  1231. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state.d.ts.map +0 -1
  1232. package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts +0 -9
  1233. package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts.map +0 -1
  1234. package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts +0 -7
  1235. package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.d.ts.map +0 -1
  1236. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles.d.ts +0 -17
  1237. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles.d.ts.map +0 -1
  1238. package/lib/typescript/shared/providers/scroll-settle.provider.d.ts +0 -12
  1239. package/lib/typescript/shared/providers/scroll-settle.provider.d.ts.map +0 -1
  1240. package/lib/typescript/shared/stores/bounds/helpers/apply-measured-bounds-writes.d.ts.map +0 -1
  1241. package/lib/typescript/shared/stores/bounds/internals/registry.d.ts +0 -17
  1242. package/lib/typescript/shared/stores/bounds/internals/registry.d.ts.map +0 -1
  1243. package/lib/typescript/shared/utils/animation/animate-many.d.ts +0 -13
  1244. package/lib/typescript/shared/utils/animation/animate-many.d.ts.map +0 -1
  1245. package/lib/typescript/shared/utils/bounds/zoom/build.d.ts.map +0 -1
  1246. package/lib/typescript/shared/utils/bounds/zoom/config.d.ts.map +0 -1
  1247. package/lib/typescript/shared/utils/bounds/zoom/math.d.ts +0 -61
  1248. package/lib/typescript/shared/utils/bounds/zoom/math.d.ts.map +0 -1
  1249. package/lib/typescript/shared/utils/bounds/zoom/types.d.ts.map +0 -1
  1250. package/lib/typescript/shared/utils/gesture/compute-claimed-directions.d.ts +0 -23
  1251. package/lib/typescript/shared/utils/gesture/compute-claimed-directions.d.ts.map +0 -1
  1252. package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +0 -1
  1253. package/lib/typescript/shared/utils/gesture/resolve-ownership.d.ts.map +0 -1
  1254. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts +0 -20
  1255. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +0 -1
  1256. package/src/shared/components/create-boundary-component/hooks/use-capture-source-boundary.ts +0 -40
  1257. package/src/shared/hooks/gestures/resolve-screen-gesture-target.ts +0 -66
  1258. package/src/shared/hooks/gestures/types.ts +0 -5
  1259. package/src/shared/hooks/gestures/use-screen-gesture.ts +0 -26
  1260. package/src/shared/hooks/gestures/use-scroll-registry.ts +0 -265
  1261. package/src/shared/hooks/reanimated/use-animated-debounce.ts +0 -56
  1262. package/src/shared/providers/gestures/gestures.provider.tsx +0 -127
  1263. package/src/shared/providers/gestures/handlers/use-handlers.ts +0 -598
  1264. package/src/shared/providers/gestures/helpers/gesture-claims.ts +0 -24
  1265. package/src/shared/providers/gestures/helpers/gesture-directions.ts +0 -97
  1266. package/src/shared/providers/gestures/helpers/gesture-physics.ts +0 -214
  1267. package/src/shared/providers/gestures/helpers/gesture-reset.ts +0 -112
  1268. package/src/shared/providers/gestures/helpers/gesture-snap-points.ts +0 -74
  1269. package/src/shared/providers/gestures/helpers/gesture-targets.ts +0 -175
  1270. package/src/shared/providers/gestures/helpers/register-direction-claims.ts +0 -84
  1271. package/src/shared/providers/gestures/types.ts +0 -45
  1272. package/src/shared/providers/gestures/use-build-gestures.ts +0 -164
  1273. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state.ts +0 -169
  1274. package/src/shared/providers/screen/animation/helpers/resolve-screen-animation-target.ts +0 -42
  1275. package/src/shared/providers/screen/descriptors/helpers/get-ancestor-navigator-keys.ts +0 -29
  1276. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles.ts +0 -190
  1277. package/src/shared/providers/scroll-settle.provider.tsx +0 -24
  1278. package/src/shared/stores/bounds/internals/registry.ts +0 -473
  1279. package/src/shared/typecheck/public-api.typecheck.ts +0 -222
  1280. package/src/shared/utils/animation/animate-many.ts +0 -40
  1281. package/src/shared/utils/gesture/compute-claimed-directions.ts +0 -93
  1282. package/src/shared/utils/gesture/validate-snap-points.ts +0 -74
  1283. /package/lib/commonjs/shared/providers/{gestures → screen/gestures}/index.js +0 -0
  1284. /package/lib/commonjs/shared/{hooks/gestures → providers/screen/styles/helpers/resolve-slot-styles}/types.js +0 -0
  1285. /package/lib/module/shared/providers/{gestures → screen/gestures}/index.js +0 -0
  1286. /package/lib/module/shared/{hooks/gestures → providers/screen/styles/helpers/resolve-slot-styles}/types.js +0 -0
  1287. /package/lib/typescript/shared/{utils/gesture → components/screen-container/helpers}/find-collapse-target.d.ts +0 -0
  1288. /package/lib/typescript/shared/utils/bounds/{zoom → navigation/zoom}/build.d.ts +0 -0
package/README.md CHANGED
@@ -1,78 +1,30 @@
1
1
  # react-native-screen-transitions
2
2
 
3
- Customizable screen transitions for React Native. Build gesture-driven, shared element, and fully custom animations with a simple API.
3
+ Customizable screen transitions for React Native. Build gesture-driven, shared element, sheet, and fully custom animations with a simple API.
4
4
 
5
- | iOS | Android |
6
- | --------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
5
+ | iOS | Android |
6
+ | --- | ------- |
7
7
  | <video src="https://github.com/user-attachments/assets/c0d17b8f-7268-421c-9051-e242f8ddca76" width="300" height="600" controls></video> | <video src="https://github.com/user-attachments/assets/3f8d5fb1-96d2-4fe3-860d-62f6fb5a687e" width="300" controls></video> |
8
8
 
9
9
  ## Features
10
10
 
11
- - **Full Animation Control** Define exactly how screens enter, exit, and respond to gestures
12
- - **Bounds API + Navigation Zoom** – Build shared element and fullscreen zoom transitions with one bounds helper
13
- - **Auto Snap Points** Use `snapPoints: ["auto"]` and read measured content layout inside your interpolator
14
- - **Gesture-Aware Scrollables** – Transition-aware `ScrollView` and `FlatList` coordinate with dismiss and snap gestures
15
- - **Backdrop + Surface Slots** – Animate screen content, backdrops, surfaces, and per-element slots from one interpolator
16
- - **Ready-Made Presets** – Instagram, Apple Music, X (Twitter) style transitions included
11
+ - Full animation control for screen enter, exit, and gesture-driven states.
12
+ - Shared element and fullscreen navigation zoom transitions through the Bounds API.
13
+ - Snap-point sheets with gesture-aware `ScrollView` and `FlatList` coordination.
14
+ - Transition slots for content, backdrop, surface, and custom tagged elements.
15
+ - Built-in presets for common modal, card, and shared-transition patterns.
16
+ - Blank stack, native stack, and Expo Router integration.
17
+ - Written in TypeScript.
17
18
 
18
- ## What's New In 3.4
19
+ ## Getting Started
19
20
 
20
- 3.4 introduces a newer, more explicit path for shared transitions and snap-driven layouts.
21
- Use the notes below as the source of truth when migrating examples or generating docs.
22
-
23
- ### Added / Expanded
24
-
25
- - **Auto snap sizing** with `snapPoints: ["auto"]` and `current.layouts.content`
26
- - **Scoped screen state access** through `previous`, `current`, `next`, `active`, and `inactive`, with `current.layouts` and `current.snapIndex`
27
- - **Compound bounds components** via `Transition.Boundary.View`, `Transition.Boundary.Trigger`, and `Transition.Boundary.Target`
28
- - **`Transition.createBoundaryComponent`** for building custom boundary wrappers, including `alreadyAnimated` support
29
- - **Navigation-style bounds zoom** through `bounds({ id }).navigation.zoom()`
30
- - **`navigationMaskEnabled`** for library-managed masked navigation transitions
31
- - **Ancestor targeting** in `useScreenGesture()` and `useScreenAnimation()`
32
- - **Gesture release tuning** with `gestureReleaseVelocityScale` and `gestureReleaseVelocityMax`
33
- - **`Transition.Specs.FlingSpec`** for underdamped fling-style release motion
34
- - **Surface slot support** through `surfaceComponent` and the interpolator `surface` slot
35
- - **Animated `props` support across all slots** via `{ style, props }` slot returns
36
- - **Optional first-screen animation** with `experimental_animateOnInitialMount`
37
- - **`logicallySettled`** for choreography that should finish before a spring is fully at rest
38
-
39
- ### Deprecated / Replaced
40
-
41
- - **`sharedBoundTag` on transition-aware components is deprecated for new work.** Prefer `Transition.Boundary.*` for new shared transition flows.
42
- - **`Transition.MaskedView` is deprecated for new work.** Prefer `Transition.Boundary.*` with `bounds({ id }).navigation.zoom()` and `navigationMaskEnabled` for library-managed shared navigation transitions.
43
- - **`createComponentStackNavigator` is deprecated.** Prefer blank stack for embedded and independent flows.
44
- - **`expandViaScrollView` was renamed to `sheetScrollGestureBehavior`.**
45
- - **Flat interpolator keys are deprecated.** Use `content`, `backdrop`, and `surface` instead of `contentStyle`, `backdropStyle`, and `overlayStyle`.
46
- - **Legacy interpolator accessors are deprecated.** Use `current.layouts` and `current.snapIndex` instead of top-level `layouts` and `snapIndex`.
47
- - **If you saw older alpha docs using `backgroundComponent` / `background`, use `surfaceComponent` / `surface`.**
48
-
49
- ### Removed
50
-
51
- - Deprecated screen overlay mode and legacy overlay animation props were removed.
52
-
53
- ## When to Use This Library
54
-
55
- | Use Case | This Library | Alternative |
56
- |----------|--------------|-------------|
57
- | Custom transitions (slide, zoom, fade variations) | Yes | `@react-navigation/stack` works too |
58
- | Shared element transitions | **Yes** | Limited options elsewhere |
59
- | Multi-stop sheets (bottom, top, side) with snap points | **Yes** | Dedicated sheet libraries |
60
- | Gesture-driven animations (drag to dismiss, elastic) | **Yes** | Requires custom implementation |
61
- | Instagram/Apple Music/Twitter-style transitions | **Yes** | Custom implementation |
62
- | Simple push/pop with platform defaults | Overkill | `@react-navigation/native-stack` |
63
- | Maximum raw performance on low-end devices | Not ideal | `@react-navigation/native-stack` |
64
-
65
- **Choose this library when** you need custom animations, shared elements, or gesture-driven transitions that go beyond platform defaults.
66
-
67
- **Choose native-stack when** you want platform-native transitions with zero configuration and maximum performance on low-end Android devices.
68
-
69
- ## Installation
21
+ Install the package:
70
22
 
71
23
  ```bash
72
24
  npm install react-native-screen-transitions
73
25
  ```
74
26
 
75
- ### Peer Dependencies
27
+ Install peer dependencies:
76
28
 
77
29
  ```bash
78
30
  npm install react-native-reanimated react-native-gesture-handler \
@@ -81,1033 +33,23 @@ npm install react-native-reanimated react-native-gesture-handler \
81
33
  react-native-safe-area-context
82
34
  ```
83
35
 
84
- ---
85
-
86
- ## Quick Start
87
-
88
- ### 1. Create a Stack
89
-
90
- ```tsx
91
- import { createBlankStackNavigator } from "react-native-screen-transitions/blank-stack";
92
- import Transition from "react-native-screen-transitions";
93
-
94
- const Stack = createBlankStackNavigator();
95
-
96
- function App() {
97
- return (
98
- <Stack.Navigator>
99
- <Stack.Screen name="Home" component={HomeScreen} />
100
- <Stack.Screen
101
- name="Detail"
102
- component={DetailScreen}
103
- options={{
104
- ...Transition.Presets.SlideFromBottom(),
105
- }}
106
- />
107
- </Stack.Navigator>
108
- );
109
- }
110
- ```
111
-
112
- ### 2. With Expo Router
113
-
114
- ```tsx
115
- import { withLayoutContext } from "expo-router";
116
- import {
117
- createBlankStackNavigator,
118
- type BlankStackNavigationOptions,
119
- } from "react-native-screen-transitions/blank-stack";
120
-
121
- const { Navigator } = createBlankStackNavigator();
122
-
123
- export const Stack = withLayoutContext<
124
- BlankStackNavigationOptions,
125
- typeof Navigator
126
- >(Navigator);
127
- ```
128
-
129
- ### 3. Static Config
130
-
131
- Blank stack-specific navigator props follow React Navigation's custom navigator pattern.
132
-
133
- For the dynamic API, pass them to `<Stack.Navigator>`:
134
-
135
- ```tsx
136
- const Stack = createBlankStackNavigator();
137
-
138
- function App() {
139
- return (
140
- <Stack.Navigator independent enableNativeScreens={false}>
141
- <Stack.Screen name="Home" component={HomeScreen} />
142
- <Stack.Screen name="Detail" component={DetailScreen} />
143
- </Stack.Navigator>
144
- );
145
- }
146
- ```
147
-
148
- For the static API, keep them in the same config object:
149
-
150
- ```tsx
151
- import { createBlankStackNavigator } from "react-native-screen-transitions/blank-stack";
152
-
153
- const Stack = createBlankStackNavigator({
154
- initialRouteName: "Home",
155
- screens: {
156
- Home: HomeScreen,
157
- Detail: DetailScreen,
158
- },
159
- independent: true,
160
- enableNativeScreens: false,
161
- });
162
- ```
163
-
164
- ---
165
-
166
- ## Presets
167
-
168
- Use built-in presets for common transitions:
169
-
170
- ```tsx
171
- <Stack.Screen
172
- name="Detail"
173
- options={{
174
- ...Transition.Presets.SlideFromBottom(),
175
- }}
176
- />
177
- ```
178
-
179
- | Preset | Description |
180
- | -------------------------------------- | --------------------------------------- |
181
- | `SlideFromTop()` | Slides in from top |
182
- | `SlideFromBottom()` | Slides in from bottom (modal-style) |
183
- | `ZoomIn()` | Scales in with fade |
184
- | `DraggableCard()` | Multi-directional drag with scaling |
185
- | `ElasticCard()` | Elastic drag with overlay |
186
- | `SharedIGImage({ sharedBoundTag })` | Legacy Instagram-style shared image preset |
187
- | `SharedAppleMusic({ sharedBoundTag })` | Legacy Apple Music-style shared element preset |
188
- | `SharedXImage({ sharedBoundTag })` | Legacy X (Twitter)-style image transition preset |
189
-
190
- ---
191
-
192
- ## Custom Animations
193
-
194
- ### The Basics
195
-
196
- Every screen has a `progress` value that goes from 0 → 1 → 2:
197
-
198
- ```
199
- 0 ─────────── 1 ─────────── 2
200
- entering visible exiting
201
- ```
202
-
203
- When navigating from A to B:
204
- - **Screen B**: progress goes `0 → 1` (entering)
205
- - **Screen A**: progress goes `1 → 2` (exiting)
206
-
207
- ### Simple Fade
208
-
209
- ```tsx
210
- options={{
211
- screenStyleInterpolator: ({ progress }) => {
212
- "worklet";
213
- return {
214
- content: {
215
- style: {
216
- opacity: interpolate(progress, [0, 1, 2], [0, 1, 0]),
217
- },
218
- },
219
- };
220
- },
221
- }}
222
- ```
223
-
224
- ### Slide from Right
225
-
226
- ```tsx
227
- options={{
228
- screenStyleInterpolator: ({ progress, current: { layouts: { screen } } }) => {
229
- "worklet";
230
- return {
231
- content: {
232
- style: {
233
- transform: [{
234
- translateX: interpolate(
235
- progress,
236
- [0, 1, 2],
237
- [screen.width, 0, -screen.width * 0.3]
238
- ),
239
- }],
240
- },
241
- },
242
- };
243
- },
244
- }}
245
- ```
246
-
247
- ### Slide from Bottom
248
-
249
- ```tsx
250
- options={{
251
- screenStyleInterpolator: ({ progress, current: { layouts: { screen } } }) => {
252
- "worklet";
253
- return {
254
- content: {
255
- style: {
256
- transform: [{
257
- translateY: interpolate(progress, [0, 1], [screen.height, 0]),
258
- }],
259
- },
260
- },
261
- };
262
- },
263
- }}
264
- ```
265
-
266
- ### Return Styles
267
-
268
- Your interpolator can return:
269
-
270
- ```tsx
271
- return {
272
- content: { style: { ... }, props: { ... } }, // Main screen slot
273
- backdrop: { style: { ... }, props: { ... } }, // Backdrop / blur / dimming
274
- surface: { style: { ... }, props: { ... } }, // Custom surface layer
275
- ["my-id"]: { style: { ... }, props: { ... } }, // Specific element via styleId
276
- };
277
- ```
278
-
279
- Every slot supports animated `style` and animated `props`.
280
- Use the shorthand style-only form when you only need styles, or the explicit
281
- `{ style, props }` form when the wrapped component exposes animatable props.
282
-
283
- Return `null`, `undefined`, or `{}` when you want an interpolator frame to apply no transition styles:
284
-
285
- ```tsx
286
- screenStyleInterpolator: ({ bounds }) => {
287
- "worklet";
288
-
289
- const measuredEntry = bounds.getMeasured("hero");
290
- if (!measuredEntry) return null;
291
-
292
- return {
293
- content: {
294
- style: { opacity: 1 },
295
- },
296
- };
297
- };
298
- ```
299
-
300
- `bounds.getSnapshot()` remains available as a deprecated alias for `bounds.getMeasured()`
301
- and will be removed in the next major version.
302
-
303
- ### Animation Specs
304
-
305
- Control timing with spring configs:
306
-
307
- ```tsx
308
- options={{
309
- screenStyleInterpolator: myInterpolator,
310
- transitionSpec: {
311
- open: { stiffness: 1000, damping: 500, mass: 3 }, // Screen enters
312
- close: { stiffness: 1000, damping: 500, mass: 3 }, // Screen exits
313
- expand: { stiffness: 300, damping: 30 }, // Snap point increases
314
- collapse: { stiffness: 300, damping: 30 }, // Snap point decreases
315
- },
316
- }}
317
- ```
318
-
319
- Built-in starting points are available on `Transition.Specs`:
320
-
321
- ```tsx
322
- transitionSpec: {
323
- open: Transition.Specs.DefaultSpec,
324
- close: Transition.Specs.FlingSpec,
325
- expand: Transition.Specs.DefaultSnapSpec,
326
- collapse: Transition.Specs.DefaultSnapSpec,
327
- }
328
- ```
329
-
330
- ---
331
-
332
- ## Gestures
333
-
334
- Enable swipe-to-dismiss:
335
-
336
- ```tsx
337
- options={{
338
- gestureEnabled: true,
339
- gestureDirection: "vertical",
340
- ...Transition.Presets.SlideFromBottom(),
341
- }}
342
- ```
343
-
344
- ### Gesture Options
345
-
346
- | Option | Description |
347
- | ------------------------- | ------------------------------------------------------------------------ |
348
- | `gestureEnabled` | Enable swipe-to-dismiss (snap sheets: `false` blocks dismiss-to-0 only) |
349
- | `gestureDirection` | Direction(s) for swipe gesture |
350
- | `gestureActivationArea` | Where gesture can start |
351
- | `gestureResponseDistance` | Pixel threshold for activation |
352
- | `gestureVelocityImpact` | How much velocity affects dismissal (default: 0.3) |
353
- | `gestureDrivesProgress` | Whether gesture controls animation progress (default: true) |
354
- | `snapVelocityImpact` | How much velocity affects snap targeting (default: 0.1, lower = iOS-like)|
355
- | `gestureReleaseVelocityScale` | Multiplier for release velocity used by post-release spring animations |
356
- | `gestureReleaseVelocityMax` | Max absolute normalized release velocity used by spring animations |
357
- | `sheetScrollGestureBehavior` | Nested scroll handoff mode: `"expand-and-collapse"` or `"collapse-only"` |
358
- | `gestureSnapLocked` | Lock gesture-based snap movement to current snap point |
359
- | `backdropBehavior` | Touch handling for backdrop area |
360
- | `backdropComponent` | Custom backdrop component (replaces default backdrop + press behavior) |
361
-
362
- ### Gesture Direction
363
-
364
- ```tsx
365
- gestureDirection: "horizontal" // swipe left to dismiss
366
- gestureDirection: "horizontal-inverted" // swipe right to dismiss
367
- gestureDirection: "vertical" // swipe down to dismiss
368
- gestureDirection: "vertical-inverted" // swipe up to dismiss
369
- gestureDirection: "bidirectional" // any direction
370
-
371
- // Or combine multiple:
372
- gestureDirection: ["horizontal", "vertical"]
373
- ```
374
-
375
- ### Gesture Activation Area
376
-
377
- ```tsx
378
- // Simple - same for all edges
379
- gestureActivationArea: "edge" // only from screen edges
380
- gestureActivationArea: "screen" // anywhere on screen
381
-
382
- // Per-side configuration
383
- gestureActivationArea: {
384
- left: "edge",
385
- right: "screen",
386
- top: "edge",
387
- bottom: "screen",
388
- }
389
- ```
390
-
391
- ### With ScrollViews
392
-
393
- Use transition-aware scrollables so gestures work correctly:
394
-
395
- ```tsx
396
- <Transition.ScrollView>
397
- {/* content */}
398
- </Transition.ScrollView>
399
-
400
- <Transition.FlatList data={items} renderItem={...} />
401
- ```
402
-
403
- Gesture rules with scrollables:
404
- - **vertical** – only activates when scrolled to top
405
- - **vertical-inverted** – only activates when scrolled to bottom
406
- - **horizontal** – only activates at left/right scroll edges
407
-
408
- ---
409
-
410
- ## Snap Points
411
-
412
- Create multi-stop sheets that snap to defined positions. Works with any gesture direction (bottom sheets, top sheets, side sheets), and supports intrinsic content sizing with `"auto"` snap points.
413
-
414
- ### Basic Configuration
415
-
416
- ```tsx
417
- // Bottom sheet (most common)
418
- <Stack.Screen
419
- name="Sheet"
420
- options={{
421
- gestureEnabled: true,
422
- gestureDirection: "vertical",
423
- snapPoints: [0.5, 1], // 50% and 100% of screen
424
- initialSnapIndex: 0, // Start at 50%
425
- backdropBehavior: "dismiss", // Tap backdrop to dismiss
426
- ...Transition.Presets.SlideFromBottom(),
427
- }}
428
- />
429
-
430
- // Side sheet (same API, different direction)
431
- <Stack.Screen
432
- name="SidePanel"
433
- options={{
434
- gestureEnabled: true,
435
- gestureDirection: "horizontal",
436
- snapPoints: [0.3, 0.7, 1], // 30%, 70%, 100% of screen width
437
- initialSnapIndex: 1,
438
- // Add a horizontal screenStyleInterpolator for drawer-style motion
439
- }}
440
- />
441
-
442
- // Auto-sized sheet
443
- <Stack.Screen
444
- name="Composer"
445
- options={{
446
- gestureEnabled: true,
447
- gestureDirection: "vertical",
448
- snapPoints: ["auto", 1],
449
- initialSnapIndex: 0,
450
- backdropBehavior: "collapse",
451
- ...Transition.Presets.SlideFromBottom(),
452
- }}
453
- />
454
- ```
455
-
456
- ### Options
457
-
458
- | Option | Description |
459
- | ------------------ | -------------------------------------------------------------------- |
460
- | `snapPoints` | Array of fractions (0-1) or `"auto"` values where sheet can rest |
461
- | `initialSnapIndex` | Index of initial snap point (default: 0) |
462
- | `gestureSnapLocked` | Locks gesture snapping to current point (programmatic `snapTo` still works) |
463
- | `sheetScrollGestureBehavior` | Nested scroll handoff mode for snap sheets |
464
- | `backdropBehavior` | Touch handling: `"block"`, `"passthrough"`, `"dismiss"`, `"collapse"`|
465
- | `backdropComponent` | Custom backdrop component; replaces default backdrop + tap handling |
466
-
467
- ### Auto Snap Points
468
-
469
- When you use `"auto"`, the library measures the content height and exposes it in `current.layouts.content`:
470
-
471
- ```tsx
472
- screenStyleInterpolator: ({ current }) => {
473
- "worklet";
474
-
475
- const contentHeight = current.layouts.content?.height ?? 0;
476
-
477
- return {
478
- content: {
479
- style: {
480
- opacity: interpolate(current.snapIndex, [0, 1], [0.8, 1]),
481
- },
482
- },
483
- "sheet-height-debug": {
484
- style: {
485
- opacity: contentHeight > 0 ? 1 : 0,
486
- },
487
- },
488
- };
489
- }
490
- ```
491
-
492
- #### backdropBehavior Values
493
-
494
- | Value | Description |
495
- | --------------- | ---------------------------------------------------------------- |
496
- | `"block"` | Backdrop catches all touches (default) |
497
- | `"passthrough"` | Touches pass through to content behind |
498
- | `"dismiss"` | Tapping backdrop dismisses the screen |
499
- | `"collapse"` | Tapping backdrop collapses to next lower snap point, then dismisses |
500
-
501
- #### Custom Backdrop Component
502
-
503
- Use `backdropComponent` when you want full control over backdrop visuals and interactions.
504
-
505
- - When provided, it replaces the default backdrop entirely (including default tap behavior)
506
- - You are responsible for dismiss/collapse actions inside the custom component
507
- - `backdropBehavior` still controls container-level pointer event behavior
508
-
509
- ```tsx
510
- import { router } from "expo-router";
511
- import { Pressable } from "react-native";
512
- import Animated, { interpolate, useAnimatedStyle } from "react-native-reanimated";
513
- import { useScreenAnimation } from "react-native-screen-transitions";
514
-
515
- function SheetBackdrop() {
516
- const animation = useScreenAnimation();
517
-
518
- const style = useAnimatedStyle(() => ({
519
- opacity: interpolate(animation.value.current.progress, [0, 1], [0, 0.4]),
520
- backgroundColor: "#000",
521
- }));
522
-
523
- return (
524
- <Pressable style={{ flex: 1 }} onPress={() => router.back()}>
525
- <Animated.View style={[{ flex: 1 }, style]} />
526
- </Pressable>
527
- );
528
- }
529
-
530
- <Stack.Screen
531
- name="Sheet"
532
- options={{
533
- snapPoints: [0.5, 1],
534
- backdropBehavior: "dismiss",
535
- backdropComponent: SheetBackdrop,
536
- }}
537
- />
538
- ```
539
-
540
- ### Programmatic Control
541
-
542
- Control snap points from anywhere in your app:
543
-
544
- ```tsx
545
- import { snapTo } from "react-native-screen-transitions";
546
-
547
- function BottomSheet() {
548
- // Expand to full height (index 1)
549
- const expand = () => snapTo(1);
550
-
551
- // Collapse to half height (index 0)
552
- const collapse = () => snapTo(0);
553
-
554
- return (
555
- <View>
556
- <Button title="Expand" onPress={expand} />
557
- <Button title="Collapse" onPress={collapse} />
558
- </View>
559
- );
560
- }
561
- ```
562
-
563
- The animated snap point index is available via `current.snapIndex` in `ScreenInterpolationProps`:
564
-
565
- ```tsx
566
- screenStyleInterpolator: ({ current }) => {
567
- // snapIndex interpolates between snap point indices
568
- // e.g., 0.5 means halfway between snap point 0 and 1
569
- return {
570
- content: {
571
- style: {
572
- opacity: interpolate(current.snapIndex, [0, 1], [0.5, 1]),
573
- },
574
- },
575
- };
576
- }
577
- ```
578
-
579
- ### ScrollView Behavior
580
-
581
- With `Transition.ScrollView` inside a snap-enabled sheet:
582
- - **`sheetScrollGestureBehavior: "expand-and-collapse"`**: At boundary, swipe up expands and swipe down collapses (or dismisses at min if enabled)
583
- - **`sheetScrollGestureBehavior: "collapse-only"`**: Expand works only via deadspace; collapse/dismiss via scroll still works at boundary
584
- - **Scrolled into content**: Normal scroll behavior
585
-
586
- ### Snap Animation Specs
587
-
588
- Customize snap animations separately from enter/exit:
589
-
590
- ```tsx
591
- transitionSpec: {
592
- open: { stiffness: 1000, damping: 500, mass: 3 }, // Screen enter
593
- close: { stiffness: 1000, damping: 500, mass: 3 }, // Screen exit
594
- expand: { stiffness: 300, damping: 30 }, // Snap up
595
- collapse: { stiffness: 300, damping: 30 }, // Snap down
596
- }
597
- ```
598
-
599
- ---
600
-
601
- ## Shared Elements (Bounds API)
602
-
603
- Animate elements between screens by tagging them. In 3.4, the recommended and forward-compatible API is `Transition.Boundary.*` for explicit bounds ownership.
604
-
605
- `sharedBoundTag` on transition-aware components is deprecated and retained for legacy flows and presets.
606
-
607
- ### 1. Tag the Source
608
-
609
- ```tsx
610
- <Transition.Boundary.Trigger
611
- id="avatar"
612
- onPress={() => navigation.navigate("Profile")}
613
- >
614
- <Image source={avatar} style={{ width: 50, height: 50 }} />
615
- </Transition.Boundary.Trigger>
616
- ```
617
-
618
- If the boundary owner is larger than the visual element you want to match,
619
- wrap the measured descendant in `Transition.Boundary.Target`:
620
-
621
- ```tsx
622
- <Transition.Boundary.Trigger
623
- id="avatar"
624
- onPress={() => navigation.navigate("Profile")}
625
- style={styles.card}
626
- >
627
- <Transition.Boundary.Target>
628
- <Image source={avatar} style={styles.image} />
629
- </Transition.Boundary.Target>
630
-
631
- <View style={styles.copy}>
632
- <Text style={styles.title}>Profile</Text>
633
- </View>
634
- </Transition.Boundary.Trigger>
635
- ```
636
-
637
- ### 2. Tag the Destination
638
-
639
- ```tsx
640
- <Transition.Boundary.View id="avatar">
641
- <Image source={avatar} style={{ width: 200, height: 200 }} />
642
- </Transition.Boundary.View>
643
- ```
644
-
645
- ### 3. Use in Interpolator
646
-
647
- ```tsx
648
- screenStyleInterpolator: ({ bounds }) => {
649
- "worklet";
650
- return {
651
- avatar: bounds({ id: "avatar", method: "transform" }),
652
- };
653
- };
654
- ```
655
-
656
- ### Navigation Zoom
657
-
658
- For fullscreen, navigation-style shared transitions:
659
-
660
- ```tsx
661
- screenStyleInterpolator: ({ bounds }) => {
662
- "worklet";
663
- return bounds({ id: "avatar" }).navigation.zoom({
664
- target: "fullscreen",
665
- });
666
- };
667
- ```
668
-
669
- ### Bounds Options
670
-
671
- | Option | Values | Description |
672
- | ----------- | ---------------------------------- | ----------------------------- |
673
- | `id` | string | The boundary id to match |
674
- | `group` | string | Optional group key for paged/detail flows |
675
- | `method` | `"transform"` `"size"` `"content"` | How to animate |
676
- | `space` | `"relative"` `"absolute"` | Coordinate space |
677
- | `scaleMode` | `"match"` `"none"` `"uniform"` | Aspect ratio handling |
678
- | `raw` | boolean | Return raw values |
679
-
680
- ---
681
-
682
- ## Overlays
683
-
684
- Persistent UI that animates with the stack:
685
-
686
- ```tsx
687
- const TabBar = ({ focusedIndex, progress }) => {
688
- const style = useAnimatedStyle(() => ({
689
- transform: [{ translateY: interpolate(progress.value, [0, 1], [100, 0]) }],
690
- }));
691
- return <Animated.View style={[styles.tabBar, style]} />;
692
- };
693
-
694
- <Stack.Screen
695
- name="Home"
696
- options={{
697
- overlay: TabBar,
698
- overlayShown: true,
699
- }}
700
- />
701
- ```
702
-
703
- ### Overlay Props
704
-
705
- | Prop | Description |
706
- | -------------- | ------------------------------ |
707
- | `focusedRoute` | Currently focused route |
708
- | `focusedIndex` | Index of focused screen |
709
- | `routes` | All routes in the stack |
710
- | `progress` | Stack progress (derived value) |
711
- | `navigation` | Navigation prop |
712
- | `meta` | Custom metadata from options |
713
-
714
- ---
715
-
716
- ## Transition Components
717
-
718
- | Component | Description |
719
- | ----------------------- | -------------------------------------- |
720
- | `Transition.View` | Animated view; `sharedBoundTag` usage is legacy/deprecated |
721
- | `Transition.Pressable` | Pressable; `sharedBoundTag` usage is legacy/deprecated |
722
- | `Transition.ScrollView` | ScrollView with gesture coordination |
723
- | `Transition.FlatList` | FlatList with gesture coordination |
724
- | `Transition.Boundary.View` | Explicit bounds destination/source registration |
725
- | `Transition.Boundary.Trigger` | Pressable boundary owner that captures source bounds on press |
726
- | `Transition.Boundary.Target` | Optional nested measurement target inside a boundary owner |
727
- | `Transition.MaskedView` | Deprecated legacy reveal helper (requires native) |
728
-
729
- Helper exports:
730
-
731
- - `Transition.createBoundaryComponent(Component, { alreadyAnimated?: boolean })`
732
- - `Transition.createTransitionAwareComponent(Component, { isScrollable?: boolean, alreadyAnimated?: boolean })`
733
-
734
- ---
735
-
736
- ## Hooks
737
-
738
- ### useScreenAnimation
739
-
740
- Access animation state inside a screen:
741
-
742
- ```tsx
743
- import { useScreenAnimation } from "react-native-screen-transitions";
744
-
745
- function DetailScreen() {
746
- const animation = useScreenAnimation();
747
- const parentAnimation = useScreenAnimation("parent");
748
-
749
- const style = useAnimatedStyle(() => ({
750
- opacity: parentAnimation.value.current.progress,
751
- }));
752
-
753
- return <Animated.View style={style}>...</Animated.View>;
754
- }
755
- ```
756
-
757
- ### useScreenState
758
-
759
- Get navigation state without animation values:
760
-
761
- ```tsx
762
- import { useScreenState } from "react-native-screen-transitions";
763
-
764
- function DetailScreen() {
765
- const { index, focusedRoute, routes, navigation } = useScreenState();
766
- // ...
767
- }
768
- ```
769
-
770
- ### useHistory
771
-
772
- Access navigation history across the app:
773
-
774
- ```tsx
775
- import { useHistory } from "react-native-screen-transitions";
776
-
777
- function MyComponent() {
778
- const { getRecent, getPath } = useHistory();
779
-
780
- const recentScreens = getRecent(5); // Last 5 screens
781
- const path = getPath(fromKey, toKey); // Path between screens
782
- }
783
- ```
784
-
785
- ### useScreenGesture
786
-
787
- Coordinate your own pan gestures with the navigation gesture:
788
-
789
- ```tsx
790
- import { useScreenGesture } from "react-native-screen-transitions";
791
- import { Gesture, GestureDetector } from "react-native-gesture-handler";
792
-
793
- function MyScreen() {
794
- const screenGesture = useScreenGesture();
795
- const parentGesture = useScreenGesture("parent");
796
-
797
- const myPanGesture = Gesture.Pan()
798
- .simultaneousWithExternalGesture(screenGesture, parentGesture)
799
- .onUpdate((e) => {
800
- // Your gesture logic
801
- });
802
-
803
- return (
804
- <GestureDetector gesture={myPanGesture}>
805
- <View />
806
- </GestureDetector>
807
- );
808
- }
809
- ```
810
-
811
- Use this when you have custom pan gestures that need to work alongside screen dismiss gestures.
812
- You can target `"self"`, `"parent"`, `"root"`, or `{ ancestor: number }`.
813
-
814
- ---
815
-
816
- ## Advanced Animation Props
817
-
818
- The full `screenStyleInterpolator` receives these props:
819
-
820
- | Prop | Description |
821
- | ---------------- | -------------------------------------------------------- |
822
- | `progress` | Combined progress (0-2) |
823
- | `stackProgress` | Accumulated progress across entire stack |
824
- | `focused` | Whether this screen is the topmost in the stack |
825
- | `current` | Current screen state |
826
- | `previous` | Previous screen state |
827
- | `next` | Next screen state |
828
- | `active` | Screen driving the transition |
829
- | `inactive` | Screen NOT driving the transition |
830
- | `insets` | Safe area insets |
831
- | `bounds` | Shared element bounds function |
832
-
833
- Prefer `current.snapIndex`, `current.layouts.screen`, and `current.layouts.content` for new code.
834
-
835
- ### Screen State Properties
836
-
837
- Each screen state (`current`, `previous`, `next`, `active`, `inactive`) contains:
838
-
839
- | Property | Description |
840
- | ----------- | ---------------------------------------- |
841
- | `progress` | Animation progress (0 or 1) |
842
- | `closing` | Whether closing (0 or 1) |
843
- | `entering` | Whether entering (0 or 1) |
844
- | `animating` | Whether animating (0 or 1) |
845
- | `logicallySettled` | Whether choreography can treat the screen as done |
846
- | `snapIndex` | Animated snap point index for this screen |
847
- | `layouts` | Screen and measured content layouts |
848
- | `gesture` | Gesture values (x, y, `normX`, `normY`, etc.) |
849
- | `meta` | Custom metadata from options |
850
-
851
- ### Using `meta` for Conditional Logic
852
-
853
- Pass custom data between screens:
854
-
855
- ```tsx
856
- // Screen A
857
- options={{ meta: { hideTabBar: true } }}
858
-
859
- // Screen B reads it
860
- screenStyleInterpolator: (props) => {
861
- "worklet";
862
- const hideTabBar = props.inactive?.meta?.hideTabBar;
863
- // ...
864
- };
865
- ```
866
-
867
- ### Animate Individual Elements
868
-
869
- Use `styleId` to target specific elements:
870
-
871
- ```tsx
872
- // In options
873
- screenStyleInterpolator: ({ progress }) => {
874
- "worklet";
875
- return {
876
- "hero-image": {
877
- style: {
878
- opacity: interpolate(progress, [0, 1], [0, 1]),
879
- },
880
- },
881
- };
882
- };
883
-
884
- // In component
885
- <Transition.View styleId="hero-image">
886
- <Image source={...} />
887
- </Transition.View>
888
- ```
889
-
890
- ---
891
-
892
- ## Stack Types
893
-
894
- Blank stack and native stack are the primary APIs. Component stack remains available as a deprecated compatibility API.
895
-
896
- | Stack | Best For |
897
- | ------------------- | --------------------------------------------------------- |
898
- | **Blank Stack** | Most apps. Full control, all features. |
899
- | **Native Stack** | When you need native screen primitives. |
900
- | **Component Stack** | Legacy embedded-flow API. Prefer blank stack instead. |
901
-
902
- ### Blank Stack
903
-
904
- The default choice. Uses `react-native-screens` for native screen containers, with animations powered by Reanimated worklets running on the UI thread (not the JS thread).
905
-
906
- ```tsx
907
- import { createBlankStackNavigator } from "react-native-screen-transitions/blank-stack";
908
- ```
909
-
910
- ### Native Stack
911
-
912
- Extends `@react-navigation/native-stack`. Requires `enableTransitions: true`.
913
-
914
- ```tsx
915
- import { createNativeStackNavigator } from "react-native-screen-transitions/native-stack";
916
-
917
- <Stack.Screen
918
- name="Detail"
919
- options={{
920
- enableTransitions: true,
921
- ...Transition.Presets.SlideFromBottom(),
922
- }}
923
- />
924
- ```
925
-
926
- ### Component Stack (Deprecated)
927
-
928
- > **Note:** Prefer blank stack for new work. It now covers the embedded and independent flow use case.
929
-
930
- Standalone navigator, not connected to React Navigation. Kept for compatibility with older integrations.
931
-
932
- ```tsx
933
- import { createComponentStackNavigator } from "react-native-screen-transitions/component-stack";
934
-
935
- const Stack = createComponentStackNavigator();
936
-
937
- <Stack.Navigator initialRouteName="step1">
938
- <Stack.Screen name="step1" component={Step1} />
939
- <Stack.Screen name="step2" component={Step2} />
940
- </Stack.Navigator>
941
- ```
942
-
943
- ---
944
-
945
- ## Caveats & Trade-offs
946
-
947
- ### Native Stack
948
-
949
- The Native Stack uses transparent modal presentation to intercept transitions. This has trade-offs:
950
-
951
- - **Delayed touch events** – Exiting screens may have briefly delayed touch response
952
- - **beforeRemove listeners** – Relies on navigation lifecycle events
953
- - **Rapid navigation** – Some edge cases with very fast navigation sequences
954
-
955
- For most apps, Blank Stack avoids these issues entirely.
956
-
957
- ### Component Stack (Deprecated Compatibility)
958
-
959
- - **No deep linking** – Routes aren't part of your URL structure
960
- - **Isolated state** – Doesn't affect parent navigation
961
- - **Touch pass-through** – Uses `pointerEvents="box-none"` by default
962
-
963
- ---
964
-
965
- ## Experimental Features
36
+ See [the documentation site](https://screen-transitions.esjr.org).
966
37
 
967
- ### High Refresh Rate
968
-
969
- Force maximum refresh rate during transitions (for 90Hz/120Hz displays):
970
-
971
- ```tsx
972
- options={{
973
- experimental_enableHighRefreshRate: true,
974
- }}
975
- ```
976
-
977
- ### Animate On Initial Mount
978
-
979
- Animate the first screen in a navigator instead of snapping it directly to the settled state:
980
-
981
- ```tsx
982
- options={{
983
- experimental_animateOnInitialMount: true,
984
- }}
985
- ```
986
-
987
- ---
988
-
989
- ## Legacy Masked View Setup (Deprecated)
990
-
991
- `Transition.MaskedView` and `sharedBoundTag` are deprecated for new work.
992
-
993
- Prefer `Transition.Boundary.*` for explicit shared-element ownership, and prefer `bounds({ id }).navigation.zoom()` with `navigationMaskEnabled` when you want library-managed navigation-style masked transitions.
994
-
995
- If you used early 3.4 prerelease docs or examples, `maskEnabled` remains accepted as a compatibility alias, but new docs and examples should use `navigationMaskEnabled`.
996
-
997
- This section is kept for compatibility with legacy presets such as `SharedIGImage` and `SharedAppleMusic`.
998
-
999
- > **Note**: Requires native code. Will not work in Expo Go.
1000
-
1001
- ### Installation
1002
-
1003
- ```bash
1004
- # Expo
1005
- npx expo install @react-native-masked-view/masked-view
1006
-
1007
- # Bare React Native
1008
- npm install @react-native-masked-view/masked-view
1009
- cd ios && pod install
1010
- ```
1011
-
1012
- ### Full Example
1013
-
1014
- **1. Source Screen** – Tag pressable elements:
1015
-
1016
- ```tsx
1017
- // app/index.tsx
1018
- import { router } from "expo-router";
1019
- import { View } from "react-native";
1020
- import Transition from "react-native-screen-transitions";
1021
-
1022
- export default function HomeScreen() {
1023
- return (
1024
- <View style={{ flex: 1, alignItems: "center", justifyContent: "center" }}>
1025
- <Transition.Pressable
1026
- sharedBoundTag="album-art"
1027
- style={{
1028
- width: 200,
1029
- height: 200,
1030
- backgroundColor: "#1DB954",
1031
- borderRadius: 12,
1032
- }}
1033
- onPress={() => {
1034
- router.push({
1035
- pathname: "/details",
1036
- params: { sharedBoundTag: "album-art" },
1037
- });
1038
- }}
1039
- />
1040
- </View>
1041
- );
1042
- }
1043
- ```
1044
-
1045
- **2. Destination Screen** – Wrap with MaskedView and match the tag:
1046
-
1047
- ```tsx
1048
- // app/details.tsx
1049
- import { useLocalSearchParams } from "expo-router";
1050
- import Transition from "react-native-screen-transitions";
1051
-
1052
- export default function DetailsScreen() {
1053
- const { sharedBoundTag } = useLocalSearchParams<{ sharedBoundTag: string }>();
1054
-
1055
- return (
1056
- <Transition.MaskedView style={{ flex: 1, backgroundColor: "#121212" }}>
1057
- <Transition.View
1058
- sharedBoundTag={sharedBoundTag}
1059
- style={{
1060
- backgroundColor: "#1DB954",
1061
- width: 400,
1062
- height: 400,
1063
- alignSelf: "center",
1064
- borderRadius: 12,
1065
- }}
1066
- />
1067
- {/* Additional screen content */}
1068
- </Transition.MaskedView>
1069
- );
1070
- }
1071
- ```
1072
-
1073
- **3. Layout** – Apply the preset with dynamic tag:
1074
-
1075
- ```tsx
1076
- // app/_layout.tsx
1077
- import Transition from "react-native-screen-transitions";
1078
- import { Stack } from "./stack";
1079
-
1080
- export default function RootLayout() {
1081
- return (
1082
- <Stack>
1083
- <Stack.Screen name="index" />
1084
- <Stack.Screen
1085
- name="details"
1086
- options={({ route }) => ({
1087
- ...Transition.Presets.SharedAppleMusic({
1088
- sharedBoundTag: route.params?.sharedBoundTag ?? "",
1089
- }),
1090
- })}
1091
- />
1092
- </Stack>
1093
- );
1094
- }
1095
- ```
38
+ ## Support
1096
39
 
1097
- ### How It Works
40
+ v3 (current) supports Reanimated v3, Reanimated v4, and React Native Gesture Handler v2.
1098
41
 
1099
- 1. `Transition.Pressable` measures its bounds on press and stores them with the tag
1100
- 2. `Transition.View` on the destination registers as the target for that tag
1101
- 3. `Transition.MaskedView` clips content to the animating shared element bounds
1102
- 4. The preset interpolates position, size, and mask for a seamless expand/collapse effect
42
+ | Line | Reanimated | React Native Gesture Handler |
43
+ | ---- | ---------- | ---------------------------- |
44
+ | v3 (current) | v3, v4 | v2 |
1103
45
 
1104
- ---
46
+ ## Author
1105
47
 
1106
- ## Support
48
+ Ed
1107
49
 
1108
- This package is developed in my spare time.
50
+ ## Sponsor & Support
1109
51
 
1110
- If you'd like to fuel the next release, [buy me a coffee](https://buymeacoffee.com/trpfsu)
52
+ If you'd like to fuel the next release, [buy me a coffee](https://buymeacoffee.com/trpfsu).
1111
53
 
1112
54
  ## License
1113
55