react-native-screen-transitions 3.9.0-beta.2 → 3.9.0-beta.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 (241) 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 +2 -1
  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/providers/boundary-root.provider.js +16 -3
  24. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  25. package/lib/commonjs/shared/constants.js +4 -0
  26. package/lib/commonjs/shared/constants.js.map +1 -1
  27. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  28. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  29. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  30. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  31. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  32. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  33. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  34. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  35. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +25 -3
  36. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  37. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  38. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  39. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  40. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  41. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  42. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  44. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js +2 -0
  46. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +11 -0
  48. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  49. package/lib/commonjs/shared/stores/gesture.store.js +8 -0
  50. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  51. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +24 -7
  52. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  53. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +2 -1
  54. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  55. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +177 -314
  56. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  57. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +12 -18
  58. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  59. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js +196 -0
  60. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  61. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +94 -108
  62. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  63. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js +72 -0
  64. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  65. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js +55 -0
  66. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  67. package/lib/module/shared/components/boundary/components/boundary-target.js +20 -15
  68. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  69. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +14 -7
  70. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  71. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +2 -1
  72. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -1
  73. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +32 -2
  74. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  75. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js +5 -4
  76. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  77. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +3 -2
  78. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  79. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +3 -2
  80. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  81. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +3 -4
  82. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -1
  83. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +1 -0
  84. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  85. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js +1 -3
  86. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  87. package/lib/module/shared/components/boundary/portal/teleport.js +1 -0
  88. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  89. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +17 -4
  90. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  91. package/lib/module/shared/constants.js +4 -0
  92. package/lib/module/shared/constants.js.map +1 -1
  93. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  94. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  95. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  96. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  97. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  98. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  99. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  100. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  101. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +23 -2
  102. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  103. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  104. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  105. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  106. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  107. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  108. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  109. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  110. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  111. package/lib/module/shared/providers/screen/gestures/shared/values.js +2 -0
  112. package/lib/module/shared/providers/screen/gestures/shared/values.js.map +1 -1
  113. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +11 -0
  114. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  115. package/lib/module/shared/stores/gesture.store.js +8 -0
  116. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  117. package/lib/module/shared/types/bounds.types.js +26 -0
  118. package/lib/module/shared/types/bounds.types.js.map +1 -1
  119. package/lib/module/shared/utils/animation/animate-to-progress.js +24 -7
  120. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  121. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +2 -1
  122. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  123. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +181 -318
  124. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  125. package/lib/module/shared/utils/bounds/navigation/zoom/config.js +11 -17
  126. package/lib/module/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  127. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js +184 -0
  128. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  129. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +91 -102
  130. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  131. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js +67 -0
  132. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  133. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js +50 -0
  134. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  135. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +3 -1
  136. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  137. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  138. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +1 -1
  139. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  140. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts +1 -3
  141. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -1
  142. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  143. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  144. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +2 -3
  145. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +1 -1
  146. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  147. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts +2 -3
  148. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
  149. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -0
  150. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  151. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +1 -0
  152. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  153. package/lib/typescript/shared/constants.d.ts.map +1 -1
  154. package/lib/typescript/shared/index.d.ts +1 -1
  155. package/lib/typescript/shared/index.d.ts.map +1 -1
  156. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  157. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +2 -0
  158. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  159. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +2 -1
  160. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  161. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
  162. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +2 -0
  163. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  164. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  165. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  166. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  167. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  168. package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts.map +1 -1
  169. package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts.map +1 -1
  170. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +4 -0
  171. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  172. package/lib/typescript/shared/stores/gesture.store.d.ts +4 -0
  173. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  174. package/lib/typescript/shared/types/bounds.types.d.ts +115 -88
  175. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  176. package/lib/typescript/shared/types/gesture.types.d.ts +10 -0
  177. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  178. package/lib/typescript/shared/types/index.d.ts +1 -1
  179. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  180. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  181. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  182. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts +1 -1
  183. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  184. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts +7 -17
  185. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts.map +1 -1
  186. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts +55 -0
  187. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts.map +1 -0
  188. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +31 -34
  189. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  190. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts +25 -0
  191. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts.map +1 -0
  192. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts +16 -0
  193. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts.map +1 -0
  194. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts +1 -1
  195. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
  196. package/package.json +1 -1
  197. package/src/shared/components/boundary/components/boundary-target.tsx +37 -26
  198. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +16 -13
  199. package/src/shared/components/boundary/portal/components/boundary-content-portal/components/host.tsx +6 -2
  200. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +46 -3
  201. package/src/shared/components/boundary/portal/components/boundary-content-portal/index.tsx +8 -5
  202. package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +3 -2
  203. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +3 -2
  204. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +4 -5
  205. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +5 -1
  206. package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +1 -4
  207. package/src/shared/components/boundary/portal/teleport.ts +1 -0
  208. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +23 -3
  209. package/src/shared/constants.ts +4 -0
  210. package/src/shared/index.ts +2 -0
  211. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +8 -0
  212. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +16 -7
  213. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +18 -1
  214. package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +1 -0
  215. package/src/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +40 -2
  216. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +7 -11
  217. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +12 -15
  218. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +6 -1
  219. package/src/shared/providers/screen/gestures/shared/snapshot.ts +2 -0
  220. package/src/shared/providers/screen/gestures/shared/values.ts +2 -0
  221. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +14 -1
  222. package/src/shared/stores/gesture.store.ts +12 -0
  223. package/src/shared/types/bounds.types.ts +119 -90
  224. package/src/shared/types/gesture.types.ts +10 -0
  225. package/src/shared/types/index.ts +2 -0
  226. package/src/shared/utils/animation/animate-to-progress.ts +23 -7
  227. package/src/shared/utils/bounds/navigation/reveal/math.ts +2 -1
  228. package/src/shared/utils/bounds/navigation/zoom/build.ts +223 -411
  229. package/src/shared/utils/bounds/navigation/zoom/config.ts +15 -18
  230. package/src/shared/utils/bounds/navigation/zoom/drag.ts +327 -0
  231. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +122 -184
  232. package/src/shared/utils/bounds/navigation/zoom/mask.ts +130 -0
  233. package/src/shared/utils/bounds/navigation/zoom/targets.ts +74 -0
  234. package/src/shared/utils/bounds/navigation/zoom/types.ts +1 -1
  235. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js +0 -25
  236. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  237. package/lib/module/shared/utils/bounds/navigation/zoom/math.js +0 -20
  238. package/lib/module/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  239. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts +0 -8
  240. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts.map +0 -1
  241. package/src/shared/utils/bounds/navigation/zoom/math.ts +0 -25
@@ -1,373 +1,236 @@
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 { 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 trackingContentTarget = resolveZoomTrackingContentTarget({
63
+ contentTarget: zoomContentTarget,
64
+ link,
65
+ screenLayout
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
+ if (!trackingContentTarget) {
68
+ return {};
69
+ }
70
+ const drag = resolveZoomDragState({
71
+ gesture: active.gesture,
72
+ activeTransitionProgress,
73
+ screenLayout,
74
+ sourceBounds,
75
+ trackingContentTarget,
76
+ dragOptions: zoomOptions?.drag
132
77
  });
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
78
+ const trackedGestureScale = resolveZoomTrackedGestureScale({
79
+ drag,
80
+ activeTransitionProgress,
81
+ screenLayout,
82
+ sourceBounds,
83
+ trackingContentTarget
161
84
  });
162
-
163
- /* ----------------------------- Focused Screen ----------------------------- */
164
-
85
+ const focalGesture = drag.isDismissing ? active.gesture.handoff : active.gesture;
86
+ const focalProgress = drag.isDismissing ? activeTransitionProgress : 1;
87
+ const pinchFocalOffset = active.gesture.handoff.active === "pinch-in" ? resolveZoomPinchFocalOffset({
88
+ gestureScale: drag.isDismissing ? focalGesture.scale : trackedGestureScale,
89
+ pinchOriginX: focalGesture.pinchOriginX,
90
+ pinchOriginY: focalGesture.pinchOriginY,
91
+ progress: focalProgress,
92
+ rotation: drag.isDismissing ? focalGesture.rotation : drag.rotation,
93
+ screenLayout
94
+ }) : {
95
+ x: 0,
96
+ y: 0
97
+ };
165
98
  if (focused) {
166
- const focusedContentTarget = getZoomContentTarget({
167
- explicitTarget: target,
168
- screenLayout,
169
- anchor: ZOOM_SHARED_OPTIONS.anchor,
170
- link
99
+ const sourceBorderRadius = getSourceBorderRadius(link);
100
+ const navigationMaskEnabled = current.options.navigationMaskEnabled;
101
+ const backdropOpacity = resolveZoomBackdropOpacity({
102
+ transitionProgress,
103
+ dismissalDrag: drag.dismissNorm,
104
+ fadeEnd: ZOOM_SCREEN_A_FADE_END,
105
+ maxOpacity: maxBackdropOpacity
171
106
  });
172
107
  const contentRaw = scopedBounds.values({
173
- ...baseRawOptions,
174
- anchor: zoomAnchor,
108
+ scaleMode: ZOOM_SHARED_OPTIONS.scaleMode,
109
+ anchor: target === "bound" ? "center" : ZOOM_SHARED_OPTIONS.anchor,
175
110
  method: "content",
176
- target: focusedContentTarget,
177
- progress: transitionProgress
178
- });
179
- const maskRaw = scopedBounds.values({
180
- ...baseRawOptions,
181
- anchor: ZOOM_SHARED_OPTIONS.anchor,
182
- method: "size",
183
- space: "absolute",
184
- target: "fullscreen",
111
+ target: zoomContentTarget,
185
112
  progress: transitionProgress
186
113
  });
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
114
+ const focusedOpacityRange = active.closing ? ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE : ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE;
115
+ const focusedFade = interpolate(transitionProgress, [focusedOpacityRange[0], focusedOpacityRange[1]], [focusedOpacityRange[2], focusedOpacityRange[3]], "clamp");
116
+ const contentBaseTranslateX = contentRaw.translateX;
117
+ const contentBaseTranslateY = contentRaw.translateY;
118
+ const contentBaseScale = contentRaw.scale;
119
+ const contentTranslateX = contentBaseTranslateX + drag.dragX + pinchFocalOffset.x * contentBaseScale;
120
+ const contentTranslateY = contentBaseTranslateY + drag.dragY + pinchFocalOffset.y * contentBaseScale;
121
+ const contentScale = drag.isDismissing ? drag.dismissContentScale : contentBaseScale * drag.gestureScale;
122
+ return {
123
+ options: {
124
+ gestureReleaseVelocityScale: 0.5
242
125
  },
243
- ...sourceVisibilityStyle
244
- };
245
- if (navigationMaskEnabled) {
246
- focusedStyles[NAVIGATION_MASK_ELEMENT_STYLE_ID] = {
126
+ backdrop: {
127
+ style: {
128
+ backgroundColor: backdropColor,
129
+ opacity: backdropOpacity
130
+ }
131
+ },
132
+ content: {
247
133
  style: {
248
- width: maskWidth,
249
- height: maskHeight,
250
- borderRadius: focusedMaskBorderRadius,
134
+ ...(keepFocusedVisible ? {} : {
135
+ opacity: focusedFade
136
+ }),
251
137
  transform: [{
252
- translateX: compensatedMaskTranslateX
138
+ translateX: contentTranslateX
139
+ }, {
140
+ translateY: contentTranslateY
253
141
  }, {
254
- translateY: compensatedMaskTranslateY
142
+ scale: contentScale
255
143
  }, {
256
- scale: compensatedMaskScale
257
- }]
144
+ rotateZ: `${drag.rotation}rad`
145
+ }],
146
+ borderRadius: interpolate(transitionProgress, [0, 1], [sourceBorderRadius, active.animating ? expandedBorderRadius : 0], "clamp"),
147
+ overflow: "hidden"
258
148
  }
259
- };
149
+ },
150
+ [NAVIGATION_MASK_ELEMENT_STYLE_ID]: navigationMaskEnabled ? resolveZoomNavigationMaskStyle({
151
+ scopedBounds,
152
+ link,
153
+ sourceBounds,
154
+ screenLayout,
155
+ transitionProgress,
156
+ drag,
157
+ contentTransform: contentRaw,
158
+ sourceBorderRadius,
159
+ expandedBorderRadius,
160
+ active
161
+ }) : {}
162
+ };
163
+ }
164
+ const unfocusedOpacityRange = active.closing ? ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE : ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE;
165
+ const unfocusedFade = interpolate(transitionProgress, [unfocusedOpacityRange[0], unfocusedOpacityRange[1]], [unfocusedOpacityRange[2], unfocusedOpacityRange[3]], "clamp");
166
+ const unfocusedScale = interpolate(transitionProgress, [1, 2], [1, backgroundScale], "clamp");
167
+ const shouldHideSource = !active.closing && unfocusedFade <= EPSILON;
168
+ const unfocusedContentScale = active.settled ? 1 : unfocusedScale;
169
+ const unfocusedContent = {
170
+ style: {
171
+ transform: [{
172
+ scale: unfocusedContentScale
173
+ }]
260
174
  }
175
+ };
176
+
177
+ // To avoid measuring a component from a bad position,
178
+ // we'll want to hide + reset this component when the animation has reached a visual settling point
179
+ if (shouldHideSource || active.settled) {
261
180
  return {
262
- options: zoomGestureOptions,
263
- ...focusedStyles
181
+ content: unfocusedContent,
182
+ [link.id]: {
183
+ style: {
184
+ transform: [{
185
+ translateX: 0
186
+ }, {
187
+ translateY: 0
188
+ }, {
189
+ scaleX: 1
190
+ }, {
191
+ scaleY: 1
192
+ }],
193
+ opacity: shouldHideSource ? 0 : unfocusedFade
194
+ }
195
+ }
264
196
  };
265
197
  }
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,
198
+ const trackedContentBaseScale = resolveRevealContentBaseTransform({
199
+ progress: activeTransitionProgress,
200
+ sourceBounds,
201
+ destinationBounds: trackingContentTarget,
202
+ screenLayout
203
+ }).scale;
204
+ const trackedDragX = drag.dragX + pinchFocalOffset.x * trackedContentBaseScale;
205
+ const trackedDragY = drag.dragY + pinchFocalOffset.y * trackedContentBaseScale;
206
+ const trackedSourceElement = resolveZoomTrackedSourceTransform({
207
+ progress: activeTransitionProgress,
208
+ sourceBounds,
209
+ destinationBounds: trackingContentTarget,
281
210
  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,
211
+ dragX: trackedDragX,
212
+ dragY: trackedDragY,
213
+ gestureScale: trackedGestureScale,
325
214
  parentScale: unfocusedContentScale,
326
- centerShift: scaleShiftY,
327
- epsilon: EPSILON
215
+ rotation: drag.rotation
328
216
  });
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
217
  return {
361
- options: zoomGestureOptions,
362
- content: {
218
+ content: unfocusedContent,
219
+ [link.id]: {
363
220
  style: {
364
221
  transform: [{
365
- scale: unfocusedContentScale
366
- }]
222
+ translateX: trackedSourceElement.translateX
223
+ }, {
224
+ translateY: trackedSourceElement.translateY
225
+ }, {
226
+ rotateZ: `${drag.rotation}rad`
227
+ }, {
228
+ scaleX: trackedSourceElement.scaleX
229
+ }, {
230
+ scaleY: trackedSourceElement.scaleY
231
+ }],
232
+ opacity: unfocusedFade
367
233
  }
368
- },
369
- [buildEffectiveTag]: {
370
- style: resolvedElementStyle
371
234
  }
372
235
  };
373
236
  }
@@ -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":"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","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","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","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":[]}
@@ -4,22 +4,16 @@ export const ZOOM_SHARED_OPTIONS = Object.freeze({
4
4
  anchor: "top",
5
5
  scaleMode: "uniform"
6
6
  });
7
- export const ZOOM_DRAG_DIRECTIONAL_SCALE_MIN = 0.25;
8
- export const ZOOM_DRAG_DIRECTIONAL_SCALE_MAX = 1.06;
9
- export const ZOOM_DRAG_DIRECTIONAL_SCALE_EXPONENT = 2;
10
- export const ZOOM_DRAG_TRANSLATION_NEGATIVE_MAX = 1;
11
- export const ZOOM_DRAG_TRANSLATION_POSITIVE_MAX = 1;
12
- export const ZOOM_DRAG_TRANSLATION_EXPONENT = 1;
13
- export const ZOOM_DISMISS_SCALE_ORBIT_DEPTH = 0.5;
7
+ export const ZOOM_DISMISS_VELOCITY_DEPTH = 1.0;
14
8
  export const ZOOM_BACKGROUND_SCALE = 0.9375;
15
- export const ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE = [0, 0.5, 0, 1];
16
- export const ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE = [0.6, 1, 0, 1];
17
- export const ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE = [1, 2, 1, 0];
18
- export const ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE = [1.9, 2, 1, 0];
19
- export const ZOOM_MASK_OUTSET = Object.freeze({
20
- top: 0,
21
- right: 0,
22
- bottom: 0,
23
- left: 0
24
- });
9
+ // Keep the previous screen visible beneath the zoom instead of reaching black.
10
+ export const ZOOM_BACKDROP_MAX_OPACITY = 0.45;
11
+ // Geometry-aligned native frames reach their darkest point around here.
12
+ export const ZOOM_SCREEN_A_FADE_END = 0.54;
13
+ // Open uses a tight owner handoff after red has traveled about one quarter.
14
+ export const ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE = [0, 0.4, 0, 1];
15
+ export const ZOOM_UNFOCUSED_ELEMENT_OPEN_OPACITY_RANGE = [1.27, 1.4, 1, 0];
16
+ // On close, red is prepared behind opaque blue before blue fades away.
17
+ export const ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE = [0.13, 0.7, 0, 1];
18
+ export const ZOOM_UNFOCUSED_ELEMENT_CLOSE_OPACITY_RANGE = [1.7, 2, 1, 0];
25
19
  //# sourceMappingURL=config.js.map