react-native-screen-transitions 3.9.0-beta.2 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +19 -14
  2. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +14 -7
  4. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +1 -0
  6. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
  7. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +32 -2
  8. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js +4 -3
  10. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js +3 -2
  12. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +4 -3
  14. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +2 -3
  16. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +1 -0
  18. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js +1 -3
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  21. package/lib/commonjs/shared/components/boundary/portal/teleport.js +2 -1
  22. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +4 -1
  24. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +16 -3
  26. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  27. package/lib/commonjs/shared/configs/index.js +2 -1
  28. package/lib/commonjs/shared/configs/index.js.map +1 -1
  29. package/lib/commonjs/shared/configs/specs.js +23 -1
  30. package/lib/commonjs/shared/configs/specs.js.map +1 -1
  31. package/lib/commonjs/shared/constants.js +4 -0
  32. package/lib/commonjs/shared/constants.js.map +1 -1
  33. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  34. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  36. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  37. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  38. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  39. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  40. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  41. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +25 -3
  42. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  44. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  46. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  48. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  50. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js +2 -0
  52. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +11 -0
  54. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  55. package/lib/commonjs/shared/stores/gesture.store.js +8 -0
  56. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  57. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +24 -7
  58. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  59. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +5 -2
  60. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  61. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +184 -314
  62. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  63. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +13 -18
  64. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  65. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js +196 -0
  66. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  67. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +97 -108
  68. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  69. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js +73 -0
  70. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  71. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js +90 -0
  72. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  73. package/lib/module/shared/components/boundary/components/boundary-target.js +20 -15
  74. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  75. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +14 -7
  76. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  77. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +2 -1
  78. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
  79. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +32 -2
  80. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  81. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js +5 -4
  82. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  83. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +3 -2
  84. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  85. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +5 -4
  86. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  87. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +3 -4
  88. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -1
  89. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +1 -0
  90. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  91. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js +1 -3
  92. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  93. package/lib/module/shared/components/boundary/portal/teleport.js +1 -0
  94. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  95. package/lib/module/shared/components/boundary/portal/utils/ownership.js +4 -1
  96. package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -1
  97. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +17 -4
  98. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  99. package/lib/module/shared/configs/index.js +3 -2
  100. package/lib/module/shared/configs/index.js.map +1 -1
  101. package/lib/module/shared/configs/specs.js +22 -0
  102. package/lib/module/shared/configs/specs.js.map +1 -1
  103. package/lib/module/shared/constants.js +4 -0
  104. package/lib/module/shared/constants.js.map +1 -1
  105. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  106. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  107. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  108. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  109. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  110. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  111. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  112. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  113. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +23 -2
  114. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  115. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  116. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  117. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  118. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  119. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  120. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  121. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  122. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  123. package/lib/module/shared/providers/screen/gestures/shared/values.js +2 -0
  124. package/lib/module/shared/providers/screen/gestures/shared/values.js.map +1 -1
  125. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +11 -0
  126. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  127. package/lib/module/shared/stores/gesture.store.js +8 -0
  128. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  129. package/lib/module/shared/types/bounds.types.js +26 -0
  130. package/lib/module/shared/types/bounds.types.js.map +1 -1
  131. package/lib/module/shared/utils/animation/animate-to-progress.js +24 -7
  132. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  133. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +5 -2
  134. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  135. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +188 -318
  136. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  137. package/lib/module/shared/utils/bounds/navigation/zoom/config.js +12 -17
  138. package/lib/module/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  139. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js +184 -0
  140. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  141. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +94 -102
  142. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  143. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js +68 -0
  144. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  145. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js +84 -0
  146. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  147. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +3 -1
  148. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  149. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  150. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +1 -1
  151. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  152. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts +1 -3
  153. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -1
  154. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  155. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  156. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +2 -3
  157. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +1 -1
  158. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  159. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts +2 -3
  160. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
  161. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -0
  162. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  163. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -1
  164. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +1 -0
  165. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  166. package/lib/typescript/shared/configs/index.d.ts +16 -0
  167. package/lib/typescript/shared/configs/index.d.ts.map +1 -1
  168. package/lib/typescript/shared/configs/specs.d.ts +19 -0
  169. package/lib/typescript/shared/configs/specs.d.ts.map +1 -1
  170. package/lib/typescript/shared/constants.d.ts.map +1 -1
  171. package/lib/typescript/shared/index.d.ts +17 -1
  172. package/lib/typescript/shared/index.d.ts.map +1 -1
  173. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  174. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +2 -0
  175. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  176. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +2 -1
  177. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  178. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
  179. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +2 -0
  180. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  181. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  182. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  183. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  184. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  185. package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts.map +1 -1
  186. package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts.map +1 -1
  187. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +4 -0
  188. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  189. package/lib/typescript/shared/stores/gesture.store.d.ts +4 -0
  190. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  191. package/lib/typescript/shared/types/bounds.types.d.ts +115 -88
  192. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  193. package/lib/typescript/shared/types/gesture.types.d.ts +10 -0
  194. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  195. package/lib/typescript/shared/types/index.d.ts +1 -1
  196. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  197. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  198. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts +3 -1
  199. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  200. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts +1 -1
  201. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  202. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts +7 -17
  203. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts.map +1 -1
  204. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts +55 -0
  205. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts.map +1 -0
  206. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +33 -34
  207. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  208. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts +27 -0
  209. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts.map +1 -0
  210. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts +22 -0
  211. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts.map +1 -0
  212. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts +1 -1
  213. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
  214. package/package.json +2 -2
  215. package/src/shared/components/boundary/components/boundary-target.tsx +37 -26
  216. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +16 -13
  217. package/src/shared/components/boundary/portal/components/boundary-content-portal/components/host.tsx +6 -2
  218. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +46 -3
  219. package/src/shared/components/boundary/portal/components/boundary-content-portal/index.tsx +8 -5
  220. package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +3 -2
  221. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +5 -4
  222. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +4 -5
  223. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +5 -1
  224. package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +1 -4
  225. package/src/shared/components/boundary/portal/teleport.ts +1 -0
  226. package/src/shared/components/boundary/portal/utils/ownership.ts +5 -1
  227. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +23 -3
  228. package/src/shared/configs/index.ts +2 -1
  229. package/src/shared/configs/specs.ts +23 -0
  230. package/src/shared/constants.ts +4 -0
  231. package/src/shared/index.ts +2 -0
  232. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +8 -0
  233. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +16 -7
  234. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +18 -1
  235. package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +1 -0
  236. package/src/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +40 -2
  237. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +7 -11
  238. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +12 -15
  239. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +6 -1
  240. package/src/shared/providers/screen/gestures/shared/snapshot.ts +2 -0
  241. package/src/shared/providers/screen/gestures/shared/values.ts +2 -0
  242. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +14 -1
  243. package/src/shared/stores/gesture.store.ts +12 -0
  244. package/src/shared/types/bounds.types.ts +119 -90
  245. package/src/shared/types/gesture.types.ts +10 -0
  246. package/src/shared/types/index.ts +2 -0
  247. package/src/shared/utils/animation/animate-to-progress.ts +23 -7
  248. package/src/shared/utils/bounds/navigation/reveal/math.ts +6 -1
  249. package/src/shared/utils/bounds/navigation/zoom/build.ts +231 -411
  250. package/src/shared/utils/bounds/navigation/zoom/config.ts +16 -18
  251. package/src/shared/utils/bounds/navigation/zoom/drag.ts +327 -0
  252. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +127 -184
  253. package/src/shared/utils/bounds/navigation/zoom/mask.ts +133 -0
  254. package/src/shared/utils/bounds/navigation/zoom/targets.ts +132 -0
  255. package/src/shared/utils/bounds/navigation/zoom/types.ts +1 -1
  256. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js +0 -25
  257. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  258. package/lib/module/shared/utils/bounds/navigation/zoom/math.js +0 -20
  259. package/lib/module/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  260. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts +0 -8
  261. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts.map +0 -1
  262. package/src/shared/utils/bounds/navigation/zoom/math.ts +0 -25
@@ -1,373 +1,243 @@
1
1
  "use strict";
2
2
 
3
3
  import { interpolate } from "react-native-reanimated";
4
- import { EPSILON, NAVIGATION_MASK_ELEMENT_STYLE_ID, VISIBLE_STYLE } from "../../../../constants";
4
+ import { EPSILON, NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
5
5
  import { createBoundsAccessorCore } from "../../helpers/create-bounds-accessor-core";
6
- import { getSourceBorderRadius, toNumber } from "../helpers";
7
- import { combineScales, composeCompensatedTranslation, computeCenterScaleShift, resolveDirectionalDragScale, resolveOpacityRangeTuple } from "../math";
8
- import { resolveDismissScaleHandoff, resolveRevealGestureHandoff } from "../reveal/math";
9
- import { ZOOM_DISMISS_SCALE_ORBIT_DEPTH, ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE, ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE, ZOOM_MASK_OUTSET, ZOOM_SHARED_OPTIONS, ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE, ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE } from "./config";
10
- import { getZoomContentTarget, interpolateOpacityRange, resolveBackgroundScale, resolveDragScaleTuple, resolveDragTranslationTuple, resolveZoomPanGestureDirection } from "./helpers";
11
- import { resolveDirectionalDragTranslation } from "./math";
12
- const IDENTITY_DRAG_SCALE_OUTPUT = [1, 1];
13
- function resolveZoomGestureOptions({
14
- rawDrag,
15
- maxSensitivity
16
- }) {
17
- "worklet";
18
-
19
- const {
20
- gestureSensitivity,
21
- gestureReleaseVelocityScale
22
- } = resolveRevealGestureHandoff({
23
- rawDrag,
24
- maxSensitivity
25
- });
26
- return {
27
- gestureSensitivity,
28
- gestureReleaseVelocityScale
29
- };
30
- }
31
-
32
- /* -------------------------------------------------------------------------- */
33
- /* BUILD ZOOM STYLES */
34
- /* -------------------------------------------------------------------------- */
35
-
6
+ import { getSourceBorderRadius } from "../helpers";
7
+ import { resolveRevealContentBaseTransform } from "../reveal/math";
8
+ import { ZOOM_BACKDROP_MAX_OPACITY, ZOOM_BACKGROUND_SCALE, ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE, ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE, ZOOM_SCREEN_A_FADE_END, ZOOM_SHARED_OPTIONS, ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE, ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE } from "./config";
9
+ import { resolveZoomDragState, resolveZoomTrackedGestureScale } from "./drag";
10
+ import { resolveZoomBackdropOpacity, resolveZoomPinchFocalOffset, resolveZoomTrackedSourceTransform } from "./helpers";
11
+ import { resolveZoomNavigationMaskStyle, ZOOM_NAVIGATION_MASK_BORDER_RADIUS } from "./mask";
12
+ import { getZoomContentAnchor, getZoomContentTarget, resolveZoomTrackingContentTarget } from "./targets";
36
13
  export function buildZoomStyles({
37
14
  tag,
38
- zoomOptions,
39
- props
15
+ props,
16
+ zoomOptions
40
17
  }) {
41
18
  "worklet";
42
19
 
43
20
  if (!tag) {
44
21
  return {};
45
22
  }
46
-
47
- /* ------------------------------ Shared Setup ------------------------------ */
48
-
49
23
  const target = zoomOptions?.target;
24
+ const keepFocusedVisible = zoomOptions?.keepFocusedVisible === true;
25
+ const expandedBorderRadius = Math.max(0, zoomOptions?.borderRadius ?? ZOOM_NAVIGATION_MASK_BORDER_RADIUS);
26
+ const backgroundScale = zoomOptions?.backgroundScale ?? ZOOM_BACKGROUND_SCALE;
27
+ const backdropColor = zoomOptions?.backdropColor ?? "black";
28
+ const maxBackdropOpacity = zoomOptions?.backdropOpacity ?? ZOOM_BACKDROP_MAX_OPACITY;
50
29
  const {
30
+ active,
31
+ current,
51
32
  focused,
33
+ transitionProgress,
52
34
  layouts: {
53
35
  screen: screenLayout
54
36
  }
55
37
  } = props;
56
- const transitionProgress = props.current.transitionProgress + (props.next?.transitionProgress ?? 0);
57
- const activeTransitionProgress = props.active.transitionProgress;
58
- const zoomAnchor = target === "bound" ? "center" : ZOOM_SHARED_OPTIONS.anchor;
38
+ const activeTransitionProgress = active.transitionProgress;
59
39
  const bounds = createBoundsAccessorCore({
60
40
  getProps: () => props
61
41
  });
62
42
  const scopedBounds = bounds(tag);
63
43
  const link = scopedBounds.link();
64
- if (!link) return {};
65
- const baseRawOptions = {
66
- scaleMode: ZOOM_SHARED_OPTIONS.scaleMode
67
- };
68
- const buildEffectiveTag = link.id;
69
- const sourceBorderRadius = getSourceBorderRadius(link);
70
- const targetBorderRadius = zoomOptions?.borderRadius ?? sourceBorderRadius;
71
- const focusedElementOpacity = {
72
- open: resolveOpacityRangeTuple({
73
- value: zoomOptions?.focusedElementOpacity?.open,
74
- fallback: ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE
75
- }),
76
- close: resolveOpacityRangeTuple({
77
- value: zoomOptions?.focusedElementOpacity?.close,
78
- fallback: ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE
79
- })
80
- };
81
- const unfocusedElementOpacity = {
82
- open: resolveOpacityRangeTuple({
83
- value: zoomOptions?.unfocusedElementOpacity?.open,
84
- fallback: ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE
85
- }),
86
- close: resolveOpacityRangeTuple({
87
- value: zoomOptions?.unfocusedElementOpacity?.close,
88
- fallback: ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE
89
- })
90
- };
91
- const sourceVisibilityStyle = {
92
- [buildEffectiveTag]: {
93
- style: VISIBLE_STYLE
44
+ const sourceBounds = link?.source?.bounds;
45
+ if (!link || !sourceBounds) {
46
+ if (target !== "bound") {
47
+ scopedBounds.values({
48
+ scaleMode: ZOOM_SHARED_OPTIONS.scaleMode,
49
+ anchor: ZOOM_SHARED_OPTIONS.anchor,
50
+ method: "content",
51
+ target: target ?? "fullscreen",
52
+ progress: transitionProgress
53
+ });
94
54
  }
95
- };
96
- const navigationMaskEnabled = props.current.options.navigationMaskEnabled;
97
- const maxSensitivity = zoomOptions?.maxSensitivity ?? 0.8;
98
- const velocityDepth = zoomOptions?.velocityDepth ?? ZOOM_DISMISS_SCALE_ORBIT_DEPTH;
99
-
100
- /* --------------------------- Gesture / Drag Values ------------------------- */
101
-
102
- const liveGesture = props.active.gesture;
103
- const gestureHandoff = liveGesture.handoff;
104
- const normX = gestureHandoff.normX;
105
- const normY = gestureHandoff.normY;
106
- const initialGesture = resolveZoomPanGestureDirection({
107
- active: gestureHandoff.active,
108
- direction: gestureHandoff.direction,
109
- normX,
110
- normY,
111
- rawNormX: gestureHandoff.raw.normX,
112
- rawNormY: gestureHandoff.raw.normY
55
+ return {};
56
+ }
57
+ const zoomContentTarget = getZoomContentTarget({
58
+ explicitTarget: target,
59
+ screenLayout,
60
+ link
113
61
  });
114
- const isHorizontalDismiss = initialGesture === "horizontal" || initialGesture === "horizontal-inverted";
115
- const isVerticalDismiss = initialGesture === "vertical" || initialGesture === "vertical-inverted";
116
- const rawDrag = isHorizontalDismiss ? Math.abs(gestureHandoff.raw.normX) : isVerticalDismiss ? Math.abs(gestureHandoff.raw.normY) : 0;
117
- const horizontalDragTranslation = resolveDragTranslationTuple(zoomOptions?.horizontalDragTranslation);
118
- const verticalDragTranslation = resolveDragTranslationTuple(zoomOptions?.verticalDragTranslation);
119
- const dragX = resolveDirectionalDragTranslation({
120
- translation: liveGesture.x,
121
- dimension: screenLayout.width,
122
- negativeMax: horizontalDragTranslation.negativeMax,
123
- positiveMax: horizontalDragTranslation.positiveMax,
124
- exponent: horizontalDragTranslation.exponent
62
+ const zoomContentAnchor = getZoomContentAnchor({
63
+ explicitTarget: target,
64
+ screenLayout,
65
+ link
125
66
  });
126
- const dragY = resolveDirectionalDragTranslation({
127
- translation: liveGesture.y,
128
- dimension: screenLayout.height,
129
- negativeMax: verticalDragTranslation.negativeMax,
130
- positiveMax: verticalDragTranslation.positiveMax,
131
- exponent: verticalDragTranslation.exponent
67
+ const trackingContentTarget = resolveZoomTrackingContentTarget({
68
+ contentTarget: zoomContentTarget,
69
+ link,
70
+ screenLayout
132
71
  });
133
- const horizontalDragScale = resolveDragScaleTuple(zoomOptions?.horizontalDragScale);
134
- const verticalDragScale = resolveDragScaleTuple(zoomOptions?.verticalDragScale);
135
- const backgroundScale = resolveBackgroundScale(zoomOptions?.backgroundScale);
136
- const dragXScale = isHorizontalDismiss ? resolveDirectionalDragScale({
137
- normalized: normX,
138
- dismissDirection: initialGesture === "horizontal-inverted" ? "negative" : "positive",
139
- shrinkMin: horizontalDragScale.shrinkMin,
140
- growMax: horizontalDragScale.growMax,
141
- exponent: horizontalDragScale.exponent
142
- }) : IDENTITY_DRAG_SCALE_OUTPUT[0];
143
- const dragYScale = isVerticalDismiss ? resolveDirectionalDragScale({
144
- normalized: normY,
145
- dismissDirection: initialGesture === "vertical-inverted" ? "negative" : "positive",
146
- shrinkMin: verticalDragScale.shrinkMin,
147
- growMax: verticalDragScale.growMax,
148
- exponent: verticalDragScale.exponent
149
- }) : IDENTITY_DRAG_SCALE_OUTPUT[1];
150
- const dragScale = combineScales(dragXScale, dragYScale);
151
- const handoffDragScale = props.active.gesture.dismissing ? resolveDismissScaleHandoff({
152
- progress: activeTransitionProgress,
153
- releaseScale: dragScale,
154
- targetScale: 1,
155
- velocity: gestureHandoff.velocity,
156
- velocityDepth
157
- }) : dragScale;
158
- const zoomGestureOptions = resolveZoomGestureOptions({
159
- rawDrag,
160
- maxSensitivity
72
+ if (!trackingContentTarget) {
73
+ return {};
74
+ }
75
+ const drag = resolveZoomDragState({
76
+ gesture: active.gesture,
77
+ activeTransitionProgress,
78
+ screenLayout,
79
+ sourceBounds,
80
+ trackingContentTarget,
81
+ dragOptions: zoomOptions?.drag
161
82
  });
162
-
163
- /* ----------------------------- Focused Screen ----------------------------- */
164
-
83
+ const trackedGestureScale = resolveZoomTrackedGestureScale({
84
+ drag,
85
+ activeTransitionProgress,
86
+ screenLayout,
87
+ sourceBounds,
88
+ trackingContentTarget
89
+ });
90
+ const focalGesture = drag.isDismissing ? active.gesture.handoff : active.gesture;
91
+ const focalProgress = drag.isDismissing ? activeTransitionProgress : 1;
92
+ const pinchFocalOffset = active.gesture.handoff.active === "pinch-in" ? resolveZoomPinchFocalOffset({
93
+ gestureScale: drag.isDismissing ? focalGesture.scale : trackedGestureScale,
94
+ pinchOriginX: focalGesture.pinchOriginX,
95
+ pinchOriginY: focalGesture.pinchOriginY,
96
+ progress: focalProgress,
97
+ rotation: drag.isDismissing ? focalGesture.rotation : drag.rotation,
98
+ screenLayout
99
+ }) : {
100
+ x: 0,
101
+ y: 0
102
+ };
165
103
  if (focused) {
166
- const focusedContentTarget = getZoomContentTarget({
167
- explicitTarget: target,
168
- screenLayout,
169
- anchor: ZOOM_SHARED_OPTIONS.anchor,
170
- link
104
+ const sourceBorderRadius = getSourceBorderRadius(link);
105
+ const navigationMaskEnabled = current.options.navigationMaskEnabled;
106
+ const backdropOpacity = resolveZoomBackdropOpacity({
107
+ transitionProgress,
108
+ dismissalDrag: drag.dismissNorm,
109
+ fadeEnd: ZOOM_SCREEN_A_FADE_END,
110
+ maxOpacity: maxBackdropOpacity
171
111
  });
172
112
  const contentRaw = scopedBounds.values({
173
- ...baseRawOptions,
174
- anchor: zoomAnchor,
113
+ scaleMode: ZOOM_SHARED_OPTIONS.scaleMode,
114
+ anchor: zoomContentAnchor,
175
115
  method: "content",
176
- target: focusedContentTarget,
116
+ target: zoomContentTarget,
177
117
  progress: transitionProgress
178
118
  });
179
- const maskRaw = scopedBounds.values({
180
- ...baseRawOptions,
181
- anchor: ZOOM_SHARED_OPTIONS.anchor,
182
- method: "size",
183
- space: "absolute",
184
- target: "fullscreen",
185
- progress: transitionProgress
186
- });
187
- const focusedFade = props.active?.closing ? interpolateOpacityRange({
188
- progress: transitionProgress,
189
- range: focusedElementOpacity.close
190
- }) : interpolateOpacityRange({
191
- progress: transitionProgress,
192
- range: focusedElementOpacity.open
193
- });
194
-
195
- /**
196
- * This is also how swiftui handles their navigation zoom.
197
- * They remove clipping as soon as the screen stops animating
198
- */
199
- const shouldRemoveClipping = !props.active.animating;
200
- const focusedMaskBorderRadius = interpolate(transitionProgress, [0, 1], [sourceBorderRadius, shouldRemoveClipping ? 0 : targetBorderRadius], "clamp");
201
- const {
202
- top,
203
- right,
204
- bottom,
205
- left
206
- } = ZOOM_MASK_OUTSET;
207
- const maskWidth = Math.max(1, toNumber(maskRaw.width) + left + right);
208
- const maskHeight = Math.max(1, toNumber(maskRaw.height) + top + bottom);
209
- const contentBaseTranslateX = toNumber(contentRaw.translateX);
210
- const contentBaseTranslateY = toNumber(contentRaw.translateY);
211
- const contentBaseScale = toNumber(contentRaw.scale, 1);
212
- const safeContentBaseScale = Math.abs(contentBaseScale) > EPSILON ? contentBaseScale : 1;
213
- const contentTranslateX = contentBaseTranslateX + dragX;
214
- const contentTranslateY = contentBaseTranslateY + dragY;
215
- const contentScale = contentBaseScale * handoffDragScale;
216
- const maskBaseTranslateX = toNumber(maskRaw.translateX) - left;
217
- const maskBaseTranslateY = toNumber(maskRaw.translateY) - top;
218
- const maskCenterX = maskWidth / 2;
219
- const maskCenterY = maskHeight / 2;
220
- const contentCenterX = screenLayout.width / 2;
221
- const contentCenterY = screenLayout.height / 2;
222
- const compensatedMaskTranslateX = (maskBaseTranslateX - contentBaseTranslateX + (1 - contentBaseScale) * (maskCenterX - contentCenterX)) / safeContentBaseScale;
223
- const compensatedMaskTranslateY = (maskBaseTranslateY - contentBaseTranslateY + (1 - contentBaseScale) * (maskCenterY - contentCenterY)) / safeContentBaseScale;
224
- const compensatedMaskScale = 1 / safeContentBaseScale;
225
- const focusedContentStyle = {
226
- opacity: zoomOptions?.debug ? 0.5 : focusedFade,
227
- transform: [{
228
- translateX: contentTranslateX
229
- }, {
230
- translateY: contentTranslateY
231
- }, {
232
- scale: contentScale
233
- }],
234
- ...(navigationMaskEnabled ? {} : {
235
- borderRadius: focusedMaskBorderRadius,
236
- overflow: "hidden"
237
- })
238
- };
239
- const focusedStyles = {
240
- content: {
241
- style: focusedContentStyle
119
+ const focusedOpacityRange = active.closing ? ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE : ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE;
120
+ const focusedFade = interpolate(transitionProgress, [focusedOpacityRange[0], focusedOpacityRange[1]], [focusedOpacityRange[2], focusedOpacityRange[3]], "clamp");
121
+ const contentBaseTranslateX = contentRaw.translateX;
122
+ const contentBaseTranslateY = contentRaw.translateY;
123
+ const contentBaseScale = contentRaw.scale;
124
+ const contentTranslateX = contentBaseTranslateX + drag.dragX + pinchFocalOffset.x * contentBaseScale;
125
+ const contentTranslateY = contentBaseTranslateY + drag.dragY + pinchFocalOffset.y * contentBaseScale;
126
+ const contentScale = drag.isDismissing ? drag.dismissContentScale : contentBaseScale * drag.gestureScale;
127
+ return {
128
+ options: {
129
+ gestureReleaseVelocityScale: 0.5
242
130
  },
243
- ...sourceVisibilityStyle
244
- };
245
- if (navigationMaskEnabled) {
246
- focusedStyles[NAVIGATION_MASK_ELEMENT_STYLE_ID] = {
131
+ backdrop: {
247
132
  style: {
248
- width: maskWidth,
249
- height: maskHeight,
250
- borderRadius: focusedMaskBorderRadius,
133
+ backgroundColor: backdropColor,
134
+ opacity: backdropOpacity
135
+ }
136
+ },
137
+ content: {
138
+ style: {
139
+ ...(keepFocusedVisible ? {} : {
140
+ opacity: focusedFade
141
+ }),
251
142
  transform: [{
252
- translateX: compensatedMaskTranslateX
143
+ translateX: contentTranslateX
144
+ }, {
145
+ translateY: contentTranslateY
253
146
  }, {
254
- translateY: compensatedMaskTranslateY
147
+ scale: contentScale
255
148
  }, {
256
- scale: compensatedMaskScale
257
- }]
149
+ rotateZ: `${drag.rotation}rad`
150
+ }],
151
+ borderRadius: interpolate(transitionProgress, [0, 1], [sourceBorderRadius, active.animating ? expandedBorderRadius : 0], "clamp"),
152
+ overflow: "hidden"
258
153
  }
259
- };
154
+ },
155
+ [NAVIGATION_MASK_ELEMENT_STYLE_ID]: navigationMaskEnabled ? resolveZoomNavigationMaskStyle({
156
+ scopedBounds,
157
+ link,
158
+ sourceBounds,
159
+ screenLayout,
160
+ transitionProgress,
161
+ drag,
162
+ contentTransform: contentRaw,
163
+ sourceBorderRadius,
164
+ expandedBorderRadius,
165
+ active,
166
+ anchor: zoomContentAnchor
167
+ }) : {}
168
+ };
169
+ }
170
+ const unfocusedOpacityRange = active.closing ? ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE : ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE;
171
+ const unfocusedFade = interpolate(transitionProgress, [unfocusedOpacityRange[0], unfocusedOpacityRange[1]], [unfocusedOpacityRange[2], unfocusedOpacityRange[3]], "clamp");
172
+ const unfocusedScale = interpolate(transitionProgress, [1, 2], [1, backgroundScale], "clamp");
173
+ const shouldHideSource = !active.closing && unfocusedFade <= EPSILON;
174
+ const unfocusedContentScale = active.settled ? 1 : unfocusedScale;
175
+ const unfocusedContent = {
176
+ style: {
177
+ transform: [{
178
+ scale: unfocusedContentScale
179
+ }]
260
180
  }
181
+ };
182
+
183
+ // To avoid measuring a component from a bad position,
184
+ // we'll want to hide + reset this component when the animation has reached a visual settling point
185
+ if (shouldHideSource || active.settled) {
261
186
  return {
262
- options: zoomGestureOptions,
263
- ...focusedStyles
187
+ content: unfocusedContent,
188
+ [link.id]: {
189
+ style: {
190
+ transform: [{
191
+ translateX: 0
192
+ }, {
193
+ translateY: 0
194
+ }, {
195
+ scaleX: 1
196
+ }, {
197
+ scaleY: 1
198
+ }],
199
+ opacity: shouldHideSource ? 0 : unfocusedFade
200
+ }
201
+ }
264
202
  };
265
203
  }
266
-
267
- /* ---------------------------- Unfocused Screen ---------------------------- */
268
-
269
- const unfocusedFade = props.active?.closing ? interpolateOpacityRange({
270
- progress: transitionProgress,
271
- range: unfocusedElementOpacity.close
272
- }) : interpolateOpacityRange({
273
- progress: transitionProgress,
274
- range: unfocusedElementOpacity.open
275
- });
276
- const unfocusedScale = interpolate(transitionProgress, [1, 2], [1, backgroundScale], "clamp");
277
- const didSourceComponentVisiblyHide = !props.active.closing && unfocusedFade <= EPSILON;
278
- const shouldHideUnfocusedElement = !props.active.closing && didSourceComponentVisiblyHide;
279
- const unfocusedElementTarget = getZoomContentTarget({
280
- explicitTarget: target,
204
+ const trackedContentBaseScale = resolveRevealContentBaseTransform({
205
+ progress: activeTransitionProgress,
206
+ sourceBounds,
207
+ destinationBounds: trackingContentTarget,
208
+ screenLayout
209
+ }).scale;
210
+ const trackedDragX = drag.dragX + pinchFocalOffset.x * trackedContentBaseScale;
211
+ const trackedDragY = drag.dragY + pinchFocalOffset.y * trackedContentBaseScale;
212
+ const trackedSourceElement = resolveZoomTrackedSourceTransform({
213
+ progress: activeTransitionProgress,
214
+ sourceBounds,
215
+ destinationBounds: trackingContentTarget,
281
216
  screenLayout,
282
- anchor: ZOOM_SHARED_OPTIONS.anchor,
283
- link
284
- });
285
- const elementRaw = scopedBounds.values({
286
- ...baseRawOptions,
287
- anchor: zoomAnchor,
288
- method: "transform",
289
- space: "relative",
290
- target: unfocusedElementTarget,
291
- progress: transitionProgress
292
- });
293
- const boundTargetCenterX = target === "bound" && link.destination?.bounds ? link.destination.bounds.pageX + link.destination.bounds.width / 2 : undefined;
294
- const boundTargetCenterY = target === "bound" && link.destination?.bounds ? link.destination.bounds.pageY + link.destination.bounds.height / 2 : undefined;
295
- const elementCenterX = boundTargetCenterX ?? (typeof unfocusedElementTarget === "object" ? unfocusedElementTarget.pageX + unfocusedElementTarget.width / 2 : screenLayout.width / 2);
296
- const elementCenterY = boundTargetCenterY ?? (typeof unfocusedElementTarget === "object" ? unfocusedElementTarget.pageY + unfocusedElementTarget.height / 2 : screenLayout.height / 2);
297
- const unfocusedContentScale = props.active.settled ? 1 : unfocusedScale;
298
- const shouldTrackGestureTranslation = !props.active.settled;
299
- const shouldTrackGestureScale = !props.active.settled;
300
- const elementGestureScale = shouldTrackGestureScale ? handoffDragScale : 1;
301
- const elementGestureX = shouldTrackGestureTranslation ? dragX : 0;
302
- const elementGestureY = shouldTrackGestureTranslation ? dragY : 0;
303
- const safeUnfocusedContentScale = Math.max(Math.abs(unfocusedContentScale), EPSILON);
304
- // A naturally settled close can leave this as the last emitted style frame,
305
- // so drop temporary stacking here instead of waiting for a later reset pass.
306
- const shouldElevateUnfocusedElement = !props.active.closing || !props.active.settled;
307
- const scaleShiftX = computeCenterScaleShift({
308
- center: elementCenterX,
309
- containerCenter: screenLayout.width / 2,
310
- scale: elementGestureScale
311
- });
312
- const scaleShiftY = computeCenterScaleShift({
313
- center: elementCenterY,
314
- containerCenter: screenLayout.height / 2,
315
- scale: elementGestureScale
316
- });
317
- const compensatedGestureX = composeCompensatedTranslation({
318
- gesture: elementGestureX,
319
- parentScale: unfocusedContentScale,
320
- centerShift: scaleShiftX,
321
- epsilon: EPSILON
322
- });
323
- const compensatedGestureY = composeCompensatedTranslation({
324
- gesture: elementGestureY,
217
+ dragX: trackedDragX,
218
+ dragY: trackedDragY,
219
+ gestureScale: trackedGestureScale,
325
220
  parentScale: unfocusedContentScale,
326
- centerShift: scaleShiftY,
327
- epsilon: EPSILON
221
+ rotation: drag.rotation,
222
+ anchor: zoomContentAnchor
328
223
  });
329
- const elementTranslateX = toNumber(elementRaw.translateX) + compensatedGestureX;
330
- const elementTranslateY = toNumber(elementRaw.translateY) + compensatedGestureY;
331
- const elementScaleX = toNumber(elementRaw.scaleX, 1) * elementGestureScale / safeUnfocusedContentScale;
332
- const elementScaleY = toNumber(elementRaw.scaleY, 1) * elementGestureScale / safeUnfocusedContentScale;
333
- const resolvedElementStyle = shouldHideUnfocusedElement ? {
334
- transform: [{
335
- translateX: 0
336
- }, {
337
- translateY: 0
338
- }, {
339
- scaleX: 1
340
- }, {
341
- scaleY: 1
342
- }],
343
- opacity: zoomOptions?.debug ? 1 : 0,
344
- zIndex: 0,
345
- elevation: 0
346
- } : {
347
- transform: [{
348
- translateX: elementTranslateX
349
- }, {
350
- translateY: elementTranslateY
351
- }, {
352
- scaleX: elementScaleX
353
- }, {
354
- scaleY: elementScaleY
355
- }],
356
- opacity: zoomOptions?.debug ? 1 : unfocusedFade,
357
- zIndex: shouldElevateUnfocusedElement ? 9999 : 0,
358
- elevation: shouldElevateUnfocusedElement ? 9999 : 0
359
- };
360
224
  return {
361
- options: zoomGestureOptions,
362
- content: {
225
+ content: unfocusedContent,
226
+ [link.id]: {
363
227
  style: {
364
228
  transform: [{
365
- scale: unfocusedContentScale
366
- }]
229
+ translateX: trackedSourceElement.translateX
230
+ }, {
231
+ translateY: trackedSourceElement.translateY
232
+ }, {
233
+ rotateZ: `${drag.rotation}rad`
234
+ }, {
235
+ scaleX: trackedSourceElement.scaleX
236
+ }, {
237
+ scaleY: trackedSourceElement.scaleY
238
+ }],
239
+ opacity: unfocusedFade
367
240
  }
368
- },
369
- [buildEffectiveTag]: {
370
- style: resolvedElementStyle
371
241
  }
372
242
  };
373
243
  }
@@ -1 +1 @@
1
- {"version":3,"names":["interpolate","EPSILON","NAVIGATION_MASK_ELEMENT_STYLE_ID","VISIBLE_STYLE","createBoundsAccessorCore","getSourceBorderRadius","toNumber","combineScales","composeCompensatedTranslation","computeCenterScaleShift","resolveDirectionalDragScale","resolveOpacityRangeTuple","resolveDismissScaleHandoff","resolveRevealGestureHandoff","ZOOM_DISMISS_SCALE_ORBIT_DEPTH","ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE","ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE","ZOOM_MASK_OUTSET","ZOOM_SHARED_OPTIONS","ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE","ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE","getZoomContentTarget","interpolateOpacityRange","resolveBackgroundScale","resolveDragScaleTuple","resolveDragTranslationTuple","resolveZoomPanGestureDirection","resolveDirectionalDragTranslation","IDENTITY_DRAG_SCALE_OUTPUT","resolveZoomGestureOptions","rawDrag","maxSensitivity","gestureSensitivity","gestureReleaseVelocityScale","buildZoomStyles","tag","zoomOptions","props","target","focused","layouts","screen","screenLayout","transitionProgress","current","next","activeTransitionProgress","active","zoomAnchor","anchor","bounds","getProps","scopedBounds","link","baseRawOptions","scaleMode","buildEffectiveTag","id","sourceBorderRadius","targetBorderRadius","borderRadius","focusedElementOpacity","open","value","fallback","close","unfocusedElementOpacity","sourceVisibilityStyle","style","navigationMaskEnabled","options","velocityDepth","liveGesture","gesture","gestureHandoff","handoff","normX","normY","initialGesture","direction","rawNormX","raw","rawNormY","isHorizontalDismiss","isVerticalDismiss","Math","abs","horizontalDragTranslation","verticalDragTranslation","dragX","translation","x","dimension","width","negativeMax","positiveMax","exponent","dragY","y","height","horizontalDragScale","verticalDragScale","backgroundScale","dragXScale","normalized","dismissDirection","shrinkMin","growMax","dragYScale","dragScale","handoffDragScale","dismissing","progress","releaseScale","targetScale","velocity","zoomGestureOptions","focusedContentTarget","explicitTarget","contentRaw","values","method","maskRaw","space","focusedFade","closing","range","shouldRemoveClipping","animating","focusedMaskBorderRadius","top","right","bottom","left","maskWidth","max","maskHeight","contentBaseTranslateX","translateX","contentBaseTranslateY","translateY","contentBaseScale","scale","safeContentBaseScale","contentTranslateX","contentTranslateY","contentScale","maskBaseTranslateX","maskBaseTranslateY","maskCenterX","maskCenterY","contentCenterX","contentCenterY","compensatedMaskTranslateX","compensatedMaskTranslateY","compensatedMaskScale","focusedContentStyle","opacity","debug","transform","overflow","focusedStyles","content","unfocusedFade","unfocusedScale","didSourceComponentVisiblyHide","shouldHideUnfocusedElement","unfocusedElementTarget","elementRaw","boundTargetCenterX","destination","pageX","undefined","boundTargetCenterY","pageY","elementCenterX","elementCenterY","unfocusedContentScale","settled","shouldTrackGestureTranslation","shouldTrackGestureScale","elementGestureScale","elementGestureX","elementGestureY","safeUnfocusedContentScale","shouldElevateUnfocusedElement","scaleShiftX","center","containerCenter","scaleShiftY","compensatedGestureX","parentScale","centerShift","epsilon","compensatedGestureY","elementTranslateX","elementTranslateY","elementScaleX","scaleX","elementScaleY","scaleY","resolvedElementStyle","zIndex","elevation"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/navigation/zoom/build.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,yBAAyB;AACrD,SACCC,OAAO,EACPC,gCAAgC,EAChCC,aAAa,QACP,uBAAuB;AAE9B,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,qBAAqB,EAAEC,QAAQ,QAAQ,YAAY;AAC5D,SACCC,aAAa,EACbC,6BAA6B,EAC7BC,uBAAuB,EACvBC,2BAA2B,EAC3BC,wBAAwB,QAClB,SAAS;AAChB,SACCC,0BAA0B,EAC1BC,2BAA2B,QACrB,gBAAgB;AACvB,SACCC,8BAA8B,EAC9BC,wCAAwC,EACxCC,uCAAuC,EACvCC,gBAAgB,EAChBC,mBAAmB,EACnBC,0CAA0C,EAC1CC,yCAAyC,QACnC,UAAU;AACjB,SACCC,oBAAoB,EACpBC,uBAAuB,EACvBC,sBAAsB,EACtBC,qBAAqB,EACrBC,2BAA2B,EAC3BC,8BAA8B,QACxB,WAAW;AAClB,SAASC,iCAAiC,QAAQ,QAAQ;AAG1D,MAAMC,0BAA0B,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU;AAElD,SAASC,yBAAyBA,CAAC;EAClCC,OAAO;EACPC;AAID,CAAC,EAAE;EACF,SAAS;;EAET,MAAM;IAAEC,kBAAkB;IAAEC;EAA4B,CAAC,GACxDpB,2BAA2B,CAAC;IAC3BiB,OAAO;IACPC;EACD,CAAC,CAAC;EAEH,OAAO;IACNC,kBAAkB;IAClBC;EACD,CAAC;AACF;;AAEA;AACA;AACA;;AAEA,OAAO,SAASC,eAAeA,CAAC;EAC/BC,GAAG;EACHC,WAAW;EACXC;AACsB,CAAC,EAAyB;EAChD,SAAS;;EAET,IAAI,CAACF,GAAG,EAAE;IACT,OAAO,CAAC,CAAC;EACV;;EAEA;;EAEA,MAAMG,MAAM,GAAGF,WAAW,EAAEE,MAAM;EAClC,MAAM;IACLC,OAAO;IACPC,OAAO,EAAE;MAAEC,MAAM,EAAEC;IAAa;EACjC,CAAC,GAAGL,KAAK;EACT,MAAMM,kBAAkB,GACvBN,KAAK,CAACO,OAAO,CAACD,kBAAkB,IAAIN,KAAK,CAACQ,IAAI,EAAEF,kBAAkB,IAAI,CAAC,CAAC;EACzE,MAAMG,wBAAwB,GAAGT,KAAK,CAACU,MAAM,CAACJ,kBAAkB;EAEhE,MAAMK,UAAU,GAAGV,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAGpB,mBAAmB,CAAC+B,MAAM;EAE7E,MAAMC,MAAM,GAAG9C,wBAAwB,CAAC;IACvC+C,QAAQ,EAAEA,CAAA,KAAMd;EACjB,CAAC,CAAC;EACF,MAAMe,YAAY,GAAGF,MAAM,CAACf,GAAG,CAAC;EAChC,MAAMkB,IAAI,GAAGD,YAAY,CAACC,IAAI,CAAC,CAAC;EAEhC,IAAI,CAACA,IAAI,EAAE,OAAO,CAAC,CAAC;EAEpB,MAAMC,cAAc,GAAG;IACtBC,SAAS,EAAErC,mBAAmB,CAACqC;EAChC,CAAU;EAEV,MAAMC,iBAAiB,GAAGH,IAAI,CAACI,EAAE;EACjC,MAAMC,kBAAkB,GAAGrD,qBAAqB,CAACgD,IAAI,CAAC;EACtD,MAAMM,kBAAkB,GAAGvB,WAAW,EAAEwB,YAAY,IAAIF,kBAAkB;EAC1E,MAAMG,qBAAqB,GAAG;IAC7BC,IAAI,EAAEnD,wBAAwB,CAAC;MAC9BoD,KAAK,EAAE3B,WAAW,EAAEyB,qBAAqB,EAAEC,IAAI;MAC/CE,QAAQ,EAAEhD;IACX,CAAC,CAAC;IACFiD,KAAK,EAAEtD,wBAAwB,CAAC;MAC/BoD,KAAK,EAAE3B,WAAW,EAAEyB,qBAAqB,EAAEI,KAAK;MAChDD,QAAQ,EAAEjD;IACX,CAAC;EACF,CAAC;EACD,MAAMmD,uBAAuB,GAAG;IAC/BJ,IAAI,EAAEnD,wBAAwB,CAAC;MAC9BoD,KAAK,EAAE3B,WAAW,EAAE8B,uBAAuB,EAAEJ,IAAI;MACjDE,QAAQ,EAAE5C;IACX,CAAC,CAAC;IACF6C,KAAK,EAAEtD,wBAAwB,CAAC;MAC/BoD,KAAK,EAAE3B,WAAW,EAAE8B,uBAAuB,EAAED,KAAK;MAClDD,QAAQ,EAAE7C;IACX,CAAC;EACF,CAAC;EACD,MAAMgD,qBAAqB,GAAG;IAC7B,CAACX,iBAAiB,GAAG;MACpBY,KAAK,EAAEjE;IACR;EACD,CAAuC;EACvC,MAAMkE,qBAAqB,GAAGhC,KAAK,CAACO,OAAO,CAAC0B,OAAO,CAACD,qBAAqB;EACzE,MAAMtC,cAAc,GAAGK,WAAW,EAAEL,cAAc,IAAI,GAAG;EACzD,MAAMwC,aAAa,GAClBnC,WAAW,EAAEmC,aAAa,IAAIzD,8BAA8B;;EAE7D;;EAEA,MAAM0D,WAAW,GAAGnC,KAAK,CAACU,MAAM,CAAC0B,OAAO;EACxC,MAAMC,cAAc,GAAGF,WAAW,CAACG,OAAO;EAC1C,MAAMC,KAAK,GAAGF,cAAc,CAACE,KAAK;EAClC,MAAMC,KAAK,GAAGH,cAAc,CAACG,KAAK;EAClC,MAAMC,cAAc,GAAGpD,8BAA8B,CAAC;IACrDqB,MAAM,EAAE2B,cAAc,CAAC3B,MAAM;IAC7BgC,SAAS,EAAEL,cAAc,CAACK,SAAS;IACnCH,KAAK;IACLC,KAAK;IACLG,QAAQ,EAAEN,cAAc,CAACO,GAAG,CAACL,KAAK;IAClCM,QAAQ,EAAER,cAAc,CAACO,GAAG,CAACJ;EAC9B,CAAC,CAAC;EACF,MAAMM,mBAAmB,GACxBL,cAAc,KAAK,YAAY,IAAIA,cAAc,KAAK,qBAAqB;EAC5E,MAAMM,iBAAiB,GACtBN,cAAc,KAAK,UAAU,IAAIA,cAAc,KAAK,mBAAmB;EACxE,MAAMhD,OAAO,GAAGqD,mBAAmB,GAChCE,IAAI,CAACC,GAAG,CAACZ,cAAc,CAACO,GAAG,CAACL,KAAK,CAAC,GAClCQ,iBAAiB,GAChBC,IAAI,CAACC,GAAG,CAACZ,cAAc,CAACO,GAAG,CAACJ,KAAK,CAAC,GAClC,CAAC;EAEL,MAAMU,yBAAyB,GAAG9D,2BAA2B,CAC5DW,WAAW,EAAEmD,yBACd,CAAC;EACD,MAAMC,uBAAuB,GAAG/D,2BAA2B,CAC1DW,WAAW,EAAEoD,uBACd,CAAC;EACD,MAAMC,KAAK,GAAG9D,iCAAiC,CAAC;IAC/C+D,WAAW,EAAElB,WAAW,CAACmB,CAAC;IAC1BC,SAAS,EAAElD,YAAY,CAACmD,KAAK;IAC7BC,WAAW,EAAEP,yBAAyB,CAACO,WAAW;IAClDC,WAAW,EAAER,yBAAyB,CAACQ,WAAW;IAClDC,QAAQ,EAAET,yBAAyB,CAACS;EACrC,CAAC,CAAC;EACF,MAAMC,KAAK,GAAGtE,iCAAiC,CAAC;IAC/C+D,WAAW,EAAElB,WAAW,CAAC0B,CAAC;IAC1BN,SAAS,EAAElD,YAAY,CAACyD,MAAM;IAC9BL,WAAW,EAAEN,uBAAuB,CAACM,WAAW;IAChDC,WAAW,EAAEP,uBAAuB,CAACO,WAAW;IAChDC,QAAQ,EAAER,uBAAuB,CAACQ;EACnC,CAAC,CAAC;EACF,MAAMI,mBAAmB,GAAG5E,qBAAqB,CAChDY,WAAW,EAAEgE,mBACd,CAAC;EACD,MAAMC,iBAAiB,GAAG7E,qBAAqB,CAC9CY,WAAW,EAAEiE,iBACd,CAAC;EACD,MAAMC,eAAe,GAAG/E,sBAAsB,CAACa,WAAW,EAAEkE,eAAe,CAAC;EAE5E,MAAMC,UAAU,GAAGpB,mBAAmB,GACnCzE,2BAA2B,CAAC;IAC5B8F,UAAU,EAAE5B,KAAK;IACjB6B,gBAAgB,EACf3B,cAAc,KAAK,qBAAqB,GAAG,UAAU,GAAG,UAAU;IACnE4B,SAAS,EAAEN,mBAAmB,CAACM,SAAS;IACxCC,OAAO,EAAEP,mBAAmB,CAACO,OAAO;IACpCX,QAAQ,EAAEI,mBAAmB,CAACJ;EAC/B,CAAC,CAAC,GACDpE,0BAA0B,CAAC,CAAC,CAAC;EAChC,MAAMgF,UAAU,GAAGxB,iBAAiB,GACjC1E,2BAA2B,CAAC;IAC5B8F,UAAU,EAAE3B,KAAK;IACjB4B,gBAAgB,EACf3B,cAAc,KAAK,mBAAmB,GAAG,UAAU,GAAG,UAAU;IACjE4B,SAAS,EAAEL,iBAAiB,CAACK,SAAS;IACtCC,OAAO,EAAEN,iBAAiB,CAACM,OAAO;IAClCX,QAAQ,EAAEK,iBAAiB,CAACL;EAC7B,CAAC,CAAC,GACDpE,0BAA0B,CAAC,CAAC,CAAC;EAChC,MAAMiF,SAAS,GAAGtG,aAAa,CAACgG,UAAU,EAAEK,UAAU,CAAC;EACvD,MAAME,gBAAgB,GAAGzE,KAAK,CAACU,MAAM,CAAC0B,OAAO,CAACsC,UAAU,GACrDnG,0BAA0B,CAAC;IAC3BoG,QAAQ,EAAElE,wBAAwB;IAClCmE,YAAY,EAAEJ,SAAS;IACvBK,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAEzC,cAAc,CAACyC,QAAQ;IACjC5C;EACD,CAAC,CAAC,GACDsC,SAAS;EACZ,MAAMO,kBAAkB,GAAGvF,yBAAyB,CAAC;IACpDC,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;;EAEA,IAAIQ,OAAO,EAAE;IACZ,MAAM8E,oBAAoB,GAAGhG,oBAAoB,CAAC;MACjDiG,cAAc,EAAEhF,MAAM;MACtBI,YAAY;MACZO,MAAM,EAAE/B,mBAAmB,CAAC+B,MAAM;MAClCI;IACD,CAAC,CAAC;IAEF,MAAMkE,UAAU,GAAGnE,YAAY,CAACoE,MAAM,CAAC;MACtC,GAAGlE,cAAc;MACjBL,MAAM,EAAED,UAAU;MAClByE,MAAM,EAAE,SAAS;MACjBnF,MAAM,EAAE+E,oBAAoB;MAC5BL,QAAQ,EAAErE;IACX,CAAC,CAAC;IAEF,MAAM+E,OAAO,GAAGtE,YAAY,CAACoE,MAAM,CAAC;MACnC,GAAGlE,cAAc;MACjBL,MAAM,EAAE/B,mBAAmB,CAAC+B,MAAM;MAClCwE,MAAM,EAAE,MAAM;MACdE,KAAK,EAAE,UAAU;MACjBrF,MAAM,EAAE,YAAY;MACpB0E,QAAQ,EAAErE;IACX,CAAC,CAAC;IAEF,MAAMiF,WAAW,GAAGvF,KAAK,CAACU,MAAM,EAAE8E,OAAO,GACtCvG,uBAAuB,CAAC;MACxB0F,QAAQ,EAAErE,kBAAkB;MAC5BmF,KAAK,EAAEjE,qBAAqB,CAACI;IAC9B,CAAC,CAAC,GACD3C,uBAAuB,CAAC;MACxB0F,QAAQ,EAAErE,kBAAkB;MAC5BmF,KAAK,EAAEjE,qBAAqB,CAACC;IAC9B,CAAC,CAAC;;IAEJ;AACF;AACA;AACA;IACE,MAAMiE,oBAAoB,GAAG,CAAC1F,KAAK,CAACU,MAAM,CAACiF,SAAS;IACpD,MAAMC,uBAAuB,GAAGjI,WAAW,CAC1C2C,kBAAkB,EAClB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAACe,kBAAkB,EAAEqE,oBAAoB,GAAG,CAAC,GAAGpE,kBAAkB,CAAC,EACnE,OACD,CAAC;IAED,MAAM;MAAEuE,GAAG;MAAEC,KAAK;MAAEC,MAAM;MAAEC;IAAK,CAAC,GAAGpH,gBAAgB;IACrD,MAAMqH,SAAS,GAAGjD,IAAI,CAACkD,GAAG,CAAC,CAAC,EAAEjI,QAAQ,CAACoH,OAAO,CAAC7B,KAAK,CAAC,GAAGwC,IAAI,GAAGF,KAAK,CAAC;IACrE,MAAMK,UAAU,GAAGnD,IAAI,CAACkD,GAAG,CAAC,CAAC,EAAEjI,QAAQ,CAACoH,OAAO,CAACvB,MAAM,CAAC,GAAG+B,GAAG,GAAGE,MAAM,CAAC;IAEvE,MAAMK,qBAAqB,GAAGnI,QAAQ,CAACiH,UAAU,CAACmB,UAAU,CAAC;IAC7D,MAAMC,qBAAqB,GAAGrI,QAAQ,CAACiH,UAAU,CAACqB,UAAU,CAAC;IAC7D,MAAMC,gBAAgB,GAAGvI,QAAQ,CAACiH,UAAU,CAACuB,KAAK,EAAE,CAAC,CAAC;IACtD,MAAMC,oBAAoB,GACzB1D,IAAI,CAACC,GAAG,CAACuD,gBAAgB,CAAC,GAAG5I,OAAO,GAAG4I,gBAAgB,GAAG,CAAC;IAC5D,MAAMG,iBAAiB,GAAGP,qBAAqB,GAAGhD,KAAK;IACvD,MAAMwD,iBAAiB,GAAGN,qBAAqB,GAAG1C,KAAK;IACvD,MAAMiD,YAAY,GAAGL,gBAAgB,GAAG/B,gBAAgB;IAExD,MAAMqC,kBAAkB,GAAG7I,QAAQ,CAACoH,OAAO,CAACgB,UAAU,CAAC,GAAGL,IAAI;IAC9D,MAAMe,kBAAkB,GAAG9I,QAAQ,CAACoH,OAAO,CAACkB,UAAU,CAAC,GAAGV,GAAG;IAC7D,MAAMmB,WAAW,GAAGf,SAAS,GAAG,CAAC;IACjC,MAAMgB,WAAW,GAAGd,UAAU,GAAG,CAAC;IAClC,MAAMe,cAAc,GAAG7G,YAAY,CAACmD,KAAK,GAAG,CAAC;IAC7C,MAAM2D,cAAc,GAAG9G,YAAY,CAACyD,MAAM,GAAG,CAAC;IAC9C,MAAMsD,yBAAyB,GAC9B,CAACN,kBAAkB,GAClBV,qBAAqB,GACrB,CAAC,CAAC,GAAGI,gBAAgB,KAAKQ,WAAW,GAAGE,cAAc,CAAC,IACxDR,oBAAoB;IACrB,MAAMW,yBAAyB,GAC9B,CAACN,kBAAkB,GAClBT,qBAAqB,GACrB,CAAC,CAAC,GAAGE,gBAAgB,KAAKS,WAAW,GAAGE,cAAc,CAAC,IACxDT,oBAAoB;IACrB,MAAMY,oBAAoB,GAAG,CAAC,GAAGZ,oBAAoB;IAErD,MAAMa,mBAAmB,GAAG;MAC3BC,OAAO,EAAEzH,WAAW,EAAE0H,KAAK,GAAG,GAAG,GAAGlC,WAAW;MAC/CmC,SAAS,EAAE,CACV;QAAErB,UAAU,EAAEM;MAAkB,CAAC,EACjC;QAAEJ,UAAU,EAAEK;MAAkB,CAAC,EACjC;QAAEH,KAAK,EAAEI;MAAa,CAAC,CACvB;MACD,IAAI7E,qBAAqB,GACtB,CAAC,CAAC,GACF;QACAT,YAAY,EAAEqE,uBAAuB;QACrC+B,QAAQ,EAAE;MACX,CAAC;IACJ,CAAC;IAED,MAAMC,aAAoC,GAAG;MAC5CC,OAAO,EAAE;QACR9F,KAAK,EAAEwF;MACR,CAAC;MACD,GAAGzF;IACJ,CAAC;IAED,IAAIE,qBAAqB,EAAE;MAC1B4F,aAAa,CAAC/J,gCAAgC,CAAC,GAAG;QACjDkE,KAAK,EAAE;UACNyB,KAAK,EAAEyC,SAAS;UAChBnC,MAAM,EAAEqC,UAAU;UAClB5E,YAAY,EAAEqE,uBAAuB;UACrC8B,SAAS,EAAE,CACV;YAAErB,UAAU,EAAEe;UAA0B,CAAC,EACzC;YAAEb,UAAU,EAAEc;UAA0B,CAAC,EACzC;YAAEZ,KAAK,EAAEa;UAAqB,CAAC;QAEjC;MACD,CAAC;IACF;IAEA,OAAO;MACNrF,OAAO,EAAE8C,kBAAkB;MAC3B,GAAG6C;IACJ,CAAC;EACF;;EAEA;;EAEA,MAAME,aAAa,GAAG9H,KAAK,CAACU,MAAM,EAAE8E,OAAO,GACxCvG,uBAAuB,CAAC;IACxB0F,QAAQ,EAAErE,kBAAkB;IAC5BmF,KAAK,EAAE5D,uBAAuB,CAACD;EAChC,CAAC,CAAC,GACD3C,uBAAuB,CAAC;IACxB0F,QAAQ,EAAErE,kBAAkB;IAC5BmF,KAAK,EAAE5D,uBAAuB,CAACJ;EAChC,CAAC,CAAC;EACJ,MAAMsG,cAAc,GAAGpK,WAAW,CACjC2C,kBAAkB,EAClB,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC,CAAC,EAAE2D,eAAe,CAAC,EACpB,OACD,CAAC;EACD,MAAM+D,6BAA6B,GAClC,CAAChI,KAAK,CAACU,MAAM,CAAC8E,OAAO,IAAIsC,aAAa,IAAIlK,OAAO;EAElD,MAAMqK,0BAA0B,GAC/B,CAACjI,KAAK,CAACU,MAAM,CAAC8E,OAAO,IAAIwC,6BAA6B;EAEvD,MAAME,sBAAsB,GAAGlJ,oBAAoB,CAAC;IACnDiG,cAAc,EAAEhF,MAAM;IACtBI,YAAY;IACZO,MAAM,EAAE/B,mBAAmB,CAAC+B,MAAM;IAClCI;EACD,CAAC,CAAC;EAEF,MAAMmH,UAAU,GAAGpH,YAAY,CAACoE,MAAM,CAAC;IACtC,GAAGlE,cAAc;IACjBL,MAAM,EAAED,UAAU;IAClByE,MAAM,EAAE,WAAW;IACnBE,KAAK,EAAE,UAAU;IACjBrF,MAAM,EAAEiI,sBAAsB;IAC9BvD,QAAQ,EAAErE;EACX,CAAC,CAAC;EAEF,MAAM8H,kBAAkB,GACvBnI,MAAM,KAAK,OAAO,IAAIe,IAAI,CAACqH,WAAW,EAAExH,MAAM,GAC3CG,IAAI,CAACqH,WAAW,CAACxH,MAAM,CAACyH,KAAK,GAAGtH,IAAI,CAACqH,WAAW,CAACxH,MAAM,CAAC2C,KAAK,GAAG,CAAC,GACjE+E,SAAS;EACb,MAAMC,kBAAkB,GACvBvI,MAAM,KAAK,OAAO,IAAIe,IAAI,CAACqH,WAAW,EAAExH,MAAM,GAC3CG,IAAI,CAACqH,WAAW,CAACxH,MAAM,CAAC4H,KAAK,GAAGzH,IAAI,CAACqH,WAAW,CAACxH,MAAM,CAACiD,MAAM,GAAG,CAAC,GAClEyE,SAAS;EAEb,MAAMG,cAAc,GACnBN,kBAAkB,KACjB,OAAOF,sBAAsB,KAAK,QAAQ,GACxCA,sBAAsB,CAACI,KAAK,GAAGJ,sBAAsB,CAAC1E,KAAK,GAAG,CAAC,GAC/DnD,YAAY,CAACmD,KAAK,GAAG,CAAC,CAAC;EAC3B,MAAMmF,cAAc,GACnBH,kBAAkB,KACjB,OAAON,sBAAsB,KAAK,QAAQ,GACxCA,sBAAsB,CAACO,KAAK,GAAGP,sBAAsB,CAACpE,MAAM,GAAG,CAAC,GAChEzD,YAAY,CAACyD,MAAM,GAAG,CAAC,CAAC;EAE5B,MAAM8E,qBAAqB,GAAG5I,KAAK,CAACU,MAAM,CAACmI,OAAO,GAAG,CAAC,GAAGd,cAAc;EACvE,MAAMe,6BAA6B,GAAG,CAAC9I,KAAK,CAACU,MAAM,CAACmI,OAAO;EAC3D,MAAME,uBAAuB,GAAG,CAAC/I,KAAK,CAACU,MAAM,CAACmI,OAAO;EACrD,MAAMG,mBAAmB,GAAGD,uBAAuB,GAAGtE,gBAAgB,GAAG,CAAC;EAC1E,MAAMwE,eAAe,GAAGH,6BAA6B,GAAG1F,KAAK,GAAG,CAAC;EACjE,MAAM8F,eAAe,GAAGJ,6BAA6B,GAAGlF,KAAK,GAAG,CAAC;EACjE,MAAMuF,yBAAyB,GAAGnG,IAAI,CAACkD,GAAG,CACzClD,IAAI,CAACC,GAAG,CAAC2F,qBAAqB,CAAC,EAC/BhL,OACD,CAAC;EACD;EACA;EACA,MAAMwL,6BAA6B,GAClC,CAACpJ,KAAK,CAACU,MAAM,CAAC8E,OAAO,IAAI,CAACxF,KAAK,CAACU,MAAM,CAACmI,OAAO;EAE/C,MAAMQ,WAAW,GAAGjL,uBAAuB,CAAC;IAC3CkL,MAAM,EAAEZ,cAAc;IACtBa,eAAe,EAAElJ,YAAY,CAACmD,KAAK,GAAG,CAAC;IACvCiD,KAAK,EAAEuC;EACR,CAAC,CAAC;EACF,MAAMQ,WAAW,GAAGpL,uBAAuB,CAAC;IAC3CkL,MAAM,EAAEX,cAAc;IACtBY,eAAe,EAAElJ,YAAY,CAACyD,MAAM,GAAG,CAAC;IACxC2C,KAAK,EAAEuC;EACR,CAAC,CAAC;EAEF,MAAMS,mBAAmB,GAAGtL,6BAA6B,CAAC;IACzDiE,OAAO,EAAE6G,eAAe;IACxBS,WAAW,EAAEd,qBAAqB;IAClCe,WAAW,EAAEN,WAAW;IACxBO,OAAO,EAAEhM;EACV,CAAC,CAAC;EACF,MAAMiM,mBAAmB,GAAG1L,6BAA6B,CAAC;IACzDiE,OAAO,EAAE8G,eAAe;IACxBQ,WAAW,EAAEd,qBAAqB;IAClCe,WAAW,EAAEH,WAAW;IACxBI,OAAO,EAAEhM;EACV,CAAC,CAAC;EAEF,MAAMkM,iBAAiB,GACtB7L,QAAQ,CAACkK,UAAU,CAAC9B,UAAU,CAAC,GAAGoD,mBAAmB;EACtD,MAAMM,iBAAiB,GACtB9L,QAAQ,CAACkK,UAAU,CAAC5B,UAAU,CAAC,GAAGsD,mBAAmB;EACtD,MAAMG,aAAa,GACjB/L,QAAQ,CAACkK,UAAU,CAAC8B,MAAM,EAAE,CAAC,CAAC,GAAGjB,mBAAmB,GACrDG,yBAAyB;EAC1B,MAAMe,aAAa,GACjBjM,QAAQ,CAACkK,UAAU,CAACgC,MAAM,EAAE,CAAC,CAAC,GAAGnB,mBAAmB,GACrDG,yBAAyB;EAE1B,MAAMiB,oBAAoB,GAAGnC,0BAA0B,GACpD;IACAP,SAAS,EAAE,CACV;MAAErB,UAAU,EAAE;IAAE,CAAC,EACjB;MAAEE,UAAU,EAAE;IAAE,CAAC,EACjB;MAAE0D,MAAM,EAAE;IAAE,CAAC,EACb;MAAEE,MAAM,EAAE;IAAE,CAAC,CACb;IACD3C,OAAO,EAAEzH,WAAW,EAAE0H,KAAK,GAAG,CAAC,GAAG,CAAC;IACnC4C,MAAM,EAAE,CAAC;IACTC,SAAS,EAAE;EACZ,CAAC,GACA;IACA5C,SAAS,EAAE,CACV;MACCrB,UAAU,EAAEyD;IACb,CAAC,EACD;MACCvD,UAAU,EAAEwD;IACb,CAAC,EACD;MACCE,MAAM,EAAED;IACT,CAAC,EACD;MACCG,MAAM,EAAED;IACT,CAAC,CACD;IACD1C,OAAO,EAAEzH,WAAW,EAAE0H,KAAK,GAAG,CAAC,GAAGK,aAAa;IAC/CuC,MAAM,EAAEjB,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAChDkB,SAAS,EAAElB,6BAA6B,GAAG,IAAI,GAAG;EACnD,CAAC;EAEH,OAAO;IACNnH,OAAO,EAAE8C,kBAAkB;IAC3B8C,OAAO,EAAE;MACR9F,KAAK,EAAE;QACN2F,SAAS,EAAE,CAAC;UAAEjB,KAAK,EAAEmC;QAAsB,CAAC;MAC7C;IACD,CAAC;IACD,CAACzH,iBAAiB,GAAG;MACpBY,KAAK,EAAEqI;IACR;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["interpolate","EPSILON","NAVIGATION_MASK_ELEMENT_STYLE_ID","createBoundsAccessorCore","getSourceBorderRadius","resolveRevealContentBaseTransform","ZOOM_BACKDROP_MAX_OPACITY","ZOOM_BACKGROUND_SCALE","ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE","ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE","ZOOM_SCREEN_A_FADE_END","ZOOM_SHARED_OPTIONS","ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE","ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE","resolveZoomDragState","resolveZoomTrackedGestureScale","resolveZoomBackdropOpacity","resolveZoomPinchFocalOffset","resolveZoomTrackedSourceTransform","resolveZoomNavigationMaskStyle","ZOOM_NAVIGATION_MASK_BORDER_RADIUS","getZoomContentAnchor","getZoomContentTarget","resolveZoomTrackingContentTarget","buildZoomStyles","tag","props","zoomOptions","target","keepFocusedVisible","expandedBorderRadius","Math","max","borderRadius","backgroundScale","backdropColor","maxBackdropOpacity","backdropOpacity","active","current","focused","transitionProgress","layouts","screen","screenLayout","activeTransitionProgress","bounds","getProps","scopedBounds","link","sourceBounds","source","values","scaleMode","anchor","method","progress","zoomContentTarget","explicitTarget","zoomContentAnchor","trackingContentTarget","contentTarget","drag","gesture","dragOptions","trackedGestureScale","focalGesture","isDismissing","handoff","focalProgress","pinchFocalOffset","gestureScale","scale","pinchOriginX","pinchOriginY","rotation","x","y","sourceBorderRadius","navigationMaskEnabled","options","dismissalDrag","dismissNorm","fadeEnd","maxOpacity","contentRaw","focusedOpacityRange","closing","focusedFade","contentBaseTranslateX","translateX","contentBaseTranslateY","translateY","contentBaseScale","contentTranslateX","dragX","contentTranslateY","dragY","contentScale","dismissContentScale","gestureReleaseVelocityScale","backdrop","style","backgroundColor","opacity","content","transform","rotateZ","animating","overflow","contentTransform","unfocusedOpacityRange","unfocusedFade","unfocusedScale","shouldHideSource","unfocusedContentScale","settled","unfocusedContent","id","scaleX","scaleY","trackedContentBaseScale","destinationBounds","trackedDragX","trackedDragY","trackedSourceElement","parentScale"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/navigation/zoom/build.ts"],"mappings":"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","ignoreList":[]}