react-native-screen-transitions 3.4.0-alpha.0 → 3.4.0-alpha.2

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 (535) hide show
  1. package/README.md +11 -1046
  2. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js +69 -2
  3. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  4. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +9 -0
  5. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -1
  6. package/lib/commonjs/shared/animation/snap-to.js +5 -1
  7. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  8. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +195 -0
  9. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +1 -0
  10. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js +7 -14
  11. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js.map +1 -1
  12. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js +19 -18
  13. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js.map +1 -1
  14. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.js +54 -0
  15. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.js.map +1 -0
  16. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-measurement.js +40 -8
  17. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-measurement.js.map +1 -1
  18. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.js +72 -0
  19. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.js.map +1 -0
  20. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js +16 -7
  21. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js.map +1 -1
  22. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js +7 -4
  23. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js.map +1 -1
  24. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js +14 -15
  25. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js.map +1 -1
  26. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js +27 -9
  27. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js.map +1 -1
  28. package/lib/commonjs/shared/components/create-boundary-component/index.js +22 -8
  29. package/lib/commonjs/shared/components/create-boundary-component/index.js.map +1 -1
  30. package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js +5 -10
  31. package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -1
  32. package/lib/commonjs/shared/components/create-transition-aware-component.js +3 -2
  33. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  34. package/lib/commonjs/shared/components/native-screen-container.js +12 -6
  35. package/lib/commonjs/shared/components/native-screen-container.js.map +1 -1
  36. package/lib/commonjs/shared/components/native-screen.js +35 -8
  37. package/lib/commonjs/shared/components/native-screen.js.map +1 -1
  38. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +2 -2
  39. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  40. package/lib/commonjs/shared/components/overlay/index.js +1 -3
  41. package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
  42. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +2 -16
  43. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  44. package/lib/commonjs/shared/components/scene-view.js +2 -4
  45. package/lib/commonjs/shared/components/scene-view.js.map +1 -1
  46. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +60 -0
  47. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -0
  48. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +9 -6
  49. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  50. package/lib/commonjs/shared/components/screen-container/layers/content.js +16 -56
  51. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  52. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +86 -0
  53. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -0
  54. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition/index.js.map +1 -1
  55. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition.js +17 -4
  56. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition.js.map +1 -1
  57. package/lib/commonjs/shared/constants.js +6 -2
  58. package/lib/commonjs/shared/constants.js.map +1 -1
  59. package/lib/commonjs/shared/hooks/gestures/resolve-screen-gesture-target.js +49 -0
  60. package/lib/commonjs/shared/hooks/gestures/resolve-screen-gesture-target.js.map +1 -0
  61. package/lib/commonjs/shared/hooks/gestures/types.js +2 -0
  62. package/lib/commonjs/shared/hooks/gestures/types.js.map +1 -0
  63. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js +7 -3
  64. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js.map +1 -1
  65. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  66. package/lib/commonjs/shared/index.js +15 -3
  67. package/lib/commonjs/shared/index.js.map +1 -1
  68. package/lib/commonjs/shared/providers/gestures/handlers/use-handlers.js +61 -25
  69. package/lib/commonjs/shared/providers/gestures/handlers/use-handlers.js.map +1 -1
  70. package/lib/commonjs/shared/providers/gestures/helpers/gesture-activation.js +11 -6
  71. package/lib/commonjs/shared/providers/gestures/helpers/gesture-activation.js.map +1 -1
  72. package/lib/commonjs/shared/providers/gestures/helpers/gesture-snap-points.js +44 -0
  73. package/lib/commonjs/shared/providers/gestures/helpers/gesture-snap-points.js.map +1 -0
  74. package/lib/commonjs/shared/providers/layout-anchor.provider.js +4 -6
  75. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +31 -17
  77. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -9
  79. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +25 -13
  81. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +33 -0
  83. package/lib/commonjs/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +1 -0
  84. package/lib/commonjs/shared/providers/screen/animation/types.js +2 -0
  85. package/lib/commonjs/shared/providers/screen/animation/types.js.map +1 -0
  86. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +9 -3
  87. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  88. package/lib/commonjs/shared/providers/stack/core.provider.js +14 -21
  89. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  90. package/lib/commonjs/shared/providers/stack/direct.provider.js +1 -1
  91. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  92. package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js +1 -1
  93. package/lib/commonjs/shared/providers/stack/helpers/use-processed-routes.js.map +1 -1
  94. package/lib/commonjs/shared/stores/animation.store.js +10 -2
  95. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  96. package/lib/commonjs/shared/stores/bounds/internals/presence.js.map +1 -1
  97. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +7 -0
  98. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  99. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +6 -0
  100. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  101. package/lib/commonjs/shared/utils/bounds/helpers/compute-bounds-styles.js +33 -9
  102. package/lib/commonjs/shared/utils/bounds/helpers/compute-bounds-styles.js.map +1 -1
  103. package/lib/commonjs/shared/utils/bounds/helpers/geometry.js +3 -2
  104. package/lib/commonjs/shared/utils/bounds/helpers/geometry.js.map +1 -1
  105. package/lib/commonjs/shared/utils/bounds/helpers/interpolators.js +3 -2
  106. package/lib/commonjs/shared/utils/bounds/helpers/interpolators.js.map +1 -1
  107. package/lib/commonjs/shared/utils/bounds/helpers/link-accessor.js +2 -2
  108. package/lib/commonjs/shared/utils/bounds/helpers/link-accessor.js.map +1 -1
  109. package/lib/commonjs/shared/utils/bounds/helpers/resolve-bound-tag.js +4 -8
  110. package/lib/commonjs/shared/utils/bounds/helpers/resolve-bound-tag.js.map +1 -1
  111. package/lib/commonjs/shared/utils/bounds/helpers/style-composers.js +4 -3
  112. package/lib/commonjs/shared/utils/bounds/helpers/style-composers.js.map +1 -1
  113. package/lib/commonjs/shared/utils/bounds/index.js +13 -3
  114. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  115. package/lib/commonjs/shared/utils/bounds/types/frame-props.js +6 -0
  116. package/lib/commonjs/shared/utils/bounds/types/frame-props.js.map +1 -0
  117. package/lib/commonjs/shared/utils/bounds/zoom/accessor.js +54 -0
  118. package/lib/commonjs/shared/utils/bounds/zoom/accessor.js.map +1 -0
  119. package/lib/commonjs/shared/utils/bounds/zoom/build.js +548 -0
  120. package/lib/commonjs/shared/utils/bounds/zoom/build.js.map +1 -0
  121. package/lib/commonjs/shared/utils/bounds/zoom/config.js +118 -0
  122. package/lib/commonjs/shared/utils/bounds/zoom/config.js.map +1 -0
  123. package/lib/commonjs/shared/utils/bounds/zoom/index.js +20 -0
  124. package/lib/commonjs/shared/utils/bounds/zoom/index.js.map +1 -0
  125. package/lib/commonjs/shared/utils/bounds/zoom/types.js.map +1 -0
  126. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -5
  127. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
  128. package/lib/commonjs/shared/utils/overlay/visibility.js +2 -9
  129. package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -1
  130. package/lib/commonjs/shared/utils/resolve-screen-transition-options.js +25 -0
  131. package/lib/commonjs/shared/utils/resolve-screen-transition-options.js.map +1 -0
  132. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +69 -3
  133. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  134. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +9 -0
  135. package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -1
  136. package/lib/module/shared/animation/snap-to.js +5 -1
  137. package/lib/module/shared/animation/snap-to.js.map +1 -1
  138. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +182 -0
  139. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +1 -0
  140. package/lib/module/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js +7 -14
  141. package/lib/module/shared/components/create-boundary-component/hooks/use-auto-source-measurement.js.map +1 -1
  142. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js +19 -18
  143. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.js.map +1 -1
  144. package/lib/module/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.js +49 -0
  145. package/lib/module/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.js.map +1 -0
  146. package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-measurement.js +41 -8
  147. package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-measurement.js.map +1 -1
  148. package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.js +67 -0
  149. package/lib/module/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.js.map +1 -0
  150. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js +16 -7
  151. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-layout-handler.js.map +1 -1
  152. package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js +7 -4
  153. package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.js.map +1 -1
  154. package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js +14 -15
  155. package/lib/module/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.js.map +1 -1
  156. package/lib/module/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js +27 -9
  157. package/lib/module/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.js.map +1 -1
  158. package/lib/module/shared/components/create-boundary-component/index.js +22 -8
  159. package/lib/module/shared/components/create-boundary-component/index.js.map +1 -1
  160. package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js +5 -10
  161. package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +1 -1
  162. package/lib/module/shared/components/create-transition-aware-component.js +3 -2
  163. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  164. package/lib/module/shared/components/native-screen-container.js +12 -6
  165. package/lib/module/shared/components/native-screen-container.js.map +1 -1
  166. package/lib/module/shared/components/native-screen.js +35 -8
  167. package/lib/module/shared/components/native-screen.js.map +1 -1
  168. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +3 -3
  169. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  170. package/lib/module/shared/components/overlay/index.js +1 -3
  171. package/lib/module/shared/components/overlay/index.js.map +1 -1
  172. package/lib/module/shared/components/overlay/variations/overlay-host.js +3 -17
  173. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  174. package/lib/module/shared/components/scene-view.js +3 -5
  175. package/lib/module/shared/components/scene-view.js.map +1 -1
  176. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +56 -0
  177. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -0
  178. package/lib/module/shared/components/screen-container/layers/backdrop.js +9 -6
  179. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  180. package/lib/module/shared/components/screen-container/layers/content.js +18 -58
  181. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  182. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +81 -0
  183. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -0
  184. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition/index.js.map +1 -1
  185. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition.js +17 -4
  186. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition.js.map +1 -1
  187. package/lib/module/shared/constants.js +6 -2
  188. package/lib/module/shared/constants.js.map +1 -1
  189. package/lib/module/shared/hooks/gestures/resolve-screen-gesture-target.js +45 -0
  190. package/lib/module/shared/hooks/gestures/resolve-screen-gesture-target.js.map +1 -0
  191. package/lib/module/shared/hooks/gestures/types.js +2 -0
  192. package/lib/module/shared/hooks/gestures/types.js.map +1 -0
  193. package/lib/module/shared/hooks/gestures/use-screen-gesture.js +7 -4
  194. package/lib/module/shared/hooks/gestures/use-screen-gesture.js.map +1 -1
  195. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  196. package/lib/module/shared/index.js +1 -2
  197. package/lib/module/shared/index.js.map +1 -1
  198. package/lib/module/shared/providers/gestures/handlers/use-handlers.js +61 -25
  199. package/lib/module/shared/providers/gestures/handlers/use-handlers.js.map +1 -1
  200. package/lib/module/shared/providers/gestures/helpers/gesture-activation.js +11 -6
  201. package/lib/module/shared/providers/gestures/helpers/gesture-activation.js.map +1 -1
  202. package/lib/module/shared/providers/gestures/helpers/gesture-snap-points.js +38 -0
  203. package/lib/module/shared/providers/gestures/helpers/gesture-snap-points.js.map +1 -0
  204. package/lib/module/shared/providers/layout-anchor.provider.js +4 -6
  205. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
  206. package/lib/module/shared/providers/screen/animation/animation.provider.js +30 -15
  207. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  208. package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -9
  209. package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  210. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +25 -13
  211. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  212. package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js +29 -0
  213. package/lib/module/shared/providers/screen/animation/helpers/resolve-screen-animation-target.js.map +1 -0
  214. package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
  215. package/lib/module/shared/providers/screen/animation/types.js +2 -0
  216. package/lib/module/shared/providers/screen/animation/types.js.map +1 -0
  217. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +9 -3
  218. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  219. package/lib/module/shared/providers/stack/core.provider.js +14 -21
  220. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  221. package/lib/module/shared/providers/stack/direct.provider.js +2 -2
  222. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  223. package/lib/module/shared/providers/stack/helpers/use-processed-routes.js +2 -2
  224. package/lib/module/shared/providers/stack/helpers/use-processed-routes.js.map +1 -1
  225. package/lib/module/shared/stores/animation.store.js +10 -2
  226. package/lib/module/shared/stores/animation.store.js.map +1 -1
  227. package/lib/module/shared/stores/bounds/internals/presence.js.map +1 -1
  228. package/lib/module/shared/stores/bounds/internals/resolver.js +7 -0
  229. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  230. package/lib/module/shared/utils/animation/animate-to-progress.js +6 -0
  231. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  232. package/lib/module/shared/utils/bounds/helpers/compute-bounds-styles.js +33 -9
  233. package/lib/module/shared/utils/bounds/helpers/compute-bounds-styles.js.map +1 -1
  234. package/lib/module/shared/utils/bounds/helpers/geometry.js +3 -2
  235. package/lib/module/shared/utils/bounds/helpers/geometry.js.map +1 -1
  236. package/lib/module/shared/utils/bounds/helpers/interpolators.js +3 -2
  237. package/lib/module/shared/utils/bounds/helpers/interpolators.js.map +1 -1
  238. package/lib/module/shared/utils/bounds/helpers/link-accessor.js +2 -2
  239. package/lib/module/shared/utils/bounds/helpers/link-accessor.js.map +1 -1
  240. package/lib/module/shared/utils/bounds/helpers/resolve-bound-tag.js +4 -8
  241. package/lib/module/shared/utils/bounds/helpers/resolve-bound-tag.js.map +1 -1
  242. package/lib/module/shared/utils/bounds/helpers/style-composers.js +4 -3
  243. package/lib/module/shared/utils/bounds/helpers/style-composers.js.map +1 -1
  244. package/lib/module/shared/utils/bounds/index.js +13 -3
  245. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  246. package/lib/module/shared/utils/bounds/types/frame-props.js +4 -0
  247. package/lib/module/shared/utils/bounds/types/frame-props.js.map +1 -0
  248. package/lib/module/shared/utils/bounds/zoom/accessor.js +49 -0
  249. package/lib/module/shared/utils/bounds/zoom/accessor.js.map +1 -0
  250. package/lib/module/shared/utils/bounds/zoom/build.js +543 -0
  251. package/lib/module/shared/utils/bounds/zoom/build.js.map +1 -0
  252. package/lib/module/shared/utils/bounds/zoom/config.js +112 -0
  253. package/lib/module/shared/utils/bounds/zoom/config.js.map +1 -0
  254. package/lib/module/shared/utils/bounds/zoom/index.js +5 -0
  255. package/lib/module/shared/utils/bounds/zoom/index.js.map +1 -0
  256. package/lib/module/shared/utils/bounds/zoom/types.js.map +1 -0
  257. package/lib/module/shared/utils/gesture/validate-snap-points.js +11 -5
  258. package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
  259. package/lib/module/shared/utils/overlay/visibility.js +1 -7
  260. package/lib/module/shared/utils/overlay/visibility.js.map +1 -1
  261. package/lib/module/shared/utils/resolve-screen-transition-options.js +19 -0
  262. package/lib/module/shared/utils/resolve-screen-transition-options.js.map +1 -0
  263. package/lib/typescript/blank-stack/index.d.ts +1 -1
  264. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  265. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +29 -4
  266. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  267. package/lib/typescript/blank-stack/types.d.ts +33 -4
  268. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  269. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +8 -0
  270. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
  271. package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
  272. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts +81 -0
  273. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts.map +1 -0
  274. package/lib/typescript/shared/components/create-boundary-component/hooks/use-auto-source-measurement.d.ts.map +1 -1
  275. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.d.ts +2 -3
  276. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.d.ts.map +1 -1
  277. package/lib/typescript/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.d.ts +11 -0
  278. package/lib/typescript/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.d.ts.map +1 -0
  279. package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-measurement.d.ts +2 -2
  280. package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-measurement.d.ts.map +1 -1
  281. package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.d.ts +11 -0
  282. package/lib/typescript/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.d.ts.map +1 -0
  283. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-layout-handler.d.ts.map +1 -1
  284. package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.d.ts.map +1 -1
  285. package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.d.ts +3 -3
  286. package/lib/typescript/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.d.ts.map +1 -1
  287. package/lib/typescript/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.d.ts +2 -2
  288. package/lib/typescript/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.d.ts.map +1 -1
  289. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +5 -3
  290. package/lib/typescript/shared/components/create-boundary-component/index.d.ts.map +1 -1
  291. package/lib/typescript/shared/components/create-boundary-component/types.d.ts +2 -4
  292. package/lib/typescript/shared/components/create-boundary-component/types.d.ts.map +1 -1
  293. package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts +0 -1
  294. package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts.map +1 -1
  295. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +1 -0
  296. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  297. package/lib/typescript/shared/components/native-screen-container.d.ts.map +1 -1
  298. package/lib/typescript/shared/components/native-screen.d.ts.map +1 -1
  299. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +1 -1
  300. package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
  301. package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
  302. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  303. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  304. package/lib/typescript/shared/components/screen-container/hooks/use-content-layout.d.ts +3 -0
  305. package/lib/typescript/shared/components/screen-container/hooks/use-content-layout.d.ts.map +1 -0
  306. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  307. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  308. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +9 -0
  309. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -0
  310. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition/index.d.ts.map +1 -1
  311. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-open-transition.d.ts.map +1 -1
  312. package/lib/typescript/shared/constants.d.ts +3 -0
  313. package/lib/typescript/shared/constants.d.ts.map +1 -1
  314. package/lib/typescript/shared/hooks/gestures/resolve-screen-gesture-target.d.ts +10 -0
  315. package/lib/typescript/shared/hooks/gestures/resolve-screen-gesture-target.d.ts.map +1 -0
  316. package/lib/typescript/shared/hooks/gestures/types.d.ts +4 -0
  317. package/lib/typescript/shared/hooks/gestures/types.d.ts.map +1 -0
  318. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts +4 -2
  319. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts.map +1 -1
  320. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -2
  321. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  322. package/lib/typescript/shared/index.d.ts +16 -18
  323. package/lib/typescript/shared/index.d.ts.map +1 -1
  324. package/lib/typescript/shared/providers/gestures/handlers/use-handlers.d.ts +1 -1
  325. package/lib/typescript/shared/providers/gestures/handlers/use-handlers.d.ts.map +1 -1
  326. package/lib/typescript/shared/providers/gestures/helpers/gesture-activation.d.ts.map +1 -1
  327. package/lib/typescript/shared/providers/gestures/helpers/gesture-snap-points.d.ts +18 -0
  328. package/lib/typescript/shared/providers/gestures/helpers/gesture-snap-points.d.ts.map +1 -0
  329. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +1 -1
  330. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
  331. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +6 -3
  332. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  333. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +0 -2
  334. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
  335. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  336. package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts +11 -0
  337. package/lib/typescript/shared/providers/screen/animation/helpers/resolve-screen-animation-target.d.ts.map +1 -0
  338. package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
  339. package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
  340. package/lib/typescript/shared/providers/screen/animation/types.d.ts +4 -0
  341. package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -0
  342. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts +5 -1
  343. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  344. package/lib/typescript/shared/providers/stack/core.provider.d.ts +2 -0
  345. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  346. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  347. package/lib/typescript/shared/stores/animation.store.d.ts +8 -2
  348. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  349. package/lib/typescript/shared/stores/bounds/internals/presence.d.ts.map +1 -1
  350. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  351. package/lib/typescript/shared/stores/bounds/types.d.ts +2 -0
  352. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  353. package/lib/typescript/shared/types/animation.types.d.ts +33 -51
  354. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  355. package/lib/typescript/shared/types/bounds.types.d.ts +46 -9
  356. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  357. package/lib/typescript/shared/types/index.d.ts +3 -3
  358. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  359. package/lib/typescript/shared/types/overlay.types.d.ts +1 -22
  360. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  361. package/lib/typescript/shared/types/screen.types.d.ts +62 -37
  362. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  363. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  364. package/lib/typescript/shared/utils/bounds/helpers/build-bounds-options.d.ts +2 -2
  365. package/lib/typescript/shared/utils/bounds/helpers/build-bounds-options.d.ts.map +1 -1
  366. package/lib/typescript/shared/utils/bounds/helpers/compute-bounds-styles.d.ts.map +1 -1
  367. package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts +3 -2
  368. package/lib/typescript/shared/utils/bounds/helpers/geometry.d.ts.map +1 -1
  369. package/lib/typescript/shared/utils/bounds/helpers/interpolators.d.ts +3 -2
  370. package/lib/typescript/shared/utils/bounds/helpers/interpolators.d.ts.map +1 -1
  371. package/lib/typescript/shared/utils/bounds/helpers/link-accessor.d.ts +3 -2
  372. package/lib/typescript/shared/utils/bounds/helpers/link-accessor.d.ts.map +1 -1
  373. package/lib/typescript/shared/utils/bounds/helpers/resolve-bound-tag.d.ts +2 -1
  374. package/lib/typescript/shared/utils/bounds/helpers/resolve-bound-tag.d.ts.map +1 -1
  375. package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts +4 -3
  376. package/lib/typescript/shared/utils/bounds/helpers/style-composers.d.ts.map +1 -1
  377. package/lib/typescript/shared/utils/bounds/index.d.ts +2 -2
  378. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  379. package/lib/typescript/shared/utils/bounds/types/frame-props.d.ts +5 -0
  380. package/lib/typescript/shared/utils/bounds/types/frame-props.d.ts.map +1 -0
  381. package/lib/typescript/shared/utils/bounds/types/options.d.ts +5 -4
  382. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  383. package/lib/typescript/shared/utils/bounds/zoom/accessor.d.ts +17 -0
  384. package/lib/typescript/shared/utils/bounds/zoom/accessor.d.ts.map +1 -0
  385. package/lib/typescript/shared/utils/bounds/zoom/build.d.ts +4 -0
  386. package/lib/typescript/shared/utils/bounds/zoom/build.d.ts.map +1 -0
  387. package/lib/typescript/shared/utils/bounds/zoom/config.d.ts +43 -0
  388. package/lib/typescript/shared/utils/bounds/zoom/config.d.ts.map +1 -0
  389. package/lib/typescript/shared/utils/bounds/zoom/index.d.ts +3 -0
  390. package/lib/typescript/shared/utils/bounds/zoom/index.d.ts.map +1 -0
  391. package/lib/typescript/shared/utils/bounds/zoom/types.d.ts +17 -0
  392. package/lib/typescript/shared/utils/bounds/zoom/types.d.ts.map +1 -0
  393. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts +5 -3
  394. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
  395. package/lib/typescript/shared/utils/overlay/visibility.d.ts +1 -4
  396. package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -1
  397. package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts +5 -0
  398. package/lib/typescript/shared/utils/resolve-screen-transition-options.d.ts.map +1 -0
  399. package/package.json +3 -2
  400. package/src/blank-stack/index.ts +1 -0
  401. package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +138 -19
  402. package/src/blank-stack/types.ts +33 -5
  403. package/src/component-stack/navigators/create-component-stack-navigator.tsx +8 -0
  404. package/src/shared/animation/snap-to.ts +12 -1
  405. package/src/shared/components/create-boundary-component/hooks/helpers/measurement-rules.ts +258 -0
  406. package/src/shared/components/create-boundary-component/hooks/use-auto-source-measurement.ts +7 -17
  407. package/src/shared/components/create-boundary-component/hooks/use-boundary-measure-and-store.ts +38 -28
  408. package/src/shared/components/create-boundary-component/hooks/use-deferred-measurement-trigger.ts +58 -0
  409. package/src/shared/components/create-boundary-component/hooks/use-group-active-measurement.ts +41 -10
  410. package/src/shared/components/create-boundary-component/hooks/use-group-active-source-measurement.ts +82 -0
  411. package/src/shared/components/create-boundary-component/hooks/use-initial-layout-handler.ts +24 -12
  412. package/src/shared/components/create-boundary-component/hooks/use-pending-destination-measurement.ts +11 -9
  413. package/src/shared/components/create-boundary-component/hooks/use-pending-destination-retry-measurement.ts +29 -26
  414. package/src/shared/components/create-boundary-component/hooks/use-scroll-settled-measurement.ts +26 -17
  415. package/src/shared/components/create-boundary-component/index.tsx +25 -6
  416. package/src/shared/components/create-boundary-component/types.ts +8 -4
  417. package/src/shared/components/create-boundary-component/utils/build-boundary-match-key.ts +2 -14
  418. package/src/shared/components/create-transition-aware-component.tsx +5 -2
  419. package/src/shared/components/native-screen-container.tsx +11 -3
  420. package/src/shared/components/native-screen.tsx +65 -20
  421. package/src/shared/components/overlay/helpers/get-active-overlay.ts +3 -3
  422. package/src/shared/components/overlay/index.ts +0 -2
  423. package/src/shared/components/overlay/variations/overlay-host.tsx +2 -16
  424. package/src/shared/components/scene-view.tsx +0 -3
  425. package/src/shared/components/screen-container/hooks/use-content-layout.ts +82 -0
  426. package/src/shared/components/screen-container/layers/backdrop.tsx +25 -6
  427. package/src/shared/components/screen-container/layers/content.tsx +23 -82
  428. package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +101 -0
  429. package/src/shared/components/screen-lifecycle/hooks/use-close-transition/index.ts +1 -2
  430. package/src/shared/components/screen-lifecycle/hooks/use-open-transition.ts +20 -6
  431. package/src/shared/constants.ts +6 -2
  432. package/src/shared/hooks/gestures/resolve-screen-gesture-target.ts +66 -0
  433. package/src/shared/hooks/gestures/types.ts +5 -0
  434. package/src/shared/hooks/gestures/use-screen-gesture.ts +10 -3
  435. package/src/shared/hooks/navigation/use-stack.tsx +1 -2
  436. package/src/shared/index.ts +14 -16
  437. package/src/shared/providers/gestures/handlers/use-handlers.ts +75 -29
  438. package/src/shared/providers/gestures/helpers/gesture-activation.ts +11 -6
  439. package/src/shared/providers/gestures/helpers/gesture-snap-points.ts +72 -0
  440. package/src/shared/providers/layout-anchor.provider.tsx +2 -5
  441. package/src/shared/providers/register-bounds.provider.tsx +1 -1
  442. package/src/shared/providers/screen/animation/animation.provider.tsx +46 -10
  443. package/src/shared/providers/screen/animation/helpers/derivations.ts +0 -8
  444. package/src/shared/providers/screen/animation/helpers/pipeline.ts +51 -14
  445. package/src/shared/providers/screen/animation/helpers/resolve-screen-animation-target.ts +44 -0
  446. package/src/shared/providers/screen/animation/index.tsx +4 -1
  447. package/src/shared/providers/screen/animation/types.ts +5 -0
  448. package/src/shared/providers/screen/animation/use-screen-animation.tsx +16 -3
  449. package/src/shared/providers/stack/core.provider.tsx +27 -14
  450. package/src/shared/providers/stack/direct.provider.tsx +2 -5
  451. package/src/shared/providers/stack/helpers/use-processed-routes.ts +2 -2
  452. package/src/shared/stores/animation.store.ts +21 -5
  453. package/src/shared/stores/bounds/internals/presence.ts +3 -1
  454. package/src/shared/stores/bounds/internals/resolver.ts +13 -1
  455. package/src/shared/stores/bounds/types.ts +2 -0
  456. package/src/shared/types/animation.types.ts +32 -58
  457. package/src/shared/types/bounds.types.ts +30 -10
  458. package/src/shared/types/index.ts +2 -15
  459. package/src/shared/types/overlay.types.ts +1 -28
  460. package/src/shared/types/screen.types.ts +67 -38
  461. package/src/shared/utils/animation/animate-to-progress.ts +7 -0
  462. package/src/shared/utils/bounds/helpers/build-bounds-options.ts +2 -2
  463. package/src/shared/utils/bounds/helpers/compute-bounds-styles.ts +47 -8
  464. package/src/shared/utils/bounds/helpers/geometry.ts +3 -2
  465. package/src/shared/utils/bounds/helpers/interpolators.ts +8 -6
  466. package/src/shared/utils/bounds/helpers/link-accessor.ts +10 -6
  467. package/src/shared/utils/bounds/helpers/resolve-bound-tag.ts +7 -10
  468. package/src/shared/utils/bounds/helpers/style-composers.ts +4 -3
  469. package/src/shared/utils/bounds/index.ts +22 -13
  470. package/src/shared/utils/bounds/types/frame-props.ts +5 -0
  471. package/src/shared/utils/bounds/types/options.ts +6 -4
  472. package/src/shared/utils/bounds/zoom/accessor.ts +69 -0
  473. package/src/shared/utils/bounds/zoom/build.ts +715 -0
  474. package/src/shared/utils/bounds/zoom/config.ts +179 -0
  475. package/src/shared/utils/bounds/zoom/index.ts +2 -0
  476. package/src/shared/utils/bounds/zoom/types.ts +22 -0
  477. package/src/shared/utils/gesture/validate-snap-points.ts +20 -8
  478. package/src/shared/utils/overlay/visibility.ts +1 -16
  479. package/src/shared/utils/resolve-screen-transition-options.ts +37 -0
  480. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +0 -64
  481. package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +0 -1
  482. package/lib/commonjs/shared/providers/viewport.provider.js +0 -33
  483. package/lib/commonjs/shared/providers/viewport.provider.js.map +0 -1
  484. package/lib/commonjs/shared/utils/bounds/helpers/math.js +0 -132
  485. package/lib/commonjs/shared/utils/bounds/helpers/math.js.map +0 -1
  486. package/lib/commonjs/shared/utils/bounds/helpers/navigation-accessor.js +0 -45
  487. package/lib/commonjs/shared/utils/bounds/helpers/navigation-accessor.js.map +0 -1
  488. package/lib/commonjs/shared/utils/bounds/sugar/navigation/helpers.js +0 -60
  489. package/lib/commonjs/shared/utils/bounds/sugar/navigation/helpers.js.map +0 -1
  490. package/lib/commonjs/shared/utils/bounds/sugar/navigation/index.js +0 -20
  491. package/lib/commonjs/shared/utils/bounds/sugar/navigation/index.js.map +0 -1
  492. package/lib/commonjs/shared/utils/bounds/sugar/navigation/types.js.map +0 -1
  493. package/lib/commonjs/shared/utils/bounds/sugar/navigation/zoom.js +0 -295
  494. package/lib/commonjs/shared/utils/bounds/sugar/navigation/zoom.js.map +0 -1
  495. package/lib/module/shared/components/overlay/variations/screen-overlay.js +0 -61
  496. package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +0 -1
  497. package/lib/module/shared/providers/viewport.provider.js +0 -27
  498. package/lib/module/shared/providers/viewport.provider.js.map +0 -1
  499. package/lib/module/shared/utils/bounds/helpers/math.js +0 -115
  500. package/lib/module/shared/utils/bounds/helpers/math.js.map +0 -1
  501. package/lib/module/shared/utils/bounds/helpers/navigation-accessor.js +0 -40
  502. package/lib/module/shared/utils/bounds/helpers/navigation-accessor.js.map +0 -1
  503. package/lib/module/shared/utils/bounds/sugar/navigation/helpers.js +0 -54
  504. package/lib/module/shared/utils/bounds/sugar/navigation/helpers.js.map +0 -1
  505. package/lib/module/shared/utils/bounds/sugar/navigation/index.js +0 -15
  506. package/lib/module/shared/utils/bounds/sugar/navigation/index.js.map +0 -1
  507. package/lib/module/shared/utils/bounds/sugar/navigation/types.js.map +0 -1
  508. package/lib/module/shared/utils/bounds/sugar/navigation/zoom.js +0 -290
  509. package/lib/module/shared/utils/bounds/sugar/navigation/zoom.js.map +0 -1
  510. package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts +0 -10
  511. package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +0 -1
  512. package/lib/typescript/shared/providers/viewport.provider.d.ts +0 -13
  513. package/lib/typescript/shared/providers/viewport.provider.d.ts.map +0 -1
  514. package/lib/typescript/shared/utils/bounds/helpers/math.d.ts +0 -38
  515. package/lib/typescript/shared/utils/bounds/helpers/math.d.ts.map +0 -1
  516. package/lib/typescript/shared/utils/bounds/helpers/navigation-accessor.d.ts +0 -16
  517. package/lib/typescript/shared/utils/bounds/helpers/navigation-accessor.d.ts.map +0 -1
  518. package/lib/typescript/shared/utils/bounds/sugar/navigation/helpers.d.ts +0 -17
  519. package/lib/typescript/shared/utils/bounds/sugar/navigation/helpers.d.ts.map +0 -1
  520. package/lib/typescript/shared/utils/bounds/sugar/navigation/index.d.ts +0 -3
  521. package/lib/typescript/shared/utils/bounds/sugar/navigation/index.d.ts.map +0 -1
  522. package/lib/typescript/shared/utils/bounds/sugar/navigation/types.d.ts +0 -18
  523. package/lib/typescript/shared/utils/bounds/sugar/navigation/types.d.ts.map +0 -1
  524. package/lib/typescript/shared/utils/bounds/sugar/navigation/zoom.d.ts +0 -4
  525. package/lib/typescript/shared/utils/bounds/sugar/navigation/zoom.d.ts.map +0 -1
  526. package/src/shared/components/overlay/variations/screen-overlay.tsx +0 -68
  527. package/src/shared/providers/viewport.provider.tsx +0 -39
  528. package/src/shared/utils/bounds/helpers/math.ts +0 -161
  529. package/src/shared/utils/bounds/helpers/navigation-accessor.ts +0 -61
  530. package/src/shared/utils/bounds/sugar/navigation/helpers.ts +0 -74
  531. package/src/shared/utils/bounds/sugar/navigation/index.ts +0 -14
  532. package/src/shared/utils/bounds/sugar/navigation/types.ts +0 -26
  533. package/src/shared/utils/bounds/sugar/navigation/zoom.ts +0 -348
  534. /package/lib/commonjs/shared/utils/bounds/{sugar/navigation → zoom}/types.js +0 -0
  535. /package/lib/module/shared/utils/bounds/{sugar/navigation → zoom}/types.js +0 -0
@@ -0,0 +1,543 @@
1
+ "use strict";
2
+
3
+ import { interpolate } from "react-native-reanimated";
4
+ import { EPSILON, NAVIGATION_CONTAINER_STYLE_ID, NAVIGATION_MASK_STYLE_ID, NO_STYLES } from "../../../constants";
5
+ import { BoundStore } from "../../../stores/bounds";
6
+ import { resolveZoomConfig, toNumber } from "./config";
7
+ const IDENTITY_DRAG_SCALE_OUTPUT = [1, 1];
8
+ const clamp = (value, min, max) => {
9
+ "worklet";
10
+
11
+ const lower = min < max ? min : max;
12
+ const upper = max > min ? max : min;
13
+ if (value < lower) return lower;
14
+ if (value > upper) return upper;
15
+ return value;
16
+ };
17
+ const clamp01 = value => {
18
+ "worklet";
19
+
20
+ return clamp(value, 0, 1);
21
+ };
22
+ const lerp = (from, to, t) => {
23
+ "worklet";
24
+
25
+ return from + (to - from) * t;
26
+ };
27
+ const safeDivide = (numerator, denominator, fallback = 0) => {
28
+ "worklet";
29
+
30
+ if (denominator === 0) return fallback;
31
+ return numerator / denominator;
32
+ };
33
+ const inverseLerp = (value, inMin, inMax) => {
34
+ "worklet";
35
+
36
+ return safeDivide(value - inMin, inMax - inMin, 0);
37
+ };
38
+ const mapRangeClamped = (value, inMin, inMax, outMin, outMax) => {
39
+ "worklet";
40
+
41
+ const t = clamp01(inverseLerp(value, inMin, inMax));
42
+ return lerp(outMin, outMax, t);
43
+ };
44
+ const applyPowerCurve = (value, exponent) => {
45
+ "worklet";
46
+
47
+ const safeExponent = exponent > 0 ? exponent : 1;
48
+ const magnitude = Math.abs(value) ** safeExponent;
49
+ return value < 0 ? -magnitude : magnitude;
50
+ };
51
+ const normalizedToTranslation = ({
52
+ normalized,
53
+ dimension,
54
+ resistance
55
+ }) => {
56
+ "worklet";
57
+
58
+ const distance = Math.max(0, dimension) * resistance;
59
+ return mapRangeClamped(normalized, -1, 1, -distance, distance);
60
+ };
61
+ const normalizedToScale = ({
62
+ normalized,
63
+ outputRange,
64
+ exponent = 1,
65
+ positiveOnly = true
66
+ }) => {
67
+ "worklet";
68
+
69
+ const [outputStart, outputEnd] = outputRange;
70
+ const raw = positiveOnly ? mapRangeClamped(normalized, 0, 1, outputStart, outputEnd) : mapRangeClamped(normalized, -1, 1, outputStart, outputEnd);
71
+ return applyPowerCurve(raw, exponent);
72
+ };
73
+ const combineScales = (scaleX, scaleY, mode = "multiply") => {
74
+ "worklet";
75
+
76
+ switch (mode) {
77
+ case "average":
78
+ return (scaleX + scaleY) / 2;
79
+ case "max":
80
+ return Math.max(scaleX, scaleY);
81
+ case "min":
82
+ return Math.min(scaleX, scaleY);
83
+ default:
84
+ return scaleX * scaleY;
85
+ }
86
+ };
87
+ const computeCenterScaleShift = ({
88
+ center,
89
+ containerCenter,
90
+ scale
91
+ }) => {
92
+ "worklet";
93
+
94
+ return (center - containerCenter) * (scale - 1);
95
+ };
96
+ const compensateTranslationForParentScale = ({
97
+ translation,
98
+ parentScale,
99
+ epsilon
100
+ }) => {
101
+ "worklet";
102
+
103
+ const safeParentScale = Math.max(parentScale, epsilon);
104
+ return safeDivide(translation, safeParentScale, translation);
105
+ };
106
+ const composeCompensatedTranslation = ({
107
+ gesture,
108
+ parentScale,
109
+ centerShift = 0,
110
+ epsilon
111
+ }) => {
112
+ "worklet";
113
+
114
+ return compensateTranslationForParentScale({
115
+ translation: gesture,
116
+ parentScale,
117
+ epsilon
118
+ }) + centerShift;
119
+ };
120
+ const resolveDirectionalDragScale = ({
121
+ normalized,
122
+ dismissDirection,
123
+ shrinkMin,
124
+ growMax,
125
+ exponent
126
+ }) => {
127
+ "worklet";
128
+
129
+ const dismissalRelative = dismissDirection === "negative" ? -normalized : normalized;
130
+ if (dismissalRelative >= 0) {
131
+ return normalizedToScale({
132
+ normalized: dismissalRelative,
133
+ outputRange: [1, shrinkMin],
134
+ exponent
135
+ });
136
+ }
137
+ const oppositeDrag = Math.min(1, Math.abs(dismissalRelative));
138
+ return interpolate(oppositeDrag, [0, 1], [1, growMax], "clamp");
139
+ };
140
+ const getZoomContentTarget = ({
141
+ explicitTarget,
142
+ resolvedTag,
143
+ currentRouteKey,
144
+ previousRouteKey,
145
+ nextRouteKey,
146
+ entering,
147
+ screenLayout,
148
+ anchor,
149
+ resolvedPair
150
+ }) => {
151
+ "worklet";
152
+
153
+ if (explicitTarget !== undefined) return explicitTarget;
154
+ const pair = resolvedPair ?? BoundStore.resolveTransitionPair(resolvedTag, {
155
+ currentScreenKey: currentRouteKey,
156
+ previousScreenKey: previousRouteKey,
157
+ nextScreenKey: nextRouteKey,
158
+ entering
159
+ });
160
+ const sourceBounds = pair.sourceBounds;
161
+ const screenWidth = screenLayout.width;
162
+ if (!sourceBounds || sourceBounds.width <= 0 || screenWidth <= 0) {
163
+ return "fullscreen";
164
+ }
165
+ const height = sourceBounds.height / sourceBounds.width * screenWidth;
166
+ let horizontalAnchor;
167
+ switch (anchor) {
168
+ case "topLeading":
169
+ case "leading":
170
+ case "bottomLeading":
171
+ horizontalAnchor = "leading";
172
+ break;
173
+ case "topTrailing":
174
+ case "trailing":
175
+ case "bottomTrailing":
176
+ horizontalAnchor = "trailing";
177
+ break;
178
+ default:
179
+ horizontalAnchor = "center";
180
+ break;
181
+ }
182
+ let verticalAnchor;
183
+ switch (anchor) {
184
+ case "topLeading":
185
+ case "top":
186
+ case "topTrailing":
187
+ verticalAnchor = "top";
188
+ break;
189
+ case "bottomLeading":
190
+ case "bottom":
191
+ case "bottomTrailing":
192
+ verticalAnchor = "bottom";
193
+ break;
194
+ default:
195
+ verticalAnchor = "center";
196
+ break;
197
+ }
198
+ const x = horizontalAnchor === "leading" ? 0 : horizontalAnchor === "trailing" ? screenLayout.width - screenWidth : (screenLayout.width - screenWidth) / 2;
199
+ const y = verticalAnchor === "top" ? 0 : verticalAnchor === "bottom" ? screenLayout.height - height : (screenLayout.height - height) / 2;
200
+ return {
201
+ x,
202
+ y,
203
+ pageX: x,
204
+ pageY: y,
205
+ width: screenWidth,
206
+ height
207
+ };
208
+ };
209
+ const getStyleRadius = (styles, property) => {
210
+ "worklet";
211
+
212
+ if (!styles || typeof styles !== "object") return undefined;
213
+ const styleRecord = styles;
214
+ const direct = styleRecord[property];
215
+ if (typeof direct === "number") return direct;
216
+ if (property !== "borderRadius") {
217
+ const fallback = styleRecord.borderRadius;
218
+ if (typeof fallback === "number") return fallback;
219
+ }
220
+ return undefined;
221
+ };
222
+ const resolveRadiusRange = ({
223
+ value,
224
+ progress,
225
+ sourceRadius,
226
+ destinationRadius,
227
+ fallback
228
+ }) => {
229
+ "worklet";
230
+
231
+ if (typeof value === "number") return value;
232
+ if (value === "auto") {
233
+ const from = sourceRadius ?? fallback;
234
+ const to = destinationRadius ?? fallback;
235
+ return interpolate(progress, [0, 1], [from, to], "clamp");
236
+ }
237
+ if (value && typeof value === "object") {
238
+ const from = typeof value.from === "number" ? value.from : fallback;
239
+ const to = typeof value.to === "number" ? value.to : fallback;
240
+ return interpolate(progress, [0, 1], [from, to], "clamp");
241
+ }
242
+ const from = sourceRadius ?? fallback;
243
+ const to = destinationRadius ?? fallback;
244
+ return interpolate(progress, [0, 1], [from, to], "clamp");
245
+ };
246
+ const resolveMaskRadii = ({
247
+ progress,
248
+ zoomOptions,
249
+ resolvedPair
250
+ }) => {
251
+ "worklet";
252
+
253
+ const sourceStyles = resolvedPair.sourceStyles;
254
+ const destinationStyles = resolvedPair.destinationStyles;
255
+ const defaultRadius = resolveRadiusRange({
256
+ value: zoomOptions.mask.borderRadius,
257
+ progress,
258
+ sourceRadius: getStyleRadius(sourceStyles, "borderRadius"),
259
+ destinationRadius: getStyleRadius(destinationStyles, "borderRadius"),
260
+ fallback: 12
261
+ });
262
+ const topLeftValue = zoomOptions.mask.borderTopLeftRadius ?? zoomOptions.mask.borderRadius;
263
+ const topRightValue = zoomOptions.mask.borderTopRightRadius ?? zoomOptions.mask.borderRadius;
264
+ const bottomLeftValue = zoomOptions.mask.borderBottomLeftRadius ?? zoomOptions.mask.borderRadius;
265
+ const bottomRightValue = zoomOptions.mask.borderBottomRightRadius ?? zoomOptions.mask.borderRadius;
266
+ return {
267
+ borderRadius: defaultRadius,
268
+ borderTopLeftRadius: resolveRadiusRange({
269
+ value: topLeftValue,
270
+ progress,
271
+ sourceRadius: getStyleRadius(sourceStyles, "borderTopLeftRadius"),
272
+ destinationRadius: getStyleRadius(destinationStyles, "borderTopLeftRadius"),
273
+ fallback: defaultRadius
274
+ }),
275
+ borderTopRightRadius: resolveRadiusRange({
276
+ value: topRightValue,
277
+ progress,
278
+ sourceRadius: getStyleRadius(sourceStyles, "borderTopRightRadius"),
279
+ destinationRadius: getStyleRadius(destinationStyles, "borderTopRightRadius"),
280
+ fallback: defaultRadius
281
+ }),
282
+ borderBottomLeftRadius: resolveRadiusRange({
283
+ value: bottomLeftValue,
284
+ progress,
285
+ sourceRadius: getStyleRadius(sourceStyles, "borderBottomLeftRadius"),
286
+ destinationRadius: getStyleRadius(destinationStyles, "borderBottomLeftRadius"),
287
+ fallback: defaultRadius
288
+ }),
289
+ borderBottomRightRadius: resolveRadiusRange({
290
+ value: bottomRightValue,
291
+ progress,
292
+ sourceRadius: getStyleRadius(sourceStyles, "borderBottomRightRadius"),
293
+ destinationRadius: getStyleRadius(destinationStyles, "borderBottomRightRadius"),
294
+ fallback: defaultRadius
295
+ })
296
+ };
297
+ };
298
+ export const buildZoomStyles = ({
299
+ id,
300
+ group,
301
+ zoomOptions,
302
+ props,
303
+ resolveTag,
304
+ computeRaw
305
+ }) => {
306
+ "worklet";
307
+
308
+ const focused = props.focused;
309
+ const progress = props.progress;
310
+ const currentRouteKey = props.current?.route.key;
311
+ const previousRouteKey = props.previous?.route.key;
312
+ const nextRouteKey = props.next?.route.key;
313
+ const entering = !props.next;
314
+ const screenLayout = props.layouts.screen;
315
+ const transitionContext = {
316
+ currentScreenKey: currentRouteKey,
317
+ previousScreenKey: previousRouteKey,
318
+ nextScreenKey: nextRouteKey,
319
+ entering
320
+ };
321
+ const resolvedConfig = resolveZoomConfig({
322
+ id,
323
+ group,
324
+ zoomOptions,
325
+ currentRouteKey,
326
+ resolveTag,
327
+ defaultAnchor: "top"
328
+ });
329
+ if (!resolvedConfig) return NO_STYLES;
330
+ const {
331
+ resolvedTag,
332
+ sharedOptions,
333
+ explicitTarget,
334
+ zoomOptions: resolvedZoomOptions
335
+ } = resolvedConfig;
336
+ const resolvedPair = BoundStore.resolveTransitionPair(resolvedTag, transitionContext);
337
+ const focusedVisibilityStyles = {
338
+ [resolvedTag]: {
339
+ style: {
340
+ opacity: 1
341
+ }
342
+ }
343
+ };
344
+ if (!resolvedPair.sourceBounds) {
345
+ return focused ? focusedVisibilityStyles : NO_STYLES;
346
+ }
347
+ const normX = props.active.gesture.normX;
348
+ const normY = props.active.gesture.normY;
349
+ const initialDirection = props.active.gesture.direction;
350
+ const dragX = normalizedToTranslation({
351
+ normalized: normX,
352
+ dimension: screenLayout.width,
353
+ resistance: resolvedZoomOptions.motion.dragResistance
354
+ });
355
+ const dragY = normalizedToTranslation({
356
+ normalized: normY,
357
+ dimension: screenLayout.height,
358
+ resistance: resolvedZoomOptions.motion.dragResistance
359
+ });
360
+ const dragXScale = initialDirection === "horizontal" || initialDirection === "horizontal-inverted" ? resolveDirectionalDragScale({
361
+ normalized: normX,
362
+ dismissDirection: initialDirection === "horizontal-inverted" ? "negative" : "positive",
363
+ shrinkMin: resolvedZoomOptions.motion.dragDirectionalScaleMin,
364
+ growMax: resolvedZoomOptions.motion.dragDirectionalScaleMax,
365
+ exponent: 2
366
+ }) : IDENTITY_DRAG_SCALE_OUTPUT[0];
367
+ const dragYScale = initialDirection === "vertical" || initialDirection === "vertical-inverted" ? resolveDirectionalDragScale({
368
+ normalized: normY,
369
+ dismissDirection: initialDirection === "vertical-inverted" ? "negative" : "positive",
370
+ shrinkMin: resolvedZoomOptions.motion.dragDirectionalScaleMin,
371
+ growMax: resolvedZoomOptions.motion.dragDirectionalScaleMax,
372
+ exponent: 2
373
+ }) : IDENTITY_DRAG_SCALE_OUTPUT[1];
374
+ const dragScale = combineScales(dragXScale, dragYScale);
375
+ if (focused) {
376
+ const contentTarget = getZoomContentTarget({
377
+ explicitTarget,
378
+ resolvedTag,
379
+ currentRouteKey,
380
+ previousRouteKey,
381
+ nextRouteKey,
382
+ entering,
383
+ screenLayout,
384
+ anchor: sharedOptions.anchor,
385
+ resolvedPair
386
+ });
387
+ const contentRaw = computeRaw({
388
+ ...sharedOptions,
389
+ method: "content",
390
+ target: contentTarget
391
+ });
392
+ const maskRaw = computeRaw({
393
+ ...sharedOptions,
394
+ method: "size",
395
+ space: "absolute",
396
+ target: "fullscreen"
397
+ });
398
+ const focusedFade = props.active?.closing ? interpolate(progress, [0.6, 1], [0, 1], "clamp") : interpolate(progress, [0, 0.5], [0, 1], "clamp");
399
+ const {
400
+ top,
401
+ right,
402
+ bottom,
403
+ left
404
+ } = resolvedZoomOptions.mask.outset;
405
+ const maskWidth = Math.max(1, toNumber(maskRaw.width) + left + right);
406
+ const maskHeight = Math.max(1, toNumber(maskRaw.height) + top + bottom);
407
+ const contentTranslateX = toNumber(contentRaw.translateX) + dragX;
408
+ const contentTranslateY = toNumber(contentRaw.translateY) + dragY;
409
+ const contentScale = toNumber(contentRaw.scale, 1) * dragScale;
410
+ const maskTranslateX = toNumber(maskRaw.translateX) + dragX - left;
411
+ const maskTranslateY = toNumber(maskRaw.translateY) + dragY - top;
412
+ const maskRadii = resolveMaskRadii({
413
+ progress,
414
+ zoomOptions: resolvedZoomOptions,
415
+ resolvedPair
416
+ });
417
+ const focusedContentStyle = {
418
+ opacity: focusedFade,
419
+ transform: [{
420
+ translateX: contentTranslateX
421
+ }, {
422
+ translateY: contentTranslateY
423
+ }, {
424
+ scale: contentScale
425
+ }]
426
+ };
427
+ return {
428
+ [NAVIGATION_CONTAINER_STYLE_ID]: {
429
+ style: {
430
+ ...focusedContentStyle
431
+ }
432
+ },
433
+ [NAVIGATION_MASK_STYLE_ID]: {
434
+ style: {
435
+ width: maskWidth,
436
+ height: maskHeight,
437
+ transform: [{
438
+ translateX: maskTranslateX
439
+ }, {
440
+ translateY: maskTranslateY
441
+ }, {
442
+ scale: dragScale
443
+ }],
444
+ borderRadius: maskRadii.borderRadius,
445
+ borderTopLeftRadius: maskRadii.borderTopLeftRadius,
446
+ borderTopRightRadius: maskRadii.borderTopRightRadius,
447
+ borderBottomLeftRadius: maskRadii.borderBottomLeftRadius,
448
+ borderBottomRightRadius: maskRadii.borderBottomRightRadius,
449
+ ...(resolvedZoomOptions.mask.borderCurve ? {
450
+ borderCurve: resolvedZoomOptions.mask.borderCurve
451
+ } : {})
452
+ }
453
+ },
454
+ ...focusedVisibilityStyles
455
+ };
456
+ }
457
+ const unfocusedFade = props.active?.closing ? interpolate(progress, [1.6, 2], [1, 0], "clamp") : interpolate(progress, [1, 1.5], [1, 0], "clamp");
458
+ const unfocusedScale = interpolate(progress, [1, 2], [1, 0.95], "clamp");
459
+ const isUnfocusedIdle = props.active.settled === 1;
460
+ const elementTarget = sharedOptions.scaleMode === "match" ? "fullscreen" : getZoomContentTarget({
461
+ explicitTarget,
462
+ resolvedTag,
463
+ currentRouteKey,
464
+ previousRouteKey,
465
+ nextRouteKey,
466
+ entering,
467
+ screenLayout,
468
+ anchor: sharedOptions.anchor,
469
+ resolvedPair
470
+ });
471
+ const elementRaw = computeRaw({
472
+ ...sharedOptions,
473
+ method: "transform",
474
+ space: "relative",
475
+ target: elementTarget
476
+ });
477
+
478
+ // Keep compensation tied to the element target's center. In `scaleMode: "match"`
479
+ // this target is fullscreen, so the center offset should resolve to zero.
480
+ const elementCenterY = typeof elementTarget === "object" ? elementTarget.pageY + elementTarget.height / 2 : screenLayout.height / 2;
481
+ const scaleShiftY = computeCenterScaleShift({
482
+ center: elementCenterY,
483
+ containerCenter: screenLayout.height / 2,
484
+ scale: dragScale
485
+ });
486
+ const compensatedGestureX = composeCompensatedTranslation({
487
+ gesture: dragX,
488
+ parentScale: unfocusedScale,
489
+ epsilon: EPSILON
490
+ });
491
+ // dragY is measured in screen space and must be unscaled by the parent
492
+ // content shrink, while scaleShiftY is already in the parent's local space.
493
+ const compensatedGestureY = composeCompensatedTranslation({
494
+ gesture: dragY,
495
+ parentScale: unfocusedScale,
496
+ centerShift: scaleShiftY,
497
+ epsilon: EPSILON
498
+ });
499
+ const elementTranslateX = toNumber(elementRaw.translateX) + compensatedGestureX;
500
+ const elementTranslateY = toNumber(elementRaw.translateY) + compensatedGestureY;
501
+ const elementScaleX = toNumber(elementRaw.scaleX, 1) * dragScale;
502
+ const elementScaleY = toNumber(elementRaw.scaleY, 1) * dragScale;
503
+ const resolvedElementStyle = isUnfocusedIdle ? {
504
+ transform: [{
505
+ translateX: 0
506
+ }, {
507
+ translateY: 0
508
+ }, {
509
+ scaleX: 1
510
+ }, {
511
+ scaleY: 1
512
+ }],
513
+ opacity: 0,
514
+ zIndex: 0,
515
+ elevation: 0
516
+ } : {
517
+ transform: [{
518
+ translateX: elementTranslateX
519
+ }, {
520
+ translateY: elementTranslateY
521
+ }, {
522
+ scaleX: elementScaleX
523
+ }, {
524
+ scaleY: elementScaleY
525
+ }],
526
+ opacity: unfocusedFade,
527
+ zIndex: 9999,
528
+ elevation: 9999
529
+ };
530
+ return {
531
+ content: {
532
+ style: {
533
+ transform: [{
534
+ scale: unfocusedScale
535
+ }]
536
+ }
537
+ },
538
+ [resolvedTag]: {
539
+ style: resolvedElementStyle
540
+ }
541
+ };
542
+ };
543
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["interpolate","EPSILON","NAVIGATION_CONTAINER_STYLE_ID","NAVIGATION_MASK_STYLE_ID","NO_STYLES","BoundStore","resolveZoomConfig","toNumber","IDENTITY_DRAG_SCALE_OUTPUT","clamp","value","min","max","lower","upper","clamp01","lerp","from","to","t","safeDivide","numerator","denominator","fallback","inverseLerp","inMin","inMax","mapRangeClamped","outMin","outMax","applyPowerCurve","exponent","safeExponent","magnitude","Math","abs","normalizedToTranslation","normalized","dimension","resistance","distance","normalizedToScale","outputRange","positiveOnly","outputStart","outputEnd","raw","combineScales","scaleX","scaleY","mode","computeCenterScaleShift","center","containerCenter","scale","compensateTranslationForParentScale","translation","parentScale","epsilon","safeParentScale","composeCompensatedTranslation","gesture","centerShift","resolveDirectionalDragScale","dismissDirection","shrinkMin","growMax","dismissalRelative","oppositeDrag","getZoomContentTarget","explicitTarget","resolvedTag","currentRouteKey","previousRouteKey","nextRouteKey","entering","screenLayout","anchor","resolvedPair","undefined","pair","resolveTransitionPair","currentScreenKey","previousScreenKey","nextScreenKey","sourceBounds","screenWidth","width","height","horizontalAnchor","verticalAnchor","x","y","pageX","pageY","getStyleRadius","styles","property","styleRecord","direct","borderRadius","resolveRadiusRange","progress","sourceRadius","destinationRadius","resolveMaskRadii","zoomOptions","sourceStyles","destinationStyles","defaultRadius","mask","topLeftValue","borderTopLeftRadius","topRightValue","borderTopRightRadius","bottomLeftValue","borderBottomLeftRadius","bottomRightValue","borderBottomRightRadius","buildZoomStyles","id","group","props","resolveTag","computeRaw","focused","current","route","key","previous","next","layouts","screen","transitionContext","resolvedConfig","defaultAnchor","sharedOptions","resolvedZoomOptions","focusedVisibilityStyles","style","opacity","normX","active","normY","initialDirection","direction","dragX","motion","dragResistance","dragY","dragXScale","dragDirectionalScaleMin","dragDirectionalScaleMax","dragYScale","dragScale","contentTarget","contentRaw","method","target","maskRaw","space","focusedFade","closing","top","right","bottom","left","outset","maskWidth","maskHeight","contentTranslateX","translateX","contentTranslateY","translateY","contentScale","maskTranslateX","maskTranslateY","maskRadii","focusedContentStyle","transform","borderCurve","unfocusedFade","unfocusedScale","isUnfocusedIdle","settled","elementTarget","scaleMode","elementRaw","elementCenterY","scaleShiftY","compensatedGestureX","compensatedGestureY","elementTranslateX","elementTranslateY","elementScaleX","elementScaleY","resolvedElementStyle","zIndex","elevation","content"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/zoom/build.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import { BoundStore } from "../../../stores/bounds";
4
+ const DEFAULT_DRAG_RESISTANCE = 0.4;
5
+ const DEFAULT_DRAG_DIRECTIONAL_SCALE_MIN = 0.25;
6
+ const DEFAULT_DRAG_DIRECTIONAL_SCALE_MAX = 1.06;
7
+ const DEFAULT_MASK_BORDER_RADIUS = 12;
8
+ const ZERO_OUTSET = Object.freeze({
9
+ top: 0,
10
+ right: 0,
11
+ bottom: 0,
12
+ left: 0
13
+ });
14
+ export const toNumber = (value, fallback = 0) => {
15
+ "worklet";
16
+
17
+ return typeof value === "number" ? value : fallback;
18
+ };
19
+ const isFiniteNumber = value => {
20
+ "worklet";
21
+
22
+ return typeof value === "number" && Number.isFinite(value);
23
+ };
24
+ const normalizeOutset = value => {
25
+ "worklet";
26
+
27
+ if (typeof value === "number") {
28
+ return {
29
+ top: value,
30
+ right: value,
31
+ bottom: value,
32
+ left: value
33
+ };
34
+ }
35
+ if (!value) {
36
+ return ZERO_OUTSET;
37
+ }
38
+ return {
39
+ top: isFiniteNumber(value.top) ? value.top : 0,
40
+ right: isFiniteNumber(value.right) ? value.right : 0,
41
+ bottom: isFiniteNumber(value.bottom) ? value.bottom : 0,
42
+ left: isFiniteNumber(value.left) ? value.left : 0
43
+ };
44
+ };
45
+ const normalizeZoomOptions = zoomOptions => {
46
+ "worklet";
47
+
48
+ const resolvedMaskRadius = zoomOptions?.mask?.borderRadius ?? (isFiniteNumber(zoomOptions?.maskBorderRadius) ? zoomOptions?.maskBorderRadius : DEFAULT_MASK_BORDER_RADIUS);
49
+ return {
50
+ mask: {
51
+ borderRadius: resolvedMaskRadius,
52
+ borderTopLeftRadius: zoomOptions?.mask?.borderTopLeftRadius,
53
+ borderTopRightRadius: zoomOptions?.mask?.borderTopRightRadius,
54
+ borderBottomLeftRadius: zoomOptions?.mask?.borderBottomLeftRadius,
55
+ borderBottomRightRadius: zoomOptions?.mask?.borderBottomRightRadius,
56
+ borderCurve: zoomOptions?.mask?.borderCurve,
57
+ outset: normalizeOutset(zoomOptions?.mask?.outset)
58
+ },
59
+ motion: {
60
+ dragResistance: isFiniteNumber(zoomOptions?.motion?.dragResistance) ? zoomOptions.motion.dragResistance : DEFAULT_DRAG_RESISTANCE,
61
+ dragDirectionalScaleMin: isFiniteNumber(zoomOptions?.motion?.dragDirectionalScaleMin) ? zoomOptions.motion.dragDirectionalScaleMin : DEFAULT_DRAG_DIRECTIONAL_SCALE_MIN,
62
+ dragDirectionalScaleMax: DEFAULT_DRAG_DIRECTIONAL_SCALE_MAX
63
+ }
64
+ };
65
+ };
66
+ export const resolveZoomConfig = ({
67
+ id,
68
+ group,
69
+ zoomOptions,
70
+ currentRouteKey,
71
+ resolveTag,
72
+ defaultAnchor
73
+ }) => {
74
+ "worklet";
75
+
76
+ const resolvedTag = resolveTag({
77
+ id,
78
+ group
79
+ });
80
+ if (!resolvedTag) return null;
81
+
82
+ // Try direct boundary config for the current screen first.
83
+ const boundaryConfig = currentRouteKey ? BoundStore.getBoundaryConfig(resolvedTag, currentRouteKey) : null;
84
+
85
+ // Fallback: when the current screen has no Boundary (e.g. a zoom detail
86
+ // screen without a destination element), inherit config from the link's
87
+ // source screen so that props like scaleMode propagate to both sides.
88
+ let effectiveConfig = boundaryConfig;
89
+ if (!effectiveConfig) {
90
+ // For no-destination navigation zoom, the focused route won't appear in
91
+ // a completed link yet. Fall back to the latest unscoped link so source
92
+ // boundary defaults (anchor/scaleMode/target) still propagate.
93
+ const scopedLink = currentRouteKey ? BoundStore.getActiveLink(resolvedTag, currentRouteKey) : null;
94
+ const link = scopedLink ?? BoundStore.getActiveLink(resolvedTag);
95
+ if (link?.source) {
96
+ effectiveConfig = BoundStore.getBoundaryConfig(resolvedTag, link.source.screenKey);
97
+ }
98
+ }
99
+ const sharedOptions = {
100
+ anchor: zoomOptions?.anchor ?? effectiveConfig?.anchor ?? defaultAnchor,
101
+ scaleMode: zoomOptions?.scaleMode ?? effectiveConfig?.scaleMode ?? "uniform"
102
+ };
103
+ const explicitTarget = zoomOptions?.target ?? effectiveConfig?.target;
104
+ const resolvedZoomOptions = normalizeZoomOptions(zoomOptions);
105
+ return {
106
+ resolvedTag,
107
+ sharedOptions,
108
+ explicitTarget,
109
+ zoomOptions: resolvedZoomOptions
110
+ };
111
+ };
112
+ //# sourceMappingURL=config.js.map