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

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 (513) hide show
  1. package/lib/commonjs/component-stack/components/component-screen.js +1 -7
  2. package/lib/commonjs/component-stack/components/component-screen.js.map +1 -1
  3. package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js +27 -34
  4. package/lib/commonjs/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js +4 -4
  6. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
  7. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +17 -19
  8. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
  9. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js +27 -7
  10. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -1
  11. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +23 -51
  12. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  13. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +33 -40
  14. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  15. package/lib/commonjs/shared/components/create-boundary-component/index.js +3 -1
  16. package/lib/commonjs/shared/components/create-boundary-component/index.js.map +1 -1
  17. package/lib/commonjs/shared/components/create-boundary-component/utils/destination-signals.js +75 -0
  18. package/lib/commonjs/shared/components/create-boundary-component/utils/destination-signals.js.map +1 -0
  19. package/lib/commonjs/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.js → utils/measured-bounds.js} +15 -2
  20. package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -0
  21. package/lib/commonjs/shared/components/create-boundary-component/utils/refresh-signals.js +103 -0
  22. package/lib/commonjs/shared/components/create-boundary-component/utils/refresh-signals.js.map +1 -0
  23. package/lib/commonjs/shared/components/create-boundary-component/utils/source-signals.js +52 -0
  24. package/lib/commonjs/shared/components/create-boundary-component/utils/source-signals.js.map +1 -0
  25. package/lib/commonjs/shared/components/native-screen.js +2 -13
  26. package/lib/commonjs/shared/components/native-screen.js.map +1 -1
  27. package/lib/commonjs/shared/components/screen-container/layers/content.js +11 -1
  28. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  29. package/lib/commonjs/shared/constants.js +5 -12
  30. package/lib/commonjs/shared/constants.js.map +1 -1
  31. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +35 -0
  32. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -0
  33. package/lib/commonjs/shared/providers/register-bounds.provider.js +48 -55
  34. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +1 -10
  36. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  37. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  38. package/lib/commonjs/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  39. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +26 -8
  40. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  41. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -2
  42. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  44. package/lib/commonjs/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +3 -4
  46. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js +2 -2
  48. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js +9 -2
  50. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js +19 -0
  52. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-release.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js +2 -0
  54. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +2 -2
  56. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js +2 -2
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +1 -0
  60. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  61. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +2 -2
  62. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  63. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js +18 -2
  64. package/lib/commonjs/shared/providers/screen/gestures/shared/physics.js.map +1 -1
  65. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +1 -5
  66. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  67. package/lib/commonjs/shared/providers/screen/options/helpers.js +3 -1
  68. package/lib/commonjs/shared/providers/screen/options/helpers.js.map +1 -1
  69. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +1 -4
  70. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  71. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +125 -0
  72. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -0
  73. package/lib/commonjs/shared/stores/bounds/index.js +6 -12
  74. package/lib/commonjs/shared/stores/bounds/index.js.map +1 -1
  75. package/lib/commonjs/shared/stores/bounds/internals/clear.js +13 -21
  76. package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -1
  77. package/lib/commonjs/shared/stores/bounds/internals/entries.js +49 -9
  78. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
  79. package/lib/commonjs/shared/stores/bounds/internals/links.js +143 -82
  80. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  81. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +17 -43
  82. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  83. package/lib/commonjs/shared/stores/bounds/internals/state.js +26 -3
  84. package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -1
  85. package/lib/commonjs/shared/stores/gesture.store.js +2 -0
  86. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  87. package/lib/commonjs/shared/types/gesture.types.js +2 -2
  88. package/lib/commonjs/shared/types/gesture.types.js.map +1 -1
  89. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +2 -1
  90. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  91. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +6 -5
  92. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  93. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +21 -8
  94. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  95. package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js +23 -0
  96. package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -0
  97. package/lib/commonjs/shared/utils/bounds/index.js +3 -2
  98. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  99. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +120 -205
  100. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  101. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js +15 -2
  102. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
  103. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +175 -14
  104. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  105. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +2 -2
  106. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  107. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +20 -19
  108. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  109. package/lib/module/component-stack/components/component-screen.js +2 -8
  110. package/lib/module/component-stack/components/component-screen.js.map +1 -1
  111. package/lib/module/shared/components/create-boundary-component/create-boundary-component.js +27 -34
  112. package/lib/module/shared/components/create-boundary-component/create-boundary-component.js.map +1 -1
  113. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js +4 -4
  114. package/lib/module/shared/components/create-boundary-component/hooks/use-boundary-presence.js.map +1 -1
  115. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js +18 -20
  116. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.js.map +1 -1
  117. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js +28 -8
  118. package/lib/module/shared/components/create-boundary-component/hooks/use-initial-source-measurement.js.map +1 -1
  119. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +22 -50
  120. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  121. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js +33 -40
  122. package/lib/module/shared/components/create-boundary-component/hooks/use-refresh-boundary.js.map +1 -1
  123. package/lib/module/shared/components/create-boundary-component/index.js +3 -1
  124. package/lib/module/shared/components/create-boundary-component/index.js.map +1 -1
  125. package/lib/module/shared/components/create-boundary-component/utils/destination-signals.js +70 -0
  126. package/lib/module/shared/components/create-boundary-component/utils/destination-signals.js.map +1 -0
  127. package/lib/module/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.js → utils/measured-bounds.js} +13 -1
  128. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -0
  129. package/lib/module/shared/components/create-boundary-component/utils/refresh-signals.js +98 -0
  130. package/lib/module/shared/components/create-boundary-component/utils/refresh-signals.js.map +1 -0
  131. package/lib/module/shared/components/create-boundary-component/utils/source-signals.js +47 -0
  132. package/lib/module/shared/components/create-boundary-component/utils/source-signals.js.map +1 -0
  133. package/lib/module/shared/components/native-screen.js +3 -14
  134. package/lib/module/shared/components/native-screen.js.map +1 -1
  135. package/lib/module/shared/components/screen-container/layers/content.js +13 -3
  136. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  137. package/lib/module/shared/constants.js +4 -11
  138. package/lib/module/shared/constants.js.map +1 -1
  139. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +30 -0
  140. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -0
  141. package/lib/module/shared/providers/register-bounds.provider.js +48 -55
  142. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  143. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +1 -10
  144. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  145. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  146. package/lib/module/shared/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  147. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +26 -3
  148. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  149. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -2
  150. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  151. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  152. package/lib/module/shared/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  153. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +3 -4
  154. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  155. package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js +2 -2
  156. package/lib/module/shared/providers/screen/gestures/pan/pan-activation.js.map +1 -1
  157. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +10 -3
  158. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  159. package/lib/module/shared/providers/screen/gestures/pan/pan-release.js +20 -1
  160. package/lib/module/shared/providers/screen/gestures/pan/pan-release.js.map +1 -1
  161. package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js +2 -0
  162. package/lib/module/shared/providers/screen/gestures/pan/pan-reset.js.map +1 -1
  163. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +3 -3
  164. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  165. package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js +3 -3
  166. package/lib/module/shared/providers/screen/gestures/pinch/pinch-activation.js.map +1 -1
  167. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +1 -0
  168. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  169. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +3 -3
  170. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  171. package/lib/module/shared/providers/screen/gestures/shared/physics.js +15 -0
  172. package/lib/module/shared/providers/screen/gestures/shared/physics.js.map +1 -1
  173. package/lib/module/shared/providers/screen/gestures/shared/policy.js +3 -3
  174. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  175. package/lib/module/shared/providers/screen/options/helpers.js +3 -1
  176. package/lib/module/shared/providers/screen/options/helpers.js.map +1 -1
  177. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +1 -4
  178. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  179. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  180. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  181. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +105 -0
  182. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -0
  183. package/lib/module/shared/stores/bounds/index.js +7 -13
  184. package/lib/module/shared/stores/bounds/index.js.map +1 -1
  185. package/lib/module/shared/stores/bounds/internals/clear.js +14 -22
  186. package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -1
  187. package/lib/module/shared/stores/bounds/internals/entries.js +49 -9
  188. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
  189. package/lib/module/shared/stores/bounds/internals/links.js +139 -80
  190. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  191. package/lib/module/shared/stores/bounds/internals/resolver.js +17 -43
  192. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  193. package/lib/module/shared/stores/bounds/internals/state.js +25 -2
  194. package/lib/module/shared/stores/bounds/internals/state.js.map +1 -1
  195. package/lib/module/shared/stores/gesture.store.js +2 -0
  196. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  197. package/lib/module/shared/types/animation.types.js +0 -4
  198. package/lib/module/shared/types/animation.types.js.map +1 -1
  199. package/lib/module/shared/types/bounds.types.js.map +1 -1
  200. package/lib/module/shared/types/gesture.types.js +0 -1
  201. package/lib/module/shared/types/gesture.types.js.map +1 -1
  202. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +2 -1
  203. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  204. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +6 -5
  205. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  206. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +21 -8
  207. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  208. package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js +18 -0
  209. package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -0
  210. package/lib/module/shared/utils/bounds/index.js +3 -2
  211. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  212. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +120 -205
  213. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  214. package/lib/module/shared/utils/bounds/navigation/reveal/config.js +14 -1
  215. package/lib/module/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
  216. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +163 -12
  217. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  218. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +2 -2
  219. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  220. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +20 -19
  221. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  222. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
  223. package/lib/typescript/shared/components/create-boundary-component/components/boundary-target.d.ts +4 -207
  224. package/lib/typescript/shared/components/create-boundary-component/components/boundary-target.d.ts.map +1 -1
  225. package/lib/typescript/shared/components/create-boundary-component/create-boundary-component.d.ts +1 -0
  226. package/lib/typescript/shared/components/create-boundary-component/create-boundary-component.d.ts.map +1 -1
  227. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts +1 -1
  228. package/lib/typescript/shared/components/create-boundary-component/hooks/use-boundary-presence.d.ts.map +1 -1
  229. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts +5 -4
  230. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.d.ts.map +1 -1
  231. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-source-measurement.d.ts +6 -2
  232. package/lib/typescript/shared/components/create-boundary-component/hooks/use-initial-source-measurement.d.ts.map +1 -1
  233. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts +5 -4
  234. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
  235. package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts +7 -7
  236. package/lib/typescript/shared/components/create-boundary-component/hooks/use-refresh-boundary.d.ts.map +1 -1
  237. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
  238. package/lib/typescript/shared/components/create-boundary-component/index.d.ts.map +1 -1
  239. package/lib/typescript/shared/components/create-boundary-component/types.d.ts +11 -7
  240. package/lib/typescript/shared/components/create-boundary-component/types.d.ts.map +1 -1
  241. package/lib/typescript/shared/components/create-boundary-component/utils/destination-signals.d.ts +10 -0
  242. package/lib/typescript/shared/components/create-boundary-component/utils/destination-signals.d.ts.map +1 -0
  243. package/lib/typescript/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.d.ts → utils/measured-bounds.d.ts} +3 -2
  244. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -0
  245. package/lib/typescript/shared/components/create-boundary-component/utils/refresh-signals.d.ts +22 -0
  246. package/lib/typescript/shared/components/create-boundary-component/utils/refresh-signals.d.ts.map +1 -0
  247. package/lib/typescript/shared/components/create-boundary-component/utils/source-signals.d.ts +16 -0
  248. package/lib/typescript/shared/components/create-boundary-component/utils/source-signals.d.ts.map +1 -0
  249. package/lib/typescript/shared/components/native-screen.d.ts.map +1 -1
  250. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  251. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  252. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  253. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  254. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +2 -2
  255. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  256. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  257. package/lib/typescript/shared/constants.d.ts +1 -6
  258. package/lib/typescript/shared/constants.d.ts.map +1 -1
  259. package/lib/typescript/shared/index.d.ts +3 -3
  260. package/lib/typescript/shared/index.d.ts.map +1 -1
  261. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +21 -0
  262. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -0
  263. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  264. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  265. package/lib/typescript/shared/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  266. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts +1 -2
  267. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  268. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +1 -1
  269. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  270. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +1 -1
  271. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  272. package/lib/typescript/shared/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
  273. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +1 -1
  274. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  275. package/lib/typescript/shared/providers/screen/gestures/pan/pan-activation.d.ts.map +1 -1
  276. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -1
  277. package/lib/typescript/shared/providers/screen/gestures/pan/pan-release.d.ts.map +1 -1
  278. package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts +2 -1
  279. package/lib/typescript/shared/providers/screen/gestures/pan/pan-reset.d.ts.map +1 -1
  280. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -1
  281. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-activation.d.ts.map +1 -1
  282. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -1
  283. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -1
  284. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts +7 -0
  285. package/lib/typescript/shared/providers/screen/gestures/shared/physics.d.ts.map +1 -1
  286. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +0 -10
  287. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  288. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +2 -0
  289. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  290. package/lib/typescript/shared/providers/screen/options/helpers.d.ts.map +1 -1
  291. package/lib/typescript/shared/providers/screen/options/types.d.ts +1 -0
  292. package/lib/typescript/shared/providers/screen/options/types.d.ts.map +1 -1
  293. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts +1 -1
  294. package/lib/typescript/shared/providers/screen/styles/components/maybe-floating-container.d.ts.map +1 -1
  295. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  296. package/lib/typescript/shared/providers/stack/direct.provider.d.ts +1 -1
  297. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  298. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
  299. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  300. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +18 -0
  301. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -0
  302. package/lib/typescript/shared/stores/bounds/index.d.ts +6 -12
  303. package/lib/typescript/shared/stores/bounds/index.d.ts.map +1 -1
  304. package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -1
  305. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
  306. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +13 -10
  307. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  308. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  309. package/lib/typescript/shared/stores/bounds/internals/state.d.ts +26 -5
  310. package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
  311. package/lib/typescript/shared/stores/bounds/types.d.ts +14 -7
  312. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  313. package/lib/typescript/shared/stores/gesture.store.d.ts +1 -0
  314. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  315. package/lib/typescript/shared/types/animation.types.d.ts +4 -19
  316. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  317. package/lib/typescript/shared/types/bounds.types.d.ts +69 -1
  318. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  319. package/lib/typescript/shared/types/gesture.types.d.ts +8 -1
  320. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  321. package/lib/typescript/shared/types/index.d.ts +2 -2
  322. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  323. package/lib/typescript/shared/types/screen.types.d.ts +4 -14
  324. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  325. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
  326. package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
  327. package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts +1 -1
  328. package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
  329. package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts +4 -0
  330. package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts.map +1 -0
  331. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  332. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts +1 -1
  333. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  334. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts +14 -1
  335. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
  336. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts +58 -7
  337. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  338. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts +2 -1
  339. package/lib/typescript/shared/utils/bounds/navigation/reveal/types.d.ts.map +1 -1
  340. package/lib/typescript/shared/utils/bounds/types/options.d.ts +2 -3
  341. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  342. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +3 -2
  343. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
  344. package/package.json +4 -3
  345. package/src/component-stack/components/component-screen.tsx +3 -11
  346. package/src/shared/components/create-boundary-component/create-boundary-component.tsx +30 -27
  347. package/src/shared/components/create-boundary-component/hooks/use-boundary-presence.ts +5 -5
  348. package/src/shared/components/create-boundary-component/hooks/use-initial-destination-measurement.ts +25 -24
  349. package/src/shared/components/create-boundary-component/hooks/use-initial-source-measurement.ts +41 -11
  350. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +49 -64
  351. package/src/shared/components/create-boundary-component/hooks/use-refresh-boundary.ts +44 -83
  352. package/src/shared/components/create-boundary-component/index.tsx +3 -1
  353. package/src/shared/components/create-boundary-component/types.ts +13 -11
  354. package/src/shared/components/create-boundary-component/utils/destination-signals.ts +129 -0
  355. package/src/shared/components/create-boundary-component/{hooks/helpers/scroll-measurement.ts → utils/measured-bounds.ts} +25 -1
  356. package/src/shared/components/create-boundary-component/utils/refresh-signals.ts +164 -0
  357. package/src/shared/components/create-boundary-component/utils/source-signals.ts +72 -0
  358. package/src/shared/components/native-screen.tsx +3 -12
  359. package/src/shared/components/screen-container/layers/content.tsx +21 -2
  360. package/src/shared/constants.ts +1 -9
  361. package/src/shared/index.ts +0 -3
  362. package/src/shared/providers/helpers/measured-bounds-writes.ts +67 -0
  363. package/src/shared/providers/register-bounds.provider.tsx +68 -91
  364. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +0 -14
  365. package/src/shared/providers/screen/animation/helpers/build-screen-transition-options.ts +1 -0
  366. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +49 -4
  367. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +1 -1
  368. package/src/shared/providers/screen/animation/helpers/pipeline.ts +2 -5
  369. package/src/shared/providers/screen/animation/helpers/selected-interpolator-options.ts +1 -0
  370. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +3 -12
  371. package/src/shared/providers/screen/gestures/pan/pan-activation.ts +4 -1
  372. package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +18 -2
  373. package/src/shared/providers/screen/gestures/pan/pan-release.ts +33 -0
  374. package/src/shared/providers/screen/gestures/pan/pan-reset.ts +3 -0
  375. package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +9 -6
  376. package/src/shared/providers/screen/gestures/pinch/pinch-activation.ts +5 -2
  377. package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +1 -0
  378. package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +9 -6
  379. package/src/shared/providers/screen/gestures/shared/physics.ts +25 -0
  380. package/src/shared/providers/screen/gestures/shared/policy.ts +3 -5
  381. package/src/shared/providers/screen/gestures/types.ts +2 -0
  382. package/src/shared/providers/screen/options/helpers.ts +9 -0
  383. package/src/shared/providers/screen/options/types.ts +1 -0
  384. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +0 -3
  385. package/src/shared/providers/stack/direct.provider.tsx +1 -1
  386. package/src/shared/providers/stack/managed.provider.tsx +1 -1
  387. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +161 -0
  388. package/src/shared/stores/bounds/index.ts +10 -20
  389. package/src/shared/stores/bounds/internals/clear.ts +17 -41
  390. package/src/shared/stores/bounds/internals/entries.ts +56 -13
  391. package/src/shared/stores/bounds/internals/links.ts +222 -113
  392. package/src/shared/stores/bounds/internals/resolver.ts +23 -87
  393. package/src/shared/stores/bounds/internals/state.ts +27 -5
  394. package/src/shared/stores/bounds/types.ts +17 -7
  395. package/src/shared/stores/gesture.store.ts +3 -0
  396. package/src/shared/types/animation.types.ts +4 -23
  397. package/src/shared/types/bounds.types.ts +72 -1
  398. package/src/shared/types/gesture.types.ts +8 -2
  399. package/src/shared/types/index.ts +1 -4
  400. package/src/shared/types/screen.types.ts +4 -14
  401. package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +1 -0
  402. package/src/shared/utils/bounds/helpers/create-link-accessor.ts +6 -6
  403. package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +20 -11
  404. package/src/shared/utils/bounds/helpers/resolve-bounds-pair-key.ts +22 -0
  405. package/src/shared/utils/bounds/index.ts +3 -1
  406. package/src/shared/utils/bounds/navigation/reveal/build.ts +198 -308
  407. package/src/shared/utils/bounds/navigation/reveal/config.ts +20 -1
  408. package/src/shared/utils/bounds/navigation/reveal/math.ts +264 -18
  409. package/src/shared/utils/bounds/navigation/reveal/types.ts +2 -0
  410. package/src/shared/utils/bounds/navigation/zoom/build.ts +2 -2
  411. package/src/shared/utils/bounds/types/options.ts +2 -3
  412. package/src/shared/utils/navigation/resolve-scene-neighbors.ts +36 -23
  413. package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +0 -43
  414. package/lib/commonjs/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +0 -1
  415. package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +0 -17
  416. package/lib/commonjs/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +0 -1
  417. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +0 -28
  418. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +0 -1
  419. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +0 -75
  420. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +0 -1
  421. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js +0 -20
  422. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +0 -1
  423. package/lib/commonjs/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +0 -1
  424. package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js +0 -16
  425. package/lib/commonjs/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +0 -1
  426. package/lib/commonjs/shared/providers/layout-anchor.provider.js +0 -86
  427. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +0 -1
  428. package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js +0 -49
  429. package/lib/commonjs/shared/stores/bounds/helpers/entries.helpers.js.map +0 -1
  430. package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js +0 -25
  431. package/lib/commonjs/shared/stores/bounds/helpers/find-latest.js.map +0 -1
  432. package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js +0 -30
  433. package/lib/commonjs/shared/stores/bounds/helpers/groups.helpers.js.map +0 -1
  434. package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js +0 -79
  435. package/lib/commonjs/shared/stores/bounds/helpers/link.helpers.js.map +0 -1
  436. package/lib/commonjs/shared/stores/bounds/helpers/matching.js +0 -13
  437. package/lib/commonjs/shared/stores/bounds/helpers/matching.js.map +0 -1
  438. package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js +0 -30
  439. package/lib/commonjs/shared/stores/bounds/helpers/tag-state.helpers.js.map +0 -1
  440. package/lib/commonjs/shared/stores/bounds/internals/groups.js +0 -102
  441. package/lib/commonjs/shared/stores/bounds/internals/groups.js.map +0 -1
  442. package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js +0 -38
  443. package/lib/module/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.js.map +0 -1
  444. package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js +0 -12
  445. package/lib/module/shared/components/create-boundary-component/helpers/resolve-pending-source-key.js.map +0 -1
  446. package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js +0 -23
  447. package/lib/module/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.js.map +0 -1
  448. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js +0 -68
  449. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement-rules.js.map +0 -1
  450. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js +0 -15
  451. package/lib/module/shared/components/create-boundary-component/hooks/helpers/measurement.js.map +0 -1
  452. package/lib/module/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.js.map +0 -1
  453. package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js +0 -12
  454. package/lib/module/shared/components/create-boundary-component/utils/build-boundary-match-key.js.map +0 -1
  455. package/lib/module/shared/providers/layout-anchor.provider.js +0 -80
  456. package/lib/module/shared/providers/layout-anchor.provider.js.map +0 -1
  457. package/lib/module/shared/stores/bounds/helpers/entries.helpers.js +0 -42
  458. package/lib/module/shared/stores/bounds/helpers/entries.helpers.js.map +0 -1
  459. package/lib/module/shared/stores/bounds/helpers/find-latest.js +0 -19
  460. package/lib/module/shared/stores/bounds/helpers/find-latest.js.map +0 -1
  461. package/lib/module/shared/stores/bounds/helpers/groups.helpers.js +0 -23
  462. package/lib/module/shared/stores/bounds/helpers/groups.helpers.js.map +0 -1
  463. package/lib/module/shared/stores/bounds/helpers/link.helpers.js +0 -69
  464. package/lib/module/shared/stores/bounds/helpers/link.helpers.js.map +0 -1
  465. package/lib/module/shared/stores/bounds/helpers/matching.js +0 -9
  466. package/lib/module/shared/stores/bounds/helpers/matching.js.map +0 -1
  467. package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js +0 -24
  468. package/lib/module/shared/stores/bounds/helpers/tag-state.helpers.js.map +0 -1
  469. package/lib/module/shared/stores/bounds/internals/groups.js +0 -95
  470. package/lib/module/shared/stores/bounds/internals/groups.js.map +0 -1
  471. package/lib/typescript/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.d.ts +0 -15
  472. package/lib/typescript/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.d.ts.map +0 -1
  473. package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts +0 -2
  474. package/lib/typescript/shared/components/create-boundary-component/helpers/resolve-pending-source-key.d.ts.map +0 -1
  475. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts +0 -22
  476. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.d.ts.map +0 -1
  477. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts +0 -29
  478. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement-rules.d.ts.map +0 -1
  479. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts +0 -3
  480. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/measurement.d.ts.map +0 -1
  481. package/lib/typescript/shared/components/create-boundary-component/hooks/helpers/scroll-measurement.d.ts.map +0 -1
  482. package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts +0 -8
  483. package/lib/typescript/shared/components/create-boundary-component/utils/build-boundary-match-key.d.ts.map +0 -1
  484. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +0 -39
  485. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +0 -1
  486. package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts +0 -5
  487. package/lib/typescript/shared/stores/bounds/helpers/entries.helpers.d.ts.map +0 -1
  488. package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts +0 -3
  489. package/lib/typescript/shared/stores/bounds/helpers/find-latest.d.ts.map +0 -1
  490. package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts +0 -10
  491. package/lib/typescript/shared/stores/bounds/helpers/groups.helpers.d.ts.map +0 -1
  492. package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts +0 -14
  493. package/lib/typescript/shared/stores/bounds/helpers/link.helpers.d.ts.map +0 -1
  494. package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts +0 -3
  495. package/lib/typescript/shared/stores/bounds/helpers/matching.d.ts.map +0 -1
  496. package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts +0 -5
  497. package/lib/typescript/shared/stores/bounds/helpers/tag-state.helpers.d.ts.map +0 -1
  498. package/lib/typescript/shared/stores/bounds/internals/groups.d.ts +0 -16
  499. package/lib/typescript/shared/stores/bounds/internals/groups.d.ts.map +0 -1
  500. package/src/shared/components/create-boundary-component/helpers/apply-measured-bounds-writes.ts +0 -83
  501. package/src/shared/components/create-boundary-component/helpers/resolve-pending-source-key.ts +0 -20
  502. package/src/shared/components/create-boundary-component/hooks/helpers/boundary-link-context.ts +0 -48
  503. package/src/shared/components/create-boundary-component/hooks/helpers/measurement-rules.ts +0 -101
  504. package/src/shared/components/create-boundary-component/hooks/helpers/measurement.ts +0 -25
  505. package/src/shared/components/create-boundary-component/utils/build-boundary-match-key.ts +0 -14
  506. package/src/shared/providers/layout-anchor.provider.tsx +0 -112
  507. package/src/shared/stores/bounds/helpers/entries.helpers.ts +0 -55
  508. package/src/shared/stores/bounds/helpers/find-latest.ts +0 -22
  509. package/src/shared/stores/bounds/helpers/groups.helpers.ts +0 -27
  510. package/src/shared/stores/bounds/helpers/link.helpers.ts +0 -131
  511. package/src/shared/stores/bounds/helpers/matching.ts +0 -11
  512. package/src/shared/stores/bounds/helpers/tag-state.helpers.ts +0 -24
  513. package/src/shared/stores/bounds/internals/groups.ts +0 -116
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import { getEntry } from "../../../stores/bounds/internals/entries";
4
- import { getGroupActiveId, setGroupActiveId } from "../../../stores/bounds/internals/groups";
4
+ import { setActiveGroupId } from "../../../stores/bounds/internals/links";
5
5
  import { DEFAULT_BOUNDS_OPTIONS } from "../constants";
6
6
  import { createBoundTag } from "./create-bound-tag";
7
+ import { resolveBoundsPairKey } from "./resolve-bounds-pair-key";
7
8
  import { computeBoundStyles } from "./styles/compute";
8
9
  const buildBoundsOptions = ({
9
10
  props,
@@ -28,22 +29,34 @@ const buildBoundsOptions = ({
28
29
  };
29
30
  return resolved;
30
31
  };
31
- const syncGroupActiveMember = (group, id) => {
32
+ const syncActiveGroupId = params => {
32
33
  "worklet";
33
34
 
34
- if (!group || id == null || id === "") return;
35
- const normalizedId = String(id);
36
- if (getGroupActiveId(group) === normalizedId) return;
37
- setGroupActiveId(group, normalizedId);
35
+ const {
36
+ props,
37
+ id,
38
+ group
39
+ } = params;
40
+ if (id == null || id === "" || !group) return;
41
+ const pairKey = resolveBoundsPairKey(props);
42
+ if (!pairKey) return;
43
+ setActiveGroupId(pairKey, group, String(id));
38
44
  };
39
45
  export const prepareBoundStyles = ({
40
46
  props,
41
47
  options,
42
- resolvedPair
48
+ resolvedPair,
49
+ syncGroupActiveId = false
43
50
  }) => {
44
51
  "worklet";
45
52
 
46
- syncGroupActiveMember(options.group, options.id);
53
+ if (syncGroupActiveId) {
54
+ syncActiveGroupId({
55
+ props,
56
+ id: options.id,
57
+ group: options.group
58
+ });
59
+ }
47
60
  const resolved = buildBoundsOptions({
48
61
  props,
49
62
  id: options.id,
@@ -1 +1 @@
1
- {"version":3,"names":["getEntry","getGroupActiveId","setGroupActiveId","DEFAULT_BOUNDS_OPTIONS","createBoundTag","computeBoundStyles","buildBoundsOptions","props","id","group","overrides","tag","currentScreenKey","current","route","key","boundaryConfig","resolved","syncGroupActiveMember","normalizedId","String","prepareBoundStyles","options","resolvedPair","previous","next","progress","dimensions","layouts","screen"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/prepare-bound-styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0CAA0C;AACnE,SACCC,gBAAgB,EAChBC,gBAAgB,QACV,yCAAyC;AAGhD,SAASC,sBAAsB,QAAQ,cAAc;AAMrD,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,kBAAkB,QAAQ,kBAAkB;AAkBrD,MAAMC,kBAAkB,GAAGA,CAAC;EAC3BC,KAAK;EACLC,EAAE;EACFC,KAAK;EACLC;AACyB,CAAC,KAAoB;EAC9C,SAAS;;EAET,MAAMC,GAAG,GAAGP,cAAc,CAAC;IAAEI,EAAE;IAAEC;EAAM,CAAC,CAAC;EACzC,MAAMG,gBAAgB,GAAGL,KAAK,CAACM,OAAO,EAAEC,KAAK,CAACC,GAAG;EAEjD,MAAMC,cAAc,GACnBL,GAAG,IAAIC,gBAAgB,GACnBZ,QAAQ,CAACW,GAAG,EAAEC,gBAAgB,CAAC,EAAEI,cAAc,IAAI,IAAI,GACxD,IAAI;EAER,MAAMC,QAAQ,GAAG;IAChB,GAAGd,sBAAsB;IACzB,IAAIa,cAAc,IAAI,CAAC,CAAC,CAAC;IACzB,IAAIN,SAAS,IAAI,CAAC,CAAC,CAAC;IACpBF,EAAE,EAAEG,GAAG,IAAI,EAAE;IACbF;EACD,CAAC;EAED,OAAOQ,QAAQ;AAChB,CAAC;AAED,MAAMC,qBAAqB,GAAGA,CAACT,KAAc,EAAED,EAAY,KAAK;EAC/D,SAAS;;EACT,IAAI,CAACC,KAAK,IAAID,EAAE,IAAI,IAAI,IAAIA,EAAE,KAAK,EAAE,EAAE;EAEvC,MAAMW,YAAY,GAAGC,MAAM,CAACZ,EAAE,CAAC;EAE/B,IAAIP,gBAAgB,CAACQ,KAAK,CAAC,KAAKU,YAAY,EAAE;EAE9CjB,gBAAgB,CAACO,KAAK,EAAEU,YAAY,CAAC;AACtC,CAAC;AAED,OAAO,MAAME,kBAAkB,GAAGA,CAA0B;EAC3Dd,KAAK;EACLe,OAAO;EACPC;AACqC,CAAC,KAA6B;EACnE,SAAS;;EAETL,qBAAqB,CAACI,OAAO,CAACb,KAAK,EAAEa,OAAO,CAACd,EAAE,CAAC;EAEhD,MAAMS,QAAQ,GAAGX,kBAAkB,CAAC;IACnCC,KAAK;IACLC,EAAE,EAAEc,OAAO,CAACd,EAAE;IACdC,KAAK,EAAEa,OAAO,CAACb,KAAK;IACpBC,SAAS,EAAEY;EACZ,CAAC,CAAC;EAEF,OAAOjB,kBAAkB,CACxB;IACCG,EAAE,EAAES,QAAQ,CAACT,EAAE;IACfgB,QAAQ,EAAEjB,KAAK,CAACiB,QAAQ;IACxBX,OAAO,EAAEN,KAAK,CAACM,OAAO;IACtBY,IAAI,EAAElB,KAAK,CAACkB,IAAI;IAChBC,QAAQ,EAAEnB,KAAK,CAACmB,QAAQ;IACxBC,UAAU,EAAEpB,KAAK,CAACqB,OAAO,CAACC;EAC3B,CAAC,EACDZ,QAAQ,EACRM,YACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getEntry","setActiveGroupId","DEFAULT_BOUNDS_OPTIONS","createBoundTag","resolveBoundsPairKey","computeBoundStyles","buildBoundsOptions","props","id","group","overrides","tag","currentScreenKey","current","route","key","boundaryConfig","resolved","syncActiveGroupId","params","pairKey","String","prepareBoundStyles","options","resolvedPair","syncGroupActiveId","previous","next","progress","dimensions","layouts","screen"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/prepare-bound-styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0CAA0C;AACnE,SAASC,gBAAgB,QAAQ,wCAAwC;AAGzE,SAASC,sBAAsB,QAAQ,cAAc;AAMrD,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,kBAAkB,QAAQ,kBAAkB;AAkBrD,MAAMC,kBAAkB,GAAGA,CAAC;EAC3BC,KAAK;EACLC,EAAE;EACFC,KAAK;EACLC;AACyB,CAAC,KAAoB;EAC9C,SAAS;;EAET,MAAMC,GAAG,GAAGR,cAAc,CAAC;IAAEK,EAAE;IAAEC;EAAM,CAAC,CAAC;EACzC,MAAMG,gBAAgB,GAAGL,KAAK,CAACM,OAAO,EAAEC,KAAK,CAACC,GAAG;EAEjD,MAAMC,cAAc,GACnBL,GAAG,IAAIC,gBAAgB,GACnBZ,QAAQ,CAACW,GAAG,EAAEC,gBAAgB,CAAC,EAAEI,cAAc,IAAI,IAAI,GACxD,IAAI;EAER,MAAMC,QAAQ,GAAG;IAChB,GAAGf,sBAAsB;IACzB,IAAIc,cAAc,IAAI,CAAC,CAAC,CAAC;IACzB,IAAIN,SAAS,IAAI,CAAC,CAAC,CAAC;IACpBF,EAAE,EAAEG,GAAG,IAAI,EAAE;IACbF;EACD,CAAC;EAED,OAAOQ,QAAQ;AAChB,CAAC;AAED,MAAMC,iBAAiB,GAAIC,MAI1B,IAAK;EACL,SAAS;;EACT,MAAM;IAAEZ,KAAK;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGU,MAAM;EACnC,IAAIX,EAAE,IAAI,IAAI,IAAIA,EAAE,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE;EAEvC,MAAMW,OAAO,GAAGhB,oBAAoB,CAACG,KAAK,CAAC;EAC3C,IAAI,CAACa,OAAO,EAAE;EAEdnB,gBAAgB,CAACmB,OAAO,EAAEX,KAAK,EAAEY,MAAM,CAACb,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,OAAO,MAAMc,kBAAkB,GAAGA,CAA0B;EAC3Df,KAAK;EACLgB,OAAO;EACPC,YAAY;EACZC,iBAAiB,GAAG;AACiB,CAAC,KAA6B;EACnE,SAAS;;EAET,IAAIA,iBAAiB,EAAE;IACtBP,iBAAiB,CAAC;MACjBX,KAAK;MACLC,EAAE,EAAEe,OAAO,CAACf,EAAE;MACdC,KAAK,EAAEc,OAAO,CAACd;IAChB,CAAC,CAAC;EACH;EAEA,MAAMQ,QAAQ,GAAGX,kBAAkB,CAAC;IACnCC,KAAK;IACLC,EAAE,EAAEe,OAAO,CAACf,EAAE;IACdC,KAAK,EAAEc,OAAO,CAACd,KAAK;IACpBC,SAAS,EAAEa;EACZ,CAAC,CAAC;EAEF,OAAOlB,kBAAkB,CACxB;IACCG,EAAE,EAAES,QAAQ,CAACT,EAAE;IACfkB,QAAQ,EAAEnB,KAAK,CAACmB,QAAQ;IACxBb,OAAO,EAAEN,KAAK,CAACM,OAAO;IACtBc,IAAI,EAAEpB,KAAK,CAACoB,IAAI;IAChBC,QAAQ,EAAErB,KAAK,CAACqB,QAAQ;IACxBC,UAAU,EAAEtB,KAAK,CAACuB,OAAO,CAACC;EAC3B,CAAC,EACDd,QAAQ,EACRO,YACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { createScreenPairKey } from "../../../stores/bounds/helpers/link-pairs.helpers";
4
+ export const resolveBoundsPairKey = props => {
5
+ "worklet";
6
+
7
+ const currentScreenKey = props.current?.route.key;
8
+ const previousScreenKey = props.previous?.route.key;
9
+ const nextScreenKey = props.next?.route.key;
10
+ if (nextScreenKey && currentScreenKey) {
11
+ return createScreenPairKey(currentScreenKey, nextScreenKey);
12
+ }
13
+ if (previousScreenKey && currentScreenKey) {
14
+ return createScreenPairKey(previousScreenKey, currentScreenKey);
15
+ }
16
+ return null;
17
+ };
18
+ //# sourceMappingURL=resolve-bounds-pair-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createScreenPairKey","resolveBoundsPairKey","props","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","next"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/resolve-bounds-pair-key.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,mDAAmD;AAIvF,OAAO,MAAMC,oBAAoB,GAChCC,KAA+B,IACL;EAC1B,SAAS;;EACT,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,OAAO,EAAEC,KAAK,CAACC,GAAG;EACjD,MAAMC,iBAAiB,GAAGL,KAAK,CAACM,QAAQ,EAAEH,KAAK,CAACC,GAAG;EACnD,MAAMG,aAAa,GAAGP,KAAK,CAACQ,IAAI,EAAEL,KAAK,CAACC,GAAG;EAE3C,IAAIG,aAAa,IAAIN,gBAAgB,EAAE;IACtC,OAAOH,mBAAmB,CAACG,gBAAgB,EAAEM,aAAa,CAAC;EAC5D;EAEA,IAAIF,iBAAiB,IAAIJ,gBAAgB,EAAE;IAC1C,OAAOH,mBAAmB,CAACO,iBAAiB,EAAEJ,gBAAgB,CAAC;EAChE;EAEA,OAAO,IAAI;AACZ,CAAC","ignoreList":[]}
@@ -26,12 +26,13 @@ export const createBoundsAccessor = getProps => {
26
26
  zoomOptions
27
27
  });
28
28
  },
29
- reveal: () => {
29
+ reveal: revealOptions => {
30
30
  "worklet";
31
31
 
32
32
  return buildRevealStyles({
33
33
  props,
34
- tag
34
+ tag,
35
+ revealOptions
35
36
  });
36
37
  }
37
38
  },
@@ -1 +1 @@
1
- {"version":3,"names":["createBoundsAccessorCore","buildRevealStyles","buildZoomStyles","createBoundsAccessor","getProps","extendResult","target","props","tag","Object","defineProperty","value","zoom","zoomOptions","reveal","enumerable","configurable"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":";;AAKA,SAASA,wBAAwB,QAAQ,uCAAuC;AAChF,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,OAAO,MAAMC,oBAAoB,GAChCC,QAAwC,IACpB;EACpB,SAAS;;EAET,OAAOJ,wBAAwB,CAAC;IAC/BI,QAAQ;IACRC,YAAY,EAAEA,CAAC;MAAEC,MAAM;MAAEC,KAAK;MAAEC;IAAI,CAAC,KAAK;MACzC,SAAS;;MACTC,MAAM,CAACC,cAAc,CAACJ,MAAM,EAAE,YAAY,EAAE;QAC3CK,KAAK,EAAE;UACNC,IAAI,EAAGC,WAAyC,IAAK;YACpD,SAAS;;YACT,OAAOX,eAAe,CAAC;cACtBK,KAAK;cACLC,GAAG;cACHK;YACD,CAAC,CAAC;UACH,CAAC;UACDC,MAAM,EAAEA,CAAA,KAAM;YACb,SAAS;;YACT,OAAOb,iBAAiB,CAAC;cACxBM,KAAK;cACLC;YACD,CAAC,CAAC;UACH;QACD,CAAC;QACDO,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE;MACf,CAAC,CAAC;IACH;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createBoundsAccessorCore","buildRevealStyles","buildZoomStyles","createBoundsAccessor","getProps","extendResult","target","props","tag","Object","defineProperty","value","zoom","zoomOptions","reveal","revealOptions","enumerable","configurable"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":";;AAMA,SAASA,wBAAwB,QAAQ,uCAAuC;AAChF,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,OAAO,MAAMC,oBAAoB,GAChCC,QAAwC,IACpB;EACpB,SAAS;;EAET,OAAOJ,wBAAwB,CAAC;IAC/BI,QAAQ;IACRC,YAAY,EAAEA,CAAC;MAAEC,MAAM;MAAEC,KAAK;MAAEC;IAAI,CAAC,KAAK;MACzC,SAAS;;MACTC,MAAM,CAACC,cAAc,CAACJ,MAAM,EAAE,YAAY,EAAE;QAC3CK,KAAK,EAAE;UACNC,IAAI,EAAGC,WAAyC,IAAK;YACpD,SAAS;;YACT,OAAOX,eAAe,CAAC;cACtBK,KAAK;cACLC,GAAG;cACHK;YACD,CAAC,CAAC;UACH,CAAC;UACDC,MAAM,EAAGC,aAA6C,IAAK;YAC1D,SAAS;;YACT,OAAOd,iBAAiB,CAAC;cACxBM,KAAK;cACLC,GAAG;cACHO;YACD,CAAC,CAAC;UACH;QACD,CAAC;QACDC,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE;MACf,CAAC,CAAC;IACH;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,124 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  import { interpolate } from "react-native-reanimated";
4
- import { EPSILON, NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
4
+ import { NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
5
5
  import { createLinkAccessor } from "../../helpers/create-link-accessor";
6
- import { computeContentTransformGeometry } from "../../helpers/geometry";
7
6
  import { getSourceBorderRadius } from "../helpers";
8
- import { combineScales, resolveDirectionalDragScale } from "../math";
9
- import { CLOSE_SOURCE_HANDOFF_PROGRESS, DISMISS_SCALE_ORBIT_DEPTH, DRAG_DIRECTIONAL_SCALE_EXPONENT, DRAG_DIRECTIONAL_SCALE_MAX, DRAG_DIRECTIONAL_SCALE_MIN, DRAG_MASK_HEIGHT_COLLAPSE_END, HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE, REVEAL_BORDER_RADIUS } from "./config";
10
- import { resolveDirectionalDragTranslation } from "./math";
11
- const IDENTITY_DRAG_SCALE_OUTPUT = [1, 1];
12
- function resolveUniformScale({
13
- sourceWidth,
14
- sourceHeight,
15
- destinationWidth,
16
- destinationHeight
17
- }) {
18
- "worklet";
19
-
20
- const sx = sourceWidth / destinationWidth;
21
- const sy = sourceHeight / destinationHeight;
22
- const sourceAspect = sourceWidth / sourceHeight;
23
- const destinationAspect = destinationWidth / destinationHeight;
24
- const aspectDifference = Math.abs(sourceAspect - destinationAspect);
25
- return aspectDifference < 0.1 ? Math.max(sx, sy) : Math.min(sx, sy);
26
- }
27
- function resolveRevealGestureHandoff(rawDrag) {
28
- "worklet";
29
-
30
- const gestureSensitivity = interpolate(rawDrag, [0, 1], [0.8, 0.1], "clamp");
31
- const releaseBoost = interpolate(rawDrag, [0, 1], [1, 1.4], "clamp");
32
- const releaseSensitivity = interpolate(gestureSensitivity, [0.28, 0.9], [0.7, 1], "clamp");
33
- return {
34
- gestureSensitivity,
35
- gestureReleaseVelocityScale: releaseBoost * releaseSensitivity
36
- };
37
- }
38
- function resolveDismissScaleHandoff({
39
- progress,
40
- releaseScale,
41
- targetScale,
42
- rawDrag
43
- }) {
44
- "worklet";
45
-
46
- const closeProgress = 1 - progress;
47
- const scaleProgress = Math.sin(Math.PI / 2 * closeProgress);
48
- const baseScale = releaseScale + (targetScale - releaseScale) * scaleProgress;
49
- const orbitDepth = interpolate(rawDrag, [0, 1], [0, DISMISS_SCALE_ORBIT_DEPTH], "clamp");
50
- const orbitScale = 1 - orbitDepth * Math.sin(Math.PI * closeProgress);
51
- return baseScale * orbitScale;
52
- }
53
- function getBoundsCenterX(bounds) {
54
- "worklet";
55
-
56
- return bounds.pageX + bounds.width / 2;
57
- }
58
- function getBoundsCenterY(bounds) {
59
- "worklet";
60
-
61
- return bounds.pageY + bounds.height / 2;
62
- }
63
- function resolveRevealContentBaseTransform({
64
- progress,
65
- sourceBounds,
66
- destinationBounds,
67
- screenLayout
68
- }) {
69
- "worklet";
70
-
71
- const geometry = computeContentTransformGeometry({
72
- start: sourceBounds,
73
- end: destinationBounds,
74
- entering: true,
75
- dimensions: screenLayout,
76
- scaleMode: "uniform"
77
- });
78
- return {
79
- translateX: interpolate(progress, [0, 1], [geometry.tx, 0], "clamp"),
80
- translateY: interpolate(progress, [0, 1], [geometry.ty, 0], "clamp"),
81
- scale: interpolate(progress, [0, 1], [geometry.s, 1], "clamp")
82
- };
83
- }
84
- function resolveTrackedSourceElementTransform({
85
- sourceBounds,
86
- destinationBounds,
87
- contentTranslateX,
88
- contentTranslateY,
89
- contentScale,
90
- parentScale,
91
- screenWidth,
92
- screenHeight
93
- }) {
94
- "worklet";
95
-
96
- const screenCenterX = screenWidth / 2;
97
- const screenCenterY = screenHeight / 2;
98
- const safeParentScale = Math.max(Math.abs(parentScale), EPSILON);
99
- const safeSourceWidth = Math.max(Math.abs(sourceBounds.width), EPSILON);
100
- const safeSourceHeight = Math.max(Math.abs(sourceBounds.height), EPSILON);
101
- const sourceCenterX = getBoundsCenterX(sourceBounds);
102
- const sourceCenterY = getBoundsCenterY(sourceBounds);
103
- const destinationCenterX = getBoundsCenterX(destinationBounds);
104
- const destinationCenterY = getBoundsCenterY(destinationBounds);
105
- const trackedCenterX = screenCenterX + (destinationCenterX - screenCenterX) * contentScale + contentTranslateX;
106
- const trackedCenterY = screenCenterY + (destinationCenterY - screenCenterY) * contentScale + contentTranslateY;
107
- return {
108
- translateX: (trackedCenterX - screenCenterX) / safeParentScale + screenCenterX - sourceCenterX,
109
- translateY: (trackedCenterY - screenCenterY) / safeParentScale + screenCenterY - sourceCenterY,
110
- scaleX: destinationBounds.width * contentScale / (safeSourceWidth * safeParentScale),
111
- scaleY: destinationBounds.height * contentScale / (safeSourceHeight * safeParentScale)
112
- };
113
- }
114
-
7
+ import { CLOSE_SOURCE_HANDOFF_PROGRESS, CONTENT_CLOSING_OPACITY_OUTPUT, CONTENT_CLOSING_OPACITY_RANGE, CONTENT_ENTERING_OPACITY_OUTPUT, CONTENT_ENTERING_OPACITY_RANGE, CONTENT_SHADOW_OPACITY_OUTPUT, DISMISS_SCALE_ORBIT_DEPTH, DRAG_MASK_HEIGHT_COLLAPSE_END, HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE, IDENTITY_DRAG_SCALE_OUTPUT, REVEAL_BORDER_RADIUS, REVEAL_SHADOW_OFFSET, REVEAL_USES_TRANSFORM_MASK, UNFOCUSED_ELEMENT_OPACITY_OUTPUT, ZERO_TO_ONE_RANGE } from "./config";
8
+ import { interpolateClamped, mixUnit, resolveAspectRatioMaskHeight, resolveDismissScaleHandoff, resolveRevealContentBaseTransform, resolveRevealDirectionalDragScale, resolveRevealGestureHandoff, resolveSafeScale, resolveTrackedSourceElementTransform, resolveUniformScale, resolveUnitDragTranslation } from "./math";
115
9
  /* -------------------------------------------------------------------------- */
116
10
  /* BUILD REVEAL STYLES */
117
11
  /* -------------------------------------------------------------------------- */
118
12
 
119
13
  export function buildRevealStyles({
120
14
  tag,
121
- props
15
+ props,
16
+ revealOptions
122
17
  }) {
123
18
  "worklet";
124
19
 
@@ -135,10 +30,14 @@ export function buildRevealStyles({
135
30
  screen: screenLayout
136
31
  }
137
32
  } = props;
138
- const baseRawOptions = {
139
- raw: true,
140
- scaleMode: "uniform"
141
- };
33
+ const borderRadius = revealOptions?.borderRadius ?? REVEAL_BORDER_RADIUS;
34
+ const borderContinuous = revealOptions?.borderContinuous ?? true;
35
+ const maxSensitivity = revealOptions?.maxSensitivity ?? 0.8;
36
+ const velocityDepth = revealOptions?.velocityDepth ?? DISMISS_SCALE_ORBIT_DEPTH;
37
+ const gestureProgressMode = revealOptions?.gestureProgressMode ?? "freeform";
38
+ const disablePointerEventsTillElementTransition = revealOptions?.disablePointerEventsTillElementTransition ?? true;
39
+ const maskSizingMode = revealOptions?.maskSizingMode ?? "auto";
40
+ const usesTransformMask = maskSizingMode === "auto" ? REVEAL_USES_TRANSFORM_MASK : maskSizingMode === "transform";
142
41
  const boundsAccessor = createLinkAccessor(() => props);
143
42
  const link = boundsAccessor.getLink(tag);
144
43
  if (!link?.source?.bounds || !link.destination?.bounds) {
@@ -149,81 +48,70 @@ export function buildRevealStyles({
149
48
  /* --------------------------- Gesture / Drag Values ------------------------- */
150
49
 
151
50
  const initialGesture = props.active.gesture.active ?? props.active.gesture.direction;
152
- const isHorizontalDismiss = initialGesture?.includes("horizontal");
153
- const isVerticalDismiss = initialGesture?.includes("vertical");
51
+ const isHorizontalDismiss = initialGesture === "horizontal" || initialGesture === "horizontal-inverted";
52
+ const isVerticalDismiss = initialGesture === "vertical" || initialGesture === "vertical-inverted";
154
53
  const rawDrag = isHorizontalDismiss ? Math.abs(props.active.gesture.raw.normX) : isVerticalDismiss ? Math.abs(props.active.gesture.raw.normY) : 0;
155
- const dragX = resolveDirectionalDragTranslation({
156
- translation: props.active.gesture.x,
157
- dimension: screenLayout.width,
158
- negativeMax: 1,
159
- positiveMax: 1,
160
- exponent: 1
161
- });
162
- const dragY = resolveDirectionalDragTranslation({
163
- translation: props.active.gesture.y,
164
- dimension: screenLayout.height,
165
- negativeMax: 1,
166
- positiveMax: 1,
167
- exponent: 1
168
- });
169
- const dragXScale = isHorizontalDismiss ? resolveDirectionalDragScale({
170
- normalized: props.active.gesture.normX,
171
- dismissDirection: initialGesture === "horizontal-inverted" ? "negative" : "positive",
172
- shrinkMin: DRAG_DIRECTIONAL_SCALE_MIN,
173
- growMax: DRAG_DIRECTIONAL_SCALE_MAX,
174
- exponent: DRAG_DIRECTIONAL_SCALE_EXPONENT
175
- }) : IDENTITY_DRAG_SCALE_OUTPUT[0];
176
- const dragYScale = isVerticalDismiss ? resolveDirectionalDragScale({
177
- normalized: props.active.gesture.normY,
178
- dismissDirection: initialGesture === "vertical-inverted" ? "negative" : "positive",
179
- shrinkMin: DRAG_DIRECTIONAL_SCALE_MIN,
180
- growMax: DRAG_DIRECTIONAL_SCALE_MAX,
181
- exponent: DRAG_DIRECTIONAL_SCALE_EXPONENT
182
- }) : IDENTITY_DRAG_SCALE_OUTPUT[1];
183
- const dragScale = combineScales(dragXScale, dragYScale);
54
+ const dragX = resolveUnitDragTranslation(props.active.gesture.x, screenLayout.width);
55
+ const dragY = resolveUnitDragTranslation(props.active.gesture.y, screenLayout.height);
56
+ const dragXScale = isHorizontalDismiss ? resolveRevealDirectionalDragScale(props.active.gesture.normX, initialGesture === "horizontal-inverted") : IDENTITY_DRAG_SCALE_OUTPUT[0];
57
+ const dragYScale = isVerticalDismiss ? resolveRevealDirectionalDragScale(props.active.gesture.normY, initialGesture === "vertical-inverted") : IDENTITY_DRAG_SCALE_OUTPUT[1];
58
+ const dragScale = dragXScale * dragYScale;
184
59
  const initialDestinationTarget = props.active.closing && link.initialDestination?.bounds ? link.initialDestination.bounds : undefined;
185
60
 
186
61
  /* ----------------------------- Focused Screen ----------------------------- */
187
62
 
188
63
  if (focused) {
189
64
  const contentRaw = link.compute({
190
- ...baseRawOptions,
65
+ raw: true,
66
+ scaleMode: "uniform",
191
67
  method: "content",
192
68
  target: initialDestinationTarget
193
69
  });
194
70
  const maskRaw = link.compute({
195
- ...baseRawOptions,
71
+ raw: true,
72
+ scaleMode: "uniform",
196
73
  method: "size",
197
74
  space: "absolute",
198
75
  target: "fullscreen"
199
76
  });
200
- const maskBorderRadius = interpolate(progress, [0, 1], [sourceBorderRadius, REVEAL_BORDER_RADIUS], "clamp");
201
- const maskSizeMultiplier = props.active.closing ? interpolate(props.active.progress, [0, 1], [0.9, 1], "clamp") : 1;
77
+ const maskBorderRadius = mixUnit(sourceBorderRadius, borderRadius, progress);
78
+ const maskBorderCurve = borderContinuous ? "continuous" : undefined;
79
+ const maskSizeMultiplier = props.active.closing ? mixUnit(0.9, 1, props.active.progress) : 1;
202
80
  const maskWidth = Math.max(1, maskRaw.width * maskSizeMultiplier);
203
81
  const maskHeight = Math.max(1, maskRaw.height * maskSizeMultiplier);
204
82
  const contentBaseScale = contentRaw.scale;
205
- const contentTargetBounds = initialDestinationTarget ?? link.destination.bounds;
206
- const sourceContentScale = resolveUniformScale({
207
- sourceWidth: link.source.bounds.width,
208
- sourceHeight: link.source.bounds.height,
209
- destinationWidth: contentTargetBounds.width,
210
- destinationHeight: contentTargetBounds.height
211
- });
212
- const safeContentBaseScale = Math.abs(contentBaseScale) > EPSILON ? contentBaseScale : 1;
213
- const contentScale = props.active.gesture.dismissing ? resolveDismissScaleHandoff({
214
- progress: props.active.progress,
215
- releaseScale: dragScale,
216
- targetScale: sourceContentScale,
217
- rawDrag
218
- }) : contentBaseScale * dragScale;
83
+ const safeContentBaseScale = resolveSafeScale(contentBaseScale);
84
+ let contentScale = contentBaseScale * dragScale;
85
+ if (props.active.gesture.dismissing) {
86
+ const contentTargetBounds = initialDestinationTarget ?? link.destination.bounds;
87
+ const sourceContentScale = resolveUniformScale({
88
+ sourceWidth: link.source.bounds.width,
89
+ sourceHeight: link.source.bounds.height,
90
+ destinationWidth: contentTargetBounds.width,
91
+ destinationHeight: contentTargetBounds.height
92
+ });
93
+ contentScale = resolveDismissScaleHandoff({
94
+ progress: props.active.progress,
95
+ releaseScale: dragScale,
96
+ targetScale: sourceContentScale,
97
+ velocity: props.active.gesture.velocity,
98
+ velocityDepth
99
+ });
100
+ }
219
101
  const contentTranslateX = contentRaw.translateX + dragX;
220
102
  const contentTranslateY = contentRaw.translateY + dragY;
221
103
  const liveHorizontalDismissDrag = initialGesture === "horizontal-inverted" ? -props.active.gesture.normX : props.active.gesture.normX;
222
104
  const liveVerticalDismissDrag = initialGesture === "vertical-inverted" ? -props.active.gesture.normY : props.active.gesture.normY;
223
105
  const dismissProgressDrag = props.active.gesture.dismissing ? 1 - props.active.progress : 0;
224
106
  const maskHeightCollapseDrag = isHorizontalDismiss || isVerticalDismiss ? Math.max(0, isHorizontalDismiss ? liveHorizontalDismissDrag * HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE : 0, isVerticalDismiss ? liveVerticalDismissDrag : 0, dismissProgressDrag) : 0;
225
- const minMaskHeight = Math.min(maskHeight, Math.max(maskWidth, link.source.bounds.height));
226
- const renderedMaskHeight = interpolate(maskHeightCollapseDrag, [0, DRAG_MASK_HEIGHT_COLLAPSE_END], [maskHeight, minMaskHeight], "clamp");
107
+ const maskAspectBounds = link.initialSource?.bounds ?? link.source.bounds;
108
+ const minMaskHeight = resolveAspectRatioMaskHeight({
109
+ maskWidth,
110
+ maskHeight,
111
+ targetWidth: maskAspectBounds.width,
112
+ targetHeight: maskAspectBounds.height
113
+ });
114
+ const renderedMaskHeight = interpolateClamped(maskHeightCollapseDrag, 0, DRAG_MASK_HEIGHT_COLLAPSE_END, maskHeight, minMaskHeight);
227
115
  const maskCenterX = maskWidth / 2;
228
116
  const maskCenterY = renderedMaskHeight / 2;
229
117
  const maskCenteringOffsetX = (maskRaw.width - maskWidth) / 2;
@@ -238,17 +126,54 @@ export function buildRevealStyles({
238
126
  const compensatedMaskTranslateX = (maskRaw.translateX - contentRaw.translateX + maskCenteringOffsetX + (1 - contentBaseScale) * (maskCenterX - contentCenterX)) / safeContentBaseScale;
239
127
  const compensatedMaskTranslateY = (maskRaw.translateY - contentRaw.translateY + maskCenteringOffsetY + verticalCollapseOffsetY + (1 - contentBaseScale) * (maskCenterY - contentCenterY)) / safeContentBaseScale;
240
128
  const compensatedMaskScale = 1 / safeContentBaseScale;
129
+ const maskBaseWidth = Math.max(1, screenLayout.width);
130
+ const maskBaseHeight = Math.max(1, screenLayout.height);
131
+ const maskScaleX = maskWidth / maskBaseWidth;
132
+ const maskScaleY = renderedMaskHeight / maskBaseHeight;
133
+ const transformMaskTranslateX = compensatedMaskTranslateX + (maskWidth - maskBaseWidth) / 2;
134
+ const transformMaskTranslateY = compensatedMaskTranslateY + (renderedMaskHeight - maskBaseHeight) / 2;
135
+ const maskElementStyle = usesTransformMask ? {
136
+ width: maskBaseWidth,
137
+ height: maskBaseHeight,
138
+ borderRadius: props.active.settled ? 0 : maskBorderRadius,
139
+ borderCurve: maskBorderCurve,
140
+ transform: [{
141
+ translateX: transformMaskTranslateX
142
+ }, {
143
+ translateY: transformMaskTranslateY
144
+ }, {
145
+ scaleX: maskScaleX * compensatedMaskScale
146
+ }, {
147
+ scaleY: maskScaleY * compensatedMaskScale
148
+ }]
149
+ } : {
150
+ width: maskWidth,
151
+ height: renderedMaskHeight,
152
+ borderRadius: props.active.settled ? 0 : maskBorderRadius,
153
+ borderCurve: maskBorderCurve,
154
+ transform: [{
155
+ translateX: compensatedMaskTranslateX
156
+ }, {
157
+ translateY: compensatedMaskTranslateY
158
+ }, {
159
+ scale: compensatedMaskScale
160
+ }]
161
+ };
241
162
  const elementOffsetX = initialDestinationTarget ? initialDestinationTarget.pageX - link.destination.bounds.pageX : 0;
242
163
  const elementOffsetY = initialDestinationTarget ? initialDestinationTarget.pageY - link.destination.bounds.pageY : 0;
243
- const elementTX = props.active.closing ? interpolate(props.active.progress, [CLOSE_SOURCE_HANDOFF_PROGRESS, 1], [elementOffsetX, 0], "clamp") : 0;
244
- const elementY = props.active.closing ? interpolate(props.active.progress, [CLOSE_SOURCE_HANDOFF_PROGRESS, 1], [elementOffsetY, 0], "clamp") : 0;
164
+ const elementTX = props.active.closing ? interpolateClamped(props.active.progress, CLOSE_SOURCE_HANDOFF_PROGRESS, 1, elementOffsetX, 0) : 0;
165
+ const elementY = props.active.closing ? interpolateClamped(props.active.progress, CLOSE_SOURCE_HANDOFF_PROGRESS, 1, elementOffsetY, 0) : 0;
245
166
  const {
246
167
  gestureSensitivity,
247
168
  gestureReleaseVelocityScale
248
- } = resolveRevealGestureHandoff(rawDrag);
169
+ } = resolveRevealGestureHandoff({
170
+ rawDrag,
171
+ maxSensitivity
172
+ });
249
173
  return {
250
174
  options: {
251
- gestureProgressMode: "freeform",
175
+ navigationMaskEnabled: true,
176
+ gestureProgressMode,
252
177
  gestureSensitivity,
253
178
  gestureReleaseVelocityScale
254
179
  },
@@ -262,30 +187,15 @@ export function buildRevealStyles({
262
187
  scale: contentScale
263
188
  }],
264
189
  shadowColor: "#000",
265
- shadowOffset: {
266
- width: 0,
267
- height: 2
268
- },
269
- shadowOpacity: interpolate(props.active.progress, [0, 1], [0, 0.25]),
190
+ shadowOffset: REVEAL_SHADOW_OFFSET,
191
+ shadowOpacity: interpolate(props.active.progress, ZERO_TO_ONE_RANGE, CONTENT_SHADOW_OPACITY_OUTPUT),
270
192
  shadowRadius: 32,
271
193
  elevation: 5,
272
- opacity: props.active.entering ? interpolate(props.active.progress, [0, CLOSE_SOURCE_HANDOFF_PROGRESS], [0, 1]) : interpolate(props.active.progress, [0, CLOSE_SOURCE_HANDOFF_PROGRESS, 1], [0, 1, 1])
194
+ opacity: props.active.entering ? interpolate(props.active.progress, CONTENT_ENTERING_OPACITY_RANGE, CONTENT_ENTERING_OPACITY_OUTPUT) : interpolate(props.active.progress, CONTENT_CLOSING_OPACITY_RANGE, CONTENT_CLOSING_OPACITY_OUTPUT)
273
195
  }
274
196
  },
275
197
  [NAVIGATION_MASK_ELEMENT_STYLE_ID]: {
276
- style: {
277
- width: maskWidth,
278
- height: renderedMaskHeight,
279
- borderRadius: props.active.settled ? 0 : maskBorderRadius,
280
- borderCurve: "continuous",
281
- transform: [{
282
- translateX: compensatedMaskTranslateX
283
- }, {
284
- translateY: compensatedMaskTranslateY
285
- }, {
286
- scale: compensatedMaskScale
287
- }]
288
- }
198
+ style: maskElementStyle
289
199
  },
290
200
  [link.id]: {
291
201
  style: {
@@ -303,7 +213,7 @@ export function buildRevealStyles({
303
213
 
304
214
  /* ---------------------------- Unfocused Screen ---------------------------- */
305
215
 
306
- const unfocusedScale = interpolate(props.active.progress, [0, 1], [1, 0.9375], "clamp");
216
+ const unfocusedScale = mixUnit(1, 0.9375, props.active.progress);
307
217
  const unfocusedContentScale = props.active.logicallySettled ? 1 : unfocusedScale;
308
218
  const trackingContentTarget = initialDestinationTarget ?? link.destination.bounds;
309
219
  const trackingContentBaseTransform = resolveRevealContentBaseTransform({
@@ -312,18 +222,22 @@ export function buildRevealStyles({
312
222
  destinationBounds: trackingContentTarget,
313
223
  screenLayout
314
224
  });
315
- const trackingTargetScale = resolveUniformScale({
316
- sourceWidth: link.source.bounds.width,
317
- sourceHeight: link.source.bounds.height,
318
- destinationWidth: trackingContentTarget.width,
319
- destinationHeight: trackingContentTarget.height
320
- });
321
- const trackingContentScale = props.active.gesture.dismissing ? resolveDismissScaleHandoff({
322
- progress: props.active.progress,
323
- releaseScale: dragScale,
324
- targetScale: trackingTargetScale,
325
- rawDrag
326
- }) : trackingContentBaseTransform.scale * dragScale;
225
+ let trackingContentScale = trackingContentBaseTransform.scale * dragScale;
226
+ if (props.active.gesture.dismissing) {
227
+ const trackingTargetScale = resolveUniformScale({
228
+ sourceWidth: link.source.bounds.width,
229
+ sourceHeight: link.source.bounds.height,
230
+ destinationWidth: trackingContentTarget.width,
231
+ destinationHeight: trackingContentTarget.height
232
+ });
233
+ trackingContentScale = resolveDismissScaleHandoff({
234
+ progress: props.active.progress,
235
+ releaseScale: dragScale,
236
+ targetScale: trackingTargetScale,
237
+ velocity: props.active.gesture.velocity,
238
+ velocityDepth
239
+ });
240
+ }
327
241
  const trackingContentTranslateX = trackingContentBaseTransform.translateX + dragX;
328
242
  const trackingContentTranslateY = trackingContentBaseTransform.translateY + dragY;
329
243
  const trackedSourceElement = resolveTrackedSourceElementTransform({
@@ -338,7 +252,8 @@ export function buildRevealStyles({
338
252
  });
339
253
  return {
340
254
  options: {
341
- gestureProgressMode: "freeform"
255
+ navigationMaskEnabled: true,
256
+ gestureProgressMode
342
257
  },
343
258
  content: {
344
259
  style: {
@@ -346,13 +261,13 @@ export function buildRevealStyles({
346
261
  scale: unfocusedContentScale
347
262
  }]
348
263
  },
349
- props: {
264
+ props: disablePointerEventsTillElementTransition ? {
350
265
  pointerEvents: props.active.progress <= CLOSE_SOURCE_HANDOFF_PROGRESS ? "auto" : "none"
351
- }
266
+ } : undefined
352
267
  },
353
268
  [link.id]: {
354
269
  style: {
355
- opacity: props.active.closing ? 1 : interpolate(props.active.progress, [0, 1], [1, 0], "clamp"),
270
+ opacity: props.active.closing ? 1 : interpolate(props.active.progress, ZERO_TO_ONE_RANGE, UNFOCUSED_ELEMENT_OPACITY_OUTPUT),
356
271
  zIndex: 9999,
357
272
  elevation: 9999,
358
273
  transform: [{
@@ -1 +1 @@
1
- {"version":3,"names":["interpolate","EPSILON","NAVIGATION_MASK_ELEMENT_STYLE_ID","createLinkAccessor","computeContentTransformGeometry","getSourceBorderRadius","combineScales","resolveDirectionalDragScale","CLOSE_SOURCE_HANDOFF_PROGRESS","DISMISS_SCALE_ORBIT_DEPTH","DRAG_DIRECTIONAL_SCALE_EXPONENT","DRAG_DIRECTIONAL_SCALE_MAX","DRAG_DIRECTIONAL_SCALE_MIN","DRAG_MASK_HEIGHT_COLLAPSE_END","HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE","REVEAL_BORDER_RADIUS","resolveDirectionalDragTranslation","IDENTITY_DRAG_SCALE_OUTPUT","resolveUniformScale","sourceWidth","sourceHeight","destinationWidth","destinationHeight","sx","sy","sourceAspect","destinationAspect","aspectDifference","Math","abs","max","min","resolveRevealGestureHandoff","rawDrag","gestureSensitivity","releaseBoost","releaseSensitivity","gestureReleaseVelocityScale","resolveDismissScaleHandoff","progress","releaseScale","targetScale","closeProgress","scaleProgress","sin","PI","baseScale","orbitDepth","orbitScale","getBoundsCenterX","bounds","pageX","width","getBoundsCenterY","pageY","height","resolveRevealContentBaseTransform","sourceBounds","destinationBounds","screenLayout","geometry","start","end","entering","dimensions","scaleMode","translateX","tx","translateY","ty","scale","s","resolveTrackedSourceElementTransform","contentTranslateX","contentTranslateY","contentScale","parentScale","screenWidth","screenHeight","screenCenterX","screenCenterY","safeParentScale","safeSourceWidth","safeSourceHeight","sourceCenterX","sourceCenterY","destinationCenterX","destinationCenterY","trackedCenterX","trackedCenterY","scaleX","scaleY","buildRevealStyles","tag","props","focused","layouts","screen","baseRawOptions","raw","boundsAccessor","link","getLink","source","destination","sourceBorderRadius","initialGesture","active","gesture","direction","isHorizontalDismiss","includes","isVerticalDismiss","normX","normY","dragX","translation","x","dimension","negativeMax","positiveMax","exponent","dragY","y","dragXScale","normalized","dismissDirection","shrinkMin","growMax","dragYScale","dragScale","initialDestinationTarget","closing","initialDestination","undefined","contentRaw","compute","method","target","maskRaw","space","maskBorderRadius","maskSizeMultiplier","maskWidth","maskHeight","contentBaseScale","contentTargetBounds","sourceContentScale","safeContentBaseScale","dismissing","liveHorizontalDismissDrag","liveVerticalDismissDrag","dismissProgressDrag","maskHeightCollapseDrag","minMaskHeight","renderedMaskHeight","maskCenterX","maskCenterY","maskCenteringOffsetX","maskCenteringOffsetY","verticalCollapseOffsetY","contentCenterX","contentCenterY","compensatedMaskTranslateX","compensatedMaskTranslateY","compensatedMaskScale","elementOffsetX","elementOffsetY","elementTX","elementY","options","gestureProgressMode","content","style","transform","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","opacity","borderRadius","settled","borderCurve","id","position","zIndex","unfocusedScale","unfocusedContentScale","logicallySettled","trackingContentTarget","trackingContentBaseTransform","trackingTargetScale","trackingContentScale","trackingContentTranslateX","trackingContentTranslateY","trackedSourceElement","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/navigation/reveal/build.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["interpolate","NAVIGATION_MASK_ELEMENT_STYLE_ID","createLinkAccessor","getSourceBorderRadius","CLOSE_SOURCE_HANDOFF_PROGRESS","CONTENT_CLOSING_OPACITY_OUTPUT","CONTENT_CLOSING_OPACITY_RANGE","CONTENT_ENTERING_OPACITY_OUTPUT","CONTENT_ENTERING_OPACITY_RANGE","CONTENT_SHADOW_OPACITY_OUTPUT","DISMISS_SCALE_ORBIT_DEPTH","DRAG_MASK_HEIGHT_COLLAPSE_END","HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE","IDENTITY_DRAG_SCALE_OUTPUT","REVEAL_BORDER_RADIUS","REVEAL_SHADOW_OFFSET","REVEAL_USES_TRANSFORM_MASK","UNFOCUSED_ELEMENT_OPACITY_OUTPUT","ZERO_TO_ONE_RANGE","interpolateClamped","mixUnit","resolveAspectRatioMaskHeight","resolveDismissScaleHandoff","resolveRevealContentBaseTransform","resolveRevealDirectionalDragScale","resolveRevealGestureHandoff","resolveSafeScale","resolveTrackedSourceElementTransform","resolveUniformScale","resolveUnitDragTranslation","buildRevealStyles","tag","props","revealOptions","focused","progress","layouts","screen","screenLayout","borderRadius","borderContinuous","maxSensitivity","velocityDepth","gestureProgressMode","disablePointerEventsTillElementTransition","maskSizingMode","usesTransformMask","boundsAccessor","link","getLink","source","bounds","destination","sourceBorderRadius","initialGesture","active","gesture","direction","isHorizontalDismiss","isVerticalDismiss","rawDrag","Math","abs","raw","normX","normY","dragX","x","width","dragY","y","height","dragXScale","dragYScale","dragScale","initialDestinationTarget","closing","initialDestination","undefined","contentRaw","compute","scaleMode","method","target","maskRaw","space","maskBorderRadius","maskBorderCurve","maskSizeMultiplier","maskWidth","max","maskHeight","contentBaseScale","scale","safeContentBaseScale","contentScale","dismissing","contentTargetBounds","sourceContentScale","sourceWidth","sourceHeight","destinationWidth","destinationHeight","releaseScale","targetScale","velocity","contentTranslateX","translateX","contentTranslateY","translateY","liveHorizontalDismissDrag","liveVerticalDismissDrag","dismissProgressDrag","maskHeightCollapseDrag","maskAspectBounds","initialSource","minMaskHeight","targetWidth","targetHeight","renderedMaskHeight","maskCenterX","maskCenterY","maskCenteringOffsetX","maskCenteringOffsetY","verticalCollapseOffsetY","contentCenterX","contentCenterY","compensatedMaskTranslateX","compensatedMaskTranslateY","compensatedMaskScale","maskBaseWidth","maskBaseHeight","maskScaleX","maskScaleY","transformMaskTranslateX","transformMaskTranslateY","maskElementStyle","settled","borderCurve","transform","scaleX","scaleY","elementOffsetX","pageX","elementOffsetY","pageY","elementTX","elementY","gestureSensitivity","gestureReleaseVelocityScale","options","navigationMaskEnabled","content","style","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","opacity","entering","id","position","zIndex","unfocusedScale","unfocusedContentScale","logicallySettled","trackingContentTarget","trackingContentBaseTransform","sourceBounds","destinationBounds","trackingContentScale","trackingTargetScale","trackingContentTranslateX","trackingContentTranslateY","trackedSourceElement","parentScale","screenWidth","screenHeight","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/navigation/reveal/build.ts"],"mappings":"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","ignoreList":[]}