react-native-screen-transitions 4.1.0-beta.0 → 4.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js +40 -8
  2. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js.map +1 -1
  3. package/lib/commonjs/components/boundary/components/boundary-target.js +10 -17
  4. package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
  5. package/lib/commonjs/components/boundary/create-boundary-component.js +13 -16
  6. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  7. package/lib/commonjs/components/boundary/helpers/presentation.js +56 -0
  8. package/lib/commonjs/components/boundary/helpers/presentation.js.map +1 -0
  9. package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js +65 -0
  10. package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
  11. package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js +43 -0
  12. package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
  13. package/lib/commonjs/components/boundary/index.js +2 -3
  14. package/lib/commonjs/components/boundary/index.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/portal-host.js +39 -0
  16. package/lib/commonjs/components/boundary/portal/components/portal-host.js.map +1 -0
  17. package/lib/commonjs/components/boundary/portal/components/portal-overlay.js +170 -0
  18. package/lib/commonjs/components/boundary/portal/components/portal-overlay.js.map +1 -0
  19. package/lib/commonjs/components/boundary/portal/components/portal.js +88 -0
  20. package/lib/commonjs/components/boundary/portal/components/portal.js.map +1 -0
  21. package/lib/commonjs/components/boundary/portal/helpers/offset-style.js.map +1 -0
  22. package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js +35 -0
  23. package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  24. package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js +83 -0
  25. package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
  26. package/lib/commonjs/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  27. package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js +58 -0
  28. package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
  29. package/lib/commonjs/components/boundary/portal/index.js +0 -7
  30. package/lib/commonjs/components/boundary/portal/index.js.map +1 -1
  31. package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
  32. package/lib/commonjs/components/boundary/portal/stores/host-registry.store.js.map +1 -0
  33. package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
  34. package/lib/commonjs/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
  35. package/lib/commonjs/components/boundary/portal/utils/naming.js +8 -1
  36. package/lib/commonjs/components/boundary/portal/utils/naming.js.map +1 -1
  37. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js +7 -27
  38. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  39. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +13 -7
  40. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
  41. package/lib/commonjs/components/screen/container/helpers/layer-component.js +39 -0
  42. package/lib/commonjs/components/screen/container/helpers/layer-component.js.map +1 -0
  43. package/lib/commonjs/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
  44. package/lib/commonjs/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
  45. package/lib/commonjs/components/screen/container/layers/backdrop.js +4 -13
  46. package/lib/commonjs/components/screen/container/layers/backdrop.js.map +1 -1
  47. package/lib/commonjs/components/screen/container/layers/clip.js +117 -0
  48. package/lib/commonjs/components/screen/container/layers/clip.js.map +1 -0
  49. package/lib/commonjs/components/screen/container/layers/content.js +17 -33
  50. package/lib/commonjs/components/screen/container/layers/content.js.map +1 -1
  51. package/lib/commonjs/components/screen/container/layers/surface.js +3 -15
  52. package/lib/commonjs/components/screen/container/layers/surface.js.map +1 -1
  53. package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js +15 -0
  54. package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  55. package/lib/commonjs/constants.js +3 -1
  56. package/lib/commonjs/constants.js.map +1 -1
  57. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +16 -4
  58. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
  59. package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
  60. package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
  61. package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
  62. package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  63. package/lib/commonjs/providers/screen/motion/options/helpers.js +1 -3
  64. package/lib/commonjs/providers/screen/motion/options/helpers.js.map +1 -1
  65. package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js +4 -2
  66. package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
  67. package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js +79 -0
  68. package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
  69. package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js +3 -0
  70. package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
  71. package/lib/commonjs/providers/screen/orchestrator/styles/constants.js +1 -0
  72. package/lib/commonjs/providers/screen/orchestrator/styles/constants.js.map +1 -1
  73. package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
  74. package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
  75. package/lib/commonjs/utils/bounds/navigation/reveal/build.js +28 -61
  76. package/lib/commonjs/utils/bounds/navigation/reveal/build.js.map +1 -1
  77. package/lib/commonjs/utils/bounds/navigation/reveal/config.js +3 -4
  78. package/lib/commonjs/utils/bounds/navigation/reveal/config.js.map +1 -1
  79. package/lib/commonjs/utils/bounds/navigation/reveal/math.js +8 -8
  80. package/lib/commonjs/utils/bounds/navigation/reveal/math.js.map +1 -1
  81. package/lib/commonjs/utils/bounds/navigation/reveal/types.js +3 -1
  82. package/lib/commonjs/utils/bounds/navigation/reveal/types.js.map +1 -1
  83. package/lib/commonjs/utils/bounds/navigation/zoom/build.js +4 -6
  84. package/lib/commonjs/utils/bounds/navigation/zoom/build.js.map +1 -1
  85. package/lib/commonjs/utils/bounds/navigation/zoom/clip.js +64 -0
  86. package/lib/commonjs/utils/bounds/navigation/zoom/clip.js.map +1 -0
  87. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js +1 -1
  88. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js.map +1 -1
  89. package/lib/commonjs/utils/bounds/navigation/zoom/types.js +3 -1
  90. package/lib/commonjs/utils/bounds/navigation/zoom/types.js.map +1 -1
  91. package/lib/module/components/boundary/components/boundary-lifecycle.js +41 -9
  92. package/lib/module/components/boundary/components/boundary-lifecycle.js.map +1 -1
  93. package/lib/module/components/boundary/components/boundary-target.js +10 -17
  94. package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
  95. package/lib/module/components/boundary/create-boundary-component.js +13 -16
  96. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  97. package/lib/module/components/boundary/helpers/presentation.js +50 -0
  98. package/lib/module/components/boundary/helpers/presentation.js.map +1 -0
  99. package/lib/module/components/boundary/hooks/use-boundary-presentation.js +62 -0
  100. package/lib/module/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
  101. package/lib/module/components/boundary/hooks/use-composed-boundary-style.js +39 -0
  102. package/lib/module/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
  103. package/lib/module/components/boundary/index.js +2 -3
  104. package/lib/module/components/boundary/index.js.map +1 -1
  105. package/lib/module/components/boundary/portal/components/portal-host.js +34 -0
  106. package/lib/module/components/boundary/portal/components/portal-host.js.map +1 -0
  107. package/lib/module/components/boundary/portal/components/portal-overlay.js +165 -0
  108. package/lib/module/components/boundary/portal/components/portal-overlay.js.map +1 -0
  109. package/lib/module/components/boundary/portal/components/portal.js +83 -0
  110. package/lib/module/components/boundary/portal/components/portal.js.map +1 -0
  111. package/lib/module/components/boundary/portal/helpers/offset-style.js.map +1 -0
  112. package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js +31 -0
  113. package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  114. package/lib/module/components/boundary/portal/hooks/use-host-measurement.js +78 -0
  115. package/lib/module/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
  116. package/lib/module/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  117. package/lib/module/components/boundary/portal/hooks/use-portal-destination.js +54 -0
  118. package/lib/module/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
  119. package/lib/module/components/boundary/portal/index.js +0 -1
  120. package/lib/module/components/boundary/portal/index.js.map +1 -1
  121. package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
  122. package/lib/module/components/boundary/portal/stores/host-registry.store.js.map +1 -0
  123. package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
  124. package/lib/module/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
  125. package/lib/module/components/boundary/portal/utils/naming.js +6 -0
  126. package/lib/module/components/boundary/portal/utils/naming.js.map +1 -1
  127. package/lib/module/components/boundary/portal/utils/resolve-portal.js +7 -27
  128. package/lib/module/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  129. package/lib/module/components/boundary/providers/boundary-root.provider.js +13 -7
  130. package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
  131. package/lib/module/components/screen/container/helpers/layer-component.js +35 -0
  132. package/lib/module/components/screen/container/helpers/layer-component.js.map +1 -0
  133. package/lib/module/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
  134. package/lib/module/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
  135. package/lib/module/components/screen/container/layers/backdrop.js +5 -13
  136. package/lib/module/components/screen/container/layers/backdrop.js.map +1 -1
  137. package/lib/module/components/screen/container/layers/clip.js +112 -0
  138. package/lib/module/components/screen/container/layers/clip.js.map +1 -0
  139. package/lib/module/components/screen/container/layers/content.js +18 -33
  140. package/lib/module/components/screen/container/layers/content.js.map +1 -1
  141. package/lib/module/components/screen/container/layers/surface.js +4 -15
  142. package/lib/module/components/screen/container/layers/surface.js.map +1 -1
  143. package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js +17 -2
  144. package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  145. package/lib/module/constants.js +3 -1
  146. package/lib/module/constants.js.map +1 -1
  147. package/lib/module/hooks/navigation/use-navigation-helpers.js +16 -4
  148. package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
  149. package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
  150. package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
  151. package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
  152. package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  153. package/lib/module/providers/screen/motion/options/helpers.js +1 -3
  154. package/lib/module/providers/screen/motion/options/helpers.js.map +1 -1
  155. package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js +6 -4
  156. package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
  157. package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js +73 -0
  158. package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
  159. package/lib/module/providers/screen/orchestrator/orchestrator.provider.js +3 -0
  160. package/lib/module/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
  161. package/lib/module/providers/screen/orchestrator/styles/constants.js +1 -0
  162. package/lib/module/providers/screen/orchestrator/styles/constants.js.map +1 -1
  163. package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
  164. package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
  165. package/lib/module/types/animation.types.js +3 -1
  166. package/lib/module/types/animation.types.js.map +1 -1
  167. package/lib/module/utils/bounds/navigation/reveal/build.js +30 -63
  168. package/lib/module/utils/bounds/navigation/reveal/build.js.map +1 -1
  169. package/lib/module/utils/bounds/navigation/reveal/config.js +2 -3
  170. package/lib/module/utils/bounds/navigation/reveal/config.js.map +1 -1
  171. package/lib/module/utils/bounds/navigation/reveal/math.js +7 -7
  172. package/lib/module/utils/bounds/navigation/reveal/math.js.map +1 -1
  173. package/lib/module/utils/bounds/navigation/reveal/types.js +1 -1
  174. package/lib/module/utils/bounds/navigation/reveal/types.js.map +1 -1
  175. package/lib/module/utils/bounds/navigation/zoom/build.js +5 -7
  176. package/lib/module/utils/bounds/navigation/zoom/build.js.map +1 -1
  177. package/lib/module/utils/bounds/navigation/zoom/clip.js +59 -0
  178. package/lib/module/utils/bounds/navigation/zoom/clip.js.map +1 -0
  179. package/lib/module/utils/bounds/navigation/zoom/drag.js +1 -1
  180. package/lib/module/utils/bounds/navigation/zoom/drag.js.map +1 -1
  181. package/lib/module/utils/bounds/navigation/zoom/types.js +1 -1
  182. package/lib/module/utils/bounds/navigation/zoom/types.js.map +1 -1
  183. package/lib/typescript/components/boundary/components/boundary-lifecycle.d.ts.map +1 -1
  184. package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
  185. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  186. package/lib/typescript/components/boundary/helpers/presentation.d.ts +14 -0
  187. package/lib/typescript/components/boundary/helpers/presentation.d.ts.map +1 -0
  188. package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts +9 -0
  189. package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts.map +1 -0
  190. package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts +4 -0
  191. package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts.map +1 -0
  192. package/lib/typescript/components/boundary/index.d.ts +3 -2
  193. package/lib/typescript/components/boundary/index.d.ts.map +1 -1
  194. package/lib/typescript/components/boundary/portal/components/portal-host.d.ts +15 -0
  195. package/lib/typescript/components/boundary/portal/components/portal-host.d.ts.map +1 -0
  196. package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts +20 -0
  197. package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts.map +1 -0
  198. package/lib/typescript/components/boundary/portal/components/portal.d.ts +23 -0
  199. package/lib/typescript/components/boundary/portal/components/portal.d.ts.map +1 -0
  200. package/lib/typescript/components/boundary/portal/helpers/offset-style.d.ts.map +1 -0
  201. package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts +11 -0
  202. package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
  203. package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts +13 -0
  204. package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -0
  205. package/lib/typescript/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +1 -0
  206. package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts +8 -0
  207. package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts.map +1 -0
  208. package/lib/typescript/components/boundary/portal/index.d.ts +0 -1
  209. package/lib/typescript/components/boundary/portal/index.d.ts.map +1 -1
  210. package/lib/typescript/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -0
  211. package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.d.ts +2 -3
  212. package/lib/typescript/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -0
  213. package/lib/typescript/components/boundary/portal/utils/naming.d.ts +1 -0
  214. package/lib/typescript/components/boundary/portal/utils/naming.d.ts.map +1 -1
  215. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts +2 -7
  216. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -1
  217. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +5 -2
  218. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  219. package/lib/typescript/components/screen/container/helpers/layer-component.d.ts +10 -0
  220. package/lib/typescript/components/screen/container/helpers/layer-component.d.ts.map +1 -0
  221. package/lib/typescript/components/screen/container/{layers/render-component.d.ts → helpers/uses-layer-render-props.d.ts} +1 -1
  222. package/lib/typescript/components/screen/container/helpers/uses-layer-render-props.d.ts.map +1 -0
  223. package/lib/typescript/components/screen/container/layers/backdrop.d.ts.map +1 -1
  224. package/lib/typescript/components/screen/container/layers/clip.d.ts +7 -0
  225. package/lib/typescript/components/screen/container/layers/clip.d.ts.map +1 -0
  226. package/lib/typescript/components/screen/container/layers/content.d.ts.map +1 -1
  227. package/lib/typescript/components/screen/container/layers/surface.d.ts.map +1 -1
  228. package/lib/typescript/components/screen/lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
  229. package/lib/typescript/constants.d.ts +3 -1
  230. package/lib/typescript/constants.d.ts.map +1 -1
  231. package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  232. package/lib/typescript/index.d.ts +1 -1
  233. package/lib/typescript/index.d.ts.map +1 -1
  234. package/lib/typescript/providers/screen/motion/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  235. package/lib/typescript/providers/screen/motion/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  236. package/lib/typescript/providers/screen/motion/options/helpers.d.ts.map +1 -1
  237. package/lib/typescript/providers/screen/motion/options/types.d.ts +0 -1
  238. package/lib/typescript/providers/screen/motion/options/types.d.ts.map +1 -1
  239. package/lib/typescript/providers/screen/orchestrator/helpers/use-interpolator-state.d.ts.map +1 -1
  240. package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts +21 -0
  241. package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts.map +1 -0
  242. package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts +2 -0
  243. package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts.map +1 -1
  244. package/lib/typescript/providers/screen/orchestrator/styles/constants.d.ts.map +1 -1
  245. package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts +1 -1
  246. package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts.map +1 -1
  247. package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts +1 -1
  248. package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts.map +1 -1
  249. package/lib/typescript/types/animation.types.d.ts +16 -4
  250. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  251. package/lib/typescript/types/bounds.types.d.ts +7 -15
  252. package/lib/typescript/types/bounds.types.d.ts.map +1 -1
  253. package/lib/typescript/types/index.d.ts +1 -1
  254. package/lib/typescript/types/index.d.ts.map +1 -1
  255. package/lib/typescript/types/screen.types.d.ts +1 -8
  256. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  257. package/lib/typescript/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  258. package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts +2 -3
  259. package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
  260. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts +3 -3
  261. package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts +1 -5
  262. package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts.map +1 -1
  263. package/lib/typescript/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  264. package/lib/typescript/utils/bounds/navigation/zoom/{mask.d.ts → clip.d.ts} +5 -5
  265. package/lib/typescript/utils/bounds/navigation/zoom/clip.d.ts.map +1 -0
  266. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts +1 -1
  267. package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts +1 -5
  268. package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
  269. package/package.json +1 -1
  270. package/src/components/boundary/components/boundary-lifecycle.tsx +44 -8
  271. package/src/components/boundary/components/boundary-target.tsx +14 -36
  272. package/src/components/boundary/create-boundary-component.tsx +16 -17
  273. package/src/components/boundary/helpers/presentation.ts +88 -0
  274. package/src/components/boundary/hooks/use-boundary-presentation.ts +82 -0
  275. package/src/components/boundary/hooks/use-composed-boundary-style.ts +58 -0
  276. package/src/components/boundary/index.tsx +10 -5
  277. package/src/components/boundary/portal/components/portal-host.tsx +36 -0
  278. package/src/components/boundary/portal/components/portal-overlay.tsx +223 -0
  279. package/src/components/boundary/portal/components/portal.tsx +124 -0
  280. package/src/components/boundary/portal/hooks/use-active-portal-boundary-host.ts +52 -0
  281. package/src/components/boundary/portal/hooks/use-host-measurement.ts +101 -0
  282. package/src/components/boundary/portal/hooks/use-portal-destination.ts +53 -0
  283. package/src/components/boundary/portal/index.ts +0 -1
  284. package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.ts +1 -20
  285. package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.ts +19 -26
  286. package/src/components/boundary/portal/utils/naming.ts +10 -0
  287. package/src/components/boundary/portal/utils/resolve-portal.ts +9 -48
  288. package/src/components/boundary/providers/boundary-root.provider.tsx +34 -22
  289. package/src/components/screen/container/helpers/layer-component.tsx +38 -0
  290. package/src/components/screen/container/layers/backdrop.tsx +8 -31
  291. package/src/components/screen/container/layers/clip.tsx +124 -0
  292. package/src/components/screen/container/layers/content.tsx +21 -62
  293. package/src/components/screen/container/layers/surface.tsx +5 -23
  294. package/src/components/screen/lifecycle/hooks/use-open-transition-intent.ts +26 -2
  295. package/src/constants.ts +3 -1
  296. package/src/hooks/navigation/use-navigation-helpers.ts +13 -7
  297. package/src/index.ts +1 -0
  298. package/src/providers/screen/motion/animation/helpers/build-screen-transition-options.ts +0 -1
  299. package/src/providers/screen/motion/animation/helpers/hydrate-transition-state/index.ts +3 -2
  300. package/src/providers/screen/motion/options/helpers.ts +0 -6
  301. package/src/providers/screen/motion/options/types.ts +0 -1
  302. package/src/providers/screen/orchestrator/helpers/use-interpolator-state.ts +13 -8
  303. package/src/providers/screen/orchestrator/helpers/use-pair-presentation.ts +103 -0
  304. package/src/providers/screen/orchestrator/orchestrator.provider.tsx +4 -0
  305. package/src/providers/screen/orchestrator/styles/constants.ts +1 -0
  306. package/src/providers/screen/orchestrator/styles/hooks/slot-resolvers.tsx +8 -11
  307. package/src/providers/screen/orchestrator/styles/types.ts +1 -0
  308. package/src/types/animation.types.ts +35 -4
  309. package/src/types/bounds.types.ts +7 -15
  310. package/src/types/index.ts +1 -0
  311. package/src/types/screen.types.ts +1 -8
  312. package/src/utils/bounds/navigation/reveal/build.ts +46 -80
  313. package/src/utils/bounds/navigation/reveal/config.ts +2 -4
  314. package/src/utils/bounds/navigation/reveal/math.ts +9 -9
  315. package/src/utils/bounds/navigation/reveal/types.ts +1 -8
  316. package/src/utils/bounds/navigation/zoom/build.ts +16 -26
  317. package/src/utils/bounds/navigation/zoom/{mask.ts → clip.ts} +42 -48
  318. package/src/utils/bounds/navigation/zoom/drag.ts +2 -2
  319. package/src/utils/bounds/navigation/zoom/types.ts +1 -8
  320. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +0 -83
  321. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
  322. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -45
  323. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
  324. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -119
  325. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
  326. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -20
  327. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
  328. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -14
  329. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
  330. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -136
  331. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
  332. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js +0 -53
  333. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
  334. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +0 -99
  335. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
  336. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -104
  337. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
  338. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -13
  339. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
  340. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
  341. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -82
  342. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
  343. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -58
  344. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
  345. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -67
  346. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
  347. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
  348. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +0 -68
  349. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
  350. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
  351. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
  352. package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js +0 -83
  353. package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
  354. package/lib/commonjs/components/screen/container/layers/render-component.js.map +0 -1
  355. package/lib/commonjs/utils/bounds/navigation/zoom/mask.js +0 -73
  356. package/lib/commonjs/utils/bounds/navigation/zoom/mask.js.map +0 -1
  357. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +0 -78
  358. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
  359. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -40
  360. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
  361. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -110
  362. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
  363. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -16
  364. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
  365. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -9
  366. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
  367. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -131
  368. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
  369. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js +0 -42
  370. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
  371. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +0 -94
  372. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
  373. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -99
  374. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
  375. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -8
  376. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
  377. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
  378. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -76
  379. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
  380. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -53
  381. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
  382. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -62
  383. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
  384. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
  385. package/lib/module/components/boundary/portal/components/boundary-portal/index.js +0 -63
  386. package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
  387. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
  388. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
  389. package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js +0 -78
  390. package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
  391. package/lib/module/components/screen/container/layers/render-component.js.map +0 -1
  392. package/lib/module/utils/bounds/navigation/zoom/mask.js +0 -68
  393. package/lib/module/utils/bounds/navigation/zoom/mask.js.map +0 -1
  394. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +0 -28
  395. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +0 -1
  396. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts +0 -10
  397. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +0 -1
  398. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +0 -45
  399. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +0 -1
  400. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts +0 -8
  401. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts.map +0 -1
  402. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts +0 -2
  403. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts.map +0 -1
  404. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +0 -10
  405. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +0 -1
  406. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts +0 -9
  407. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +0 -1
  408. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts +0 -7
  409. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +0 -1
  410. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +0 -13
  411. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +0 -1
  412. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +0 -4
  413. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +0 -1
  414. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +0 -1
  415. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +0 -21
  416. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +0 -1
  417. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +0 -10
  418. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +0 -1
  419. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -12
  420. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +0 -1
  421. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts.map +0 -1
  422. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +0 -12
  423. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +0 -1
  424. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +0 -1
  425. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +0 -1
  426. package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts +0 -9
  427. package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts.map +0 -1
  428. package/lib/typescript/components/screen/container/layers/render-component.d.ts.map +0 -1
  429. package/lib/typescript/utils/bounds/navigation/zoom/mask.d.ts.map +0 -1
  430. package/src/components/boundary/hooks/use-boundary-measurement.ts +0 -98
  431. package/src/components/boundary/portal/components/boundary-content-portal/components/host.tsx +0 -56
  432. package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +0 -192
  433. package/src/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.ts +0 -23
  434. package/src/components/boundary/portal/components/boundary-content-portal/helpers/host-name.ts +0 -9
  435. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +0 -252
  436. package/src/components/boundary/portal/components/boundary-content-portal/index.tsx +0 -81
  437. package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +0 -119
  438. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +0 -139
  439. package/src/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +0 -10
  440. package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +0 -118
  441. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +0 -64
  442. package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +0 -90
  443. package/src/components/boundary/portal/components/boundary-portal/index.tsx +0 -97
  444. package/src/components/screen/container/layers/maybe-masked-navigation-container.tsx +0 -113
  445. /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
  446. /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
  447. /package/lib/module/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
  448. /package/lib/module/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
  449. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.d.ts +0 -0
  450. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.d.ts +0 -0
  451. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.d.ts +0 -0
  452. /package/src/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.ts +0 -0
  453. /package/src/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.ts +0 -0
  454. /package/src/components/screen/container/{layers/render-component.ts → helpers/uses-layer-render-props.ts} +0 -0
@@ -7,12 +7,8 @@ import {
7
7
  getLocalTransformForSlotComposition,
8
8
  } from "../helpers/compose-slot-style";
9
9
 
10
- const useCurrentScreenSlotsMap = () => {
11
- return useOrchestratorStore((store) => store.slotsMap);
12
- };
13
-
14
10
  export const useSlotStyles = (slotId: string | undefined) => {
15
- const slotsMap = useCurrentScreenSlotsMap();
11
+ const slotsMap = useOrchestratorStore((store) => store.slotsMap);
16
12
 
17
13
  return useAnimatedStyle(() => {
18
14
  const slot = slotId ? slotsMap.get()[slotId] : undefined;
@@ -30,7 +26,7 @@ export const useComposedSlotStyles = (
30
26
  slotId: string | undefined,
31
27
  style: unknown,
32
28
  ) => {
33
- const slotsMap = useCurrentScreenSlotsMap();
29
+ const slotsMap = useOrchestratorStore((store) => store.slotsMap);
34
30
  const localTransform = useMemo(
35
31
  () => getLocalTransformForSlotComposition(style),
36
32
  [style],
@@ -54,7 +50,7 @@ export const useComposedSlotStyles = (
54
50
  * target takes the full associated style. Yields `NO_STYLES` when neither is set.
55
51
  */
56
52
  export const useSlotStackingStyles = (slotId: string | undefined) => {
57
- const slotsMap = useCurrentScreenSlotsMap();
53
+ const slotsMap = useOrchestratorStore((store) => store.slotsMap);
58
54
 
59
55
  return useAnimatedStyle(() => {
60
56
  const baseStyle = slotId ? slotsMap.get()[slotId]?.style : undefined;
@@ -70,7 +66,7 @@ export const useSlotStackingStyles = (slotId: string | undefined) => {
70
66
  };
71
67
 
72
68
  export const useSlotLayoutStyles = (slotId: string | undefined) => {
73
- const slotsMap = useCurrentScreenSlotsMap();
69
+ const slotsMap = useOrchestratorStore((store) => store.slotsMap);
74
70
 
75
71
  return useAnimatedStyle(() => {
76
72
  const baseStyle = slotId ? slotsMap.get()[slotId]?.style : undefined;
@@ -107,9 +103,10 @@ export const useSlotLayoutStyles = (slotId: string | undefined) => {
107
103
  };
108
104
 
109
105
  export const useSlotProps = (slotId: string | undefined) => {
110
- const slotsMap = useCurrentScreenSlotsMap();
106
+ const slotsMap = useOrchestratorStore((store) => store.slotsMap);
111
107
 
112
108
  return useAnimatedProps(() => {
113
- return (slotId ? slotsMap.get()[slotId]?.props : undefined) ?? NO_PROPS;
114
- });
109
+ return ((slotId ? slotsMap.get()[slotId]?.props : undefined) ??
110
+ NO_PROPS) as any;
111
+ }) as any;
115
112
  };
@@ -8,5 +8,6 @@ export type ScreenSlotName =
8
8
  | "content"
9
9
  | "surface"
10
10
  | "backdrop"
11
+ | "clip"
11
12
  | typeof NAVIGATION_MASK_CONTAINER_STYLE_ID
12
13
  | typeof NAVIGATION_MASK_ELEMENT_STYLE_ID;
@@ -303,7 +303,7 @@ export type TransitionSlotStyle = AnimatedViewStyle | TransitionSlotDefinition;
303
303
  *
304
304
  * These values are not style slots. They are derived per frame and consumed by
305
305
  * the transition runtime. Structural options that change the React tree, such
306
- * as `navigationMaskEnabled`, must be configured statically on the screen.
306
+ * as `gestureTracking`, must be configured statically on the screen.
307
307
  *
308
308
  * If `gestureSensitivity` is derived from the current gesture, prefer
309
309
  * `active.gesture.raw` so the sensitivity calculation does not feed back into
@@ -314,6 +314,30 @@ export type TransitionInterpolatorOptions = Omit<
314
314
  "navigationMaskEnabled" | "gestureTracking"
315
315
  >;
316
316
 
317
+ /** A clipping rectangle in the content layer's local coordinates. */
318
+ export type TransitionClip = {
319
+ x: number;
320
+ y: number;
321
+ width: number;
322
+ height: number;
323
+ } & Pick<
324
+ ViewStyle,
325
+ | "borderRadius"
326
+ | "borderCurve"
327
+ | "borderTopLeftRadius"
328
+ | "borderTopRightRadius"
329
+ | "borderBottomLeftRadius"
330
+ | "borderBottomRightRadius"
331
+ | "borderTopStartRadius"
332
+ | "borderTopEndRadius"
333
+ | "borderBottomStartRadius"
334
+ | "borderBottomEndRadius"
335
+ | "borderStartStartRadius"
336
+ | "borderStartEndRadius"
337
+ | "borderEndStartRadius"
338
+ | "borderEndEndRadius"
339
+ >;
340
+
317
341
  /**
318
342
  * Internal normalized slot format.
319
343
  * Always uses the explicit `{ style, props }` shape (with Reanimated's full StyleProps).
@@ -329,6 +353,7 @@ export type NormalizedTransitionSlotStyle = {
329
353
  * All slots use the explicit `{ style, props }` shape.
330
354
  */
331
355
  export type NormalizedTransitionInterpolatedStyle = {
356
+ clip?: { style?: Partial<TransitionClip> };
332
357
  /** Animated style and props for the main screen content view. */
333
358
  content?: NormalizedTransitionSlotStyle;
334
359
  /** Animated style and props for the backdrop layer between screens. */
@@ -345,6 +370,8 @@ export type NormalizedTransitionInterpolatedStyle = {
345
370
  * The return type of `screenStyleInterpolator`.
346
371
  */
347
372
  export type TransitionInterpolatedStyle = {
373
+ /** Visible rectangle. Omit to disable clipping. Content retains its layout size. */
374
+ clip?: TransitionClip;
348
375
  /**
349
376
  * Runtime options for the current frame.
350
377
  *
@@ -363,12 +390,16 @@ export type TransitionInterpolatedStyle = {
363
390
  content?: TransitionSlotStyle;
364
391
  /** Animated style and props for the backdrop layer between screens. */
365
392
  backdrop?: TransitionSlotStyle;
366
- /** Animated style and props for the navigation mask container layer. */
393
+ /** @deprecated Ignored. Return `clip` geometry instead. */
367
394
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
368
- /** Animated style and props for the navigation mask element layer. */
395
+ /** @deprecated Ignored. Return `clip` geometry instead. */
369
396
  [NAVIGATION_MASK_ELEMENT_STYLE_ID]?: TransitionSlotStyle;
370
397
  /** Custom styles/props by id for Transition.View components. */
371
- [id: string]: TransitionSlotStyle | TransitionInterpolatorOptions | undefined;
398
+ [id: string]:
399
+ | TransitionSlotStyle
400
+ | TransitionInterpolatorOptions
401
+ | TransitionClip
402
+ | undefined;
372
403
  };
373
404
 
374
405
  /**
@@ -87,7 +87,7 @@ export type BoundsNavigationZoomOptions = {
87
87
  *
88
88
  * Zoom interpolates from the measured source radius to this value while the
89
89
  * screen is animating. This controls the visible clipping result regardless
90
- * of whether a navigation mask is enabled.
90
+ * of the clipping rectangle.
91
91
  *
92
92
  * @default 64
93
93
  */
@@ -120,13 +120,15 @@ export type BoundsNavigationZoomOptions = {
120
120
 
121
121
  export type BoundsNavigationZoomStyle = TransitionInterpolatedStyle & {
122
122
  content?: TransitionSlotStyle;
123
+ /** @deprecated Ignored. Return `clip` geometry instead. */
123
124
  [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: TransitionSlotStyle;
125
+ /** @deprecated Ignored. Return `clip` geometry instead. */
124
126
  [NAVIGATION_MASK_ELEMENT_STYLE_ID]?: TransitionSlotStyle;
125
127
  };
126
128
 
127
129
  export type BoundsNavigationRevealOptions = {
128
130
  /**
129
- * Destination mask border radius.
131
+ * Destination clip border radius.
130
132
  *
131
133
  * Reveal interpolates from the measured source border radius to this value.
132
134
  *
@@ -134,7 +136,7 @@ export type BoundsNavigationRevealOptions = {
134
136
  */
135
137
  borderRadius?: number;
136
138
  /**
137
- * Whether the reveal mask should use React Native's continuous border curve.
139
+ * Whether the reveal clip should use React Native's continuous border curve.
138
140
  *
139
141
  * @default true
140
142
  */
@@ -142,7 +144,7 @@ export type BoundsNavigationRevealOptions = {
142
144
  /**
143
145
  * Maximum dynamic gesture sensitivity applied by reveal.
144
146
  *
145
- * Reveal lowers gesture sensitivity as the drag gets deeper so the masked
147
+ * Reveal lowers gesture sensitivity as the drag gets deeper so the clipped
146
148
  * container can keep its source-to-destination handoff stable. This value
147
149
  * controls the starting/highest sensitivity in that curve.
148
150
  *
@@ -189,17 +191,7 @@ export type BoundsNavigationRevealOptions = {
189
191
  * @default true
190
192
  */
191
193
  disablePointerEventsTillElementTransition?: boolean;
192
- /**
193
- * How reveal should resize the navigation mask element.
194
- *
195
- * `"auto"` uses the platform default. Android defaults to transform-based
196
- * resizing to avoid masked-size animation cost, while other platforms animate
197
- * width and height. Transform-based resizing can make large border radii look
198
- * less natural on Android; use `"size"` to force width/height animation when
199
- * radius quality is more important than that optimization.
200
- *
201
- * @default "auto"
202
- */
194
+ /** @deprecated Ignored. Reveal uses built-in clipping on every platform. */
203
195
  maskSizingMode?: "auto" | "transform" | "size";
204
196
  };
205
197
 
@@ -9,6 +9,7 @@ export type {
9
9
  ScreenTransitionOptions,
10
10
  ScreenTransitionState,
11
11
  ScreenTransitionTarget,
12
+ TransitionClip,
12
13
  TransitionInterpolatedStyle,
13
14
  TransitionInterpolatorOptions,
14
15
  TransitionSlotProps,
@@ -228,14 +228,7 @@ export type ScreenTransitionConfig = {
228
228
  */
229
229
  transitionSpec?: TransitionSpec;
230
230
 
231
- /**
232
- * Pre-mounts the masked view wrapper so navigation bounds masking
233
- * (e.g. `bounds().navigation.zoom()`) is ready from the first frame.
234
- *
235
- * Requires `@react-native-masked-view/masked-view` to be installed.
236
- *
237
- * @default false
238
- */
231
+ /** @deprecated Ignored. Return `clip` from the interpolator to enable clipping. */
239
232
  navigationMaskEnabled?: boolean;
240
233
 
241
234
  /**
@@ -1,5 +1,4 @@
1
1
  import { interpolate } from "react-native-reanimated";
2
- import { NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../../constants";
3
2
  import { createBoundsAccessorCore } from "../../helpers/create-bounds-accessor-core";
4
3
  import { getSourceBorderRadius } from "../helpers";
5
4
  import {
@@ -10,20 +9,19 @@ import {
10
9
  CONTENT_ENTERING_OPACITY_RANGE,
11
10
  CONTENT_SHADOW_OPACITY_OUTPUT,
12
11
  DISMISS_SCALE_ORBIT_DEPTH,
13
- DRAG_MASK_HEIGHT_COLLAPSE_END,
14
- HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE,
12
+ DRAG_CLIP_HEIGHT_COLLAPSE_END,
13
+ HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE,
15
14
  IDENTITY_DRAG_SCALE_OUTPUT,
16
15
  REVEAL_BACKGROUND_SCALE,
17
16
  REVEAL_BORDER_RADIUS,
18
17
  REVEAL_SHADOW_OFFSET,
19
- REVEAL_USES_TRANSFORM_MASK,
20
18
  UNFOCUSED_ELEMENT_OPACITY_OUTPUT,
21
19
  ZERO_TO_ONE_RANGE,
22
20
  } from "./config";
23
21
  import {
24
22
  interpolateClamped,
25
23
  mixUnit,
26
- resolveAspectRatioMaskHeight,
24
+ resolveAspectRatioClipHeight,
27
25
  resolveDismissScaleHandoff,
28
26
  resolveRevealContentBaseTransform,
29
27
  resolveRevealDirectionalDragScale,
@@ -66,15 +64,10 @@ export function buildRevealStyles({
66
64
  revealOptions?.velocityDepth ?? DISMISS_SCALE_ORBIT_DEPTH;
67
65
  const disablePointerEventsTillElementTransition =
68
66
  revealOptions?.disablePointerEventsTillElementTransition ?? true;
69
- const maskSizingMode = revealOptions?.maskSizingMode ?? "auto";
70
67
  const backgroundScale =
71
68
  revealOptions?.backgroundScale ?? REVEAL_BACKGROUND_SCALE;
72
69
  const shouldBackgroundScaleResetOnSettled =
73
70
  revealOptions?.shouldBackgroundScaleResetOnSettled ?? true;
74
- const usesTransformMask =
75
- maskSizingMode === "auto"
76
- ? REVEAL_USES_TRANSFORM_MASK
77
- : maskSizingMode === "transform";
78
71
 
79
72
  const bounds = createBoundsAccessorCore({
80
73
  getProps: () => props,
@@ -140,7 +133,7 @@ export function buildRevealStyles({
140
133
  progress: transitionProgress,
141
134
  });
142
135
 
143
- const maskRaw = scopedBounds.values({
136
+ const clipRaw = scopedBounds.values({
144
137
  scaleMode: "uniform",
145
138
  method: "size",
146
139
  space: "absolute",
@@ -148,21 +141,21 @@ export function buildRevealStyles({
148
141
  progress: transitionProgress,
149
142
  });
150
143
 
151
- const maskBorderRadius = mixUnit(
144
+ const clipBorderRadius = mixUnit(
152
145
  sourceBorderRadius,
153
146
  borderRadius,
154
147
  activeTransitionProgress,
155
148
  );
156
- const maskBorderCurve = borderContinuous
149
+ const clipBorderCurve = borderContinuous
157
150
  ? ("continuous" as const)
158
151
  : undefined;
159
152
 
160
- const maskSizeMultiplier = props.active.closing
153
+ const clipSizeMultiplier = props.active.closing
161
154
  ? mixUnit(0.9, 1, activeTransitionProgress)
162
155
  : 1;
163
156
 
164
- const maskWidth = Math.max(1, maskRaw.width * maskSizeMultiplier);
165
- const maskHeight = Math.max(1, maskRaw.height * maskSizeMultiplier);
157
+ const clipWidth = Math.max(1, clipRaw.width * clipSizeMultiplier);
158
+ const clipHeight = Math.max(1, clipRaw.height * clipSizeMultiplier);
166
159
 
167
160
  const contentBaseScale = contentRaw.scale;
168
161
  const safeContentBaseScale = resolveSafeScale(contentBaseScale);
@@ -205,97 +198,72 @@ export function buildRevealStyles({
205
198
  ? 1 - activeTransitionProgress
206
199
  : 0;
207
200
 
208
- const maskHeightCollapseDrag =
201
+ const clipHeightCollapseDrag =
209
202
  isHorizontalDismiss || isVerticalDismiss
210
203
  ? Math.max(
211
204
  0,
212
205
  isHorizontalDismiss
213
- ? liveHorizontalDismissDrag * HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE
206
+ ? liveHorizontalDismissDrag * HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE
214
207
  : 0,
215
208
  isVerticalDismiss ? liveVerticalDismissDrag : 0,
216
209
  dismissProgressDrag,
217
210
  )
218
211
  : 0;
219
212
 
220
- const maskAspectBounds = link.initialSource?.bounds ?? link.source.bounds;
221
- const minMaskHeight = resolveAspectRatioMaskHeight({
222
- maskWidth,
223
- maskHeight,
224
- targetWidth: maskAspectBounds.width,
225
- targetHeight: maskAspectBounds.height,
213
+ const clipAspectBounds = link.initialSource?.bounds ?? link.source.bounds;
214
+ const minClipHeight = resolveAspectRatioClipHeight({
215
+ clipWidth,
216
+ clipHeight,
217
+ targetWidth: clipAspectBounds.width,
218
+ targetHeight: clipAspectBounds.height,
226
219
  });
227
220
 
228
- const renderedMaskHeight = interpolateClamped(
229
- maskHeightCollapseDrag,
221
+ const renderedClipHeight = interpolateClamped(
222
+ clipHeightCollapseDrag,
230
223
  0,
231
- DRAG_MASK_HEIGHT_COLLAPSE_END,
232
- maskHeight,
233
- minMaskHeight,
224
+ DRAG_CLIP_HEIGHT_COLLAPSE_END,
225
+ clipHeight,
226
+ minClipHeight,
234
227
  );
235
228
 
236
- const maskCenterX = maskWidth / 2;
237
- const maskCenterY = renderedMaskHeight / 2;
238
- const maskCenteringOffsetX = (maskRaw.width - maskWidth) / 2;
239
- const maskCenteringOffsetY = (maskRaw.height - maskHeight) / 2;
229
+ const clipCenteringOffsetX = (clipRaw.width - clipWidth) / 2;
230
+ const clipCenteringOffsetY = (clipRaw.height - clipHeight) / 2;
240
231
  const verticalCollapseOffsetY =
241
232
  initialGesture === "vertical-inverted"
242
- ? maskHeight - renderedMaskHeight
233
+ ? clipHeight - renderedClipHeight
243
234
  : 0;
244
235
 
245
236
  const contentCenterX = screenLayout.width / 2;
246
237
  const contentCenterY = screenLayout.height / 2;
247
238
 
248
- // The mask lives inside the transformed content container. Compensate only
239
+ // The clip lives inside the transformed content container. Compensate only
249
240
  // for the reveal's base content scale; drag scale should be inherited from
250
241
  // the same parent transform as the screen content.
251
- const compensatedMaskTranslateX =
252
- (maskRaw.translateX -
242
+ const compensatedClipTranslateX =
243
+ (clipRaw.translateX -
253
244
  contentRaw.translateX +
254
- maskCenteringOffsetX +
255
- (1 - contentBaseScale) * (maskCenterX - contentCenterX)) /
245
+ clipCenteringOffsetX -
246
+ (1 - contentBaseScale) * contentCenterX) /
256
247
  safeContentBaseScale;
257
248
 
258
- const compensatedMaskTranslateY =
259
- (maskRaw.translateY -
249
+ const compensatedClipTranslateY =
250
+ (clipRaw.translateY -
260
251
  contentRaw.translateY +
261
- maskCenteringOffsetY +
262
- verticalCollapseOffsetY +
263
- (1 - contentBaseScale) * (maskCenterY - contentCenterY)) /
252
+ clipCenteringOffsetY +
253
+ verticalCollapseOffsetY -
254
+ (1 - contentBaseScale) * contentCenterY) /
264
255
  safeContentBaseScale;
265
256
 
266
- const compensatedMaskScale = 1 / safeContentBaseScale;
267
- const maskBaseWidth = Math.max(1, screenLayout.width);
268
- const maskBaseHeight = Math.max(1, screenLayout.height);
269
- const maskScaleX = maskWidth / maskBaseWidth;
270
- const maskScaleY = renderedMaskHeight / maskBaseHeight;
271
- const transformMaskTranslateX =
272
- compensatedMaskTranslateX + (maskWidth - maskBaseWidth) / 2;
273
- const transformMaskTranslateY =
274
- compensatedMaskTranslateY + (renderedMaskHeight - maskBaseHeight) / 2;
275
- const maskElementStyle = usesTransformMask
276
- ? {
277
- width: maskBaseWidth,
278
- height: maskBaseHeight,
279
- borderRadius: props.active.settled ? 0 : maskBorderRadius,
280
- borderCurve: maskBorderCurve,
281
- transform: [
282
- { translateX: transformMaskTranslateX },
283
- { translateY: transformMaskTranslateY },
284
- { scaleX: maskScaleX * compensatedMaskScale },
285
- { scaleY: maskScaleY * compensatedMaskScale },
286
- ],
287
- }
288
- : {
289
- width: maskWidth,
290
- height: renderedMaskHeight,
291
- borderRadius: props.active.settled ? 0 : maskBorderRadius,
292
- borderCurve: maskBorderCurve,
293
- transform: [
294
- { translateX: compensatedMaskTranslateX },
295
- { translateY: compensatedMaskTranslateY },
296
- { scale: compensatedMaskScale },
297
- ],
298
- };
257
+ const clip = {
258
+ x: compensatedClipTranslateX,
259
+ y: compensatedClipTranslateY,
260
+ width: clipWidth / safeContentBaseScale,
261
+ height: renderedClipHeight / safeContentBaseScale,
262
+ borderRadius: props.active.settled
263
+ ? 0
264
+ : clipBorderRadius / safeContentBaseScale,
265
+ borderCurve: clipBorderCurve,
266
+ };
299
267
 
300
268
  const elementOffsetX = initialDestinationTarget
301
269
  ? initialDestinationTarget.pageX - link.destination.bounds.pageX
@@ -364,9 +332,7 @@ export function buildRevealStyles({
364
332
  ),
365
333
  },
366
334
  },
367
- [NAVIGATION_MASK_ELEMENT_STYLE_ID]: {
368
- style: maskElementStyle,
369
- },
335
+ clip,
370
336
  [link.id]: {
371
337
  style: {
372
338
  transform: [{ translateX: elementTX }, { translateY: elementY }],
@@ -6,13 +6,11 @@ export const REVEAL_BORDER_RADIUS = Platform.select({
6
6
  default: 36,
7
7
  });
8
8
 
9
- export const REVEAL_USES_TRANSFORM_MASK = Platform.OS === "android";
10
-
11
9
  export const DRAG_DIRECTIONAL_SCALE_MIN = 0.25;
12
10
  export const DRAG_DIRECTIONAL_SCALE_MAX = 1.06;
13
11
  export const DRAG_DIRECTIONAL_SCALE_EXPONENT = 2;
14
- export const DRAG_MASK_HEIGHT_COLLAPSE_END = 0.7;
15
- export const HORIZONTAL_DRAG_MASK_COLLAPSE_SCALE = 0.5;
12
+ export const DRAG_CLIP_HEIGHT_COLLAPSE_END = 0.7;
13
+ export const HORIZONTAL_DRAG_CLIP_COLLAPSE_SCALE = 0.5;
16
14
  export const DISMISS_SCALE_ORBIT_DEPTH = 0.5;
17
15
  export const CLOSE_SOURCE_HANDOFF_PROGRESS = 0.25;
18
16
  export const REVEAL_BACKGROUND_SCALE = 0.9375;
@@ -153,27 +153,27 @@ export function resolveDismissScaleHandoff({
153
153
  return baseScale * orbitScale;
154
154
  }
155
155
 
156
- export function resolveAspectRatioMaskHeight({
157
- maskWidth,
158
- maskHeight,
156
+ export function resolveAspectRatioClipHeight({
157
+ clipWidth,
158
+ clipHeight,
159
159
  targetWidth,
160
160
  targetHeight,
161
161
  }: {
162
- maskWidth: number;
163
- maskHeight: number;
162
+ clipWidth: number;
163
+ clipHeight: number;
164
164
  targetWidth: number;
165
165
  targetHeight: number;
166
166
  }) {
167
167
  "worklet";
168
168
 
169
- const safeMaskWidth = Math.max(1, Math.abs(maskWidth));
170
- const safeMaskHeight = Math.max(1, Math.abs(maskHeight));
169
+ const safeClipWidth = Math.max(1, Math.abs(clipWidth));
170
+ const safeClipHeight = Math.max(1, Math.abs(clipHeight));
171
171
  const safeTargetWidth = Math.max(Math.abs(targetWidth), EPSILON);
172
172
  const safeTargetHeight = Math.max(Math.abs(targetHeight), EPSILON);
173
173
  const targetAspectHeight =
174
- safeMaskWidth * (safeTargetHeight / safeTargetWidth);
174
+ safeClipWidth * (safeTargetHeight / safeTargetWidth);
175
175
 
176
- return Math.min(safeMaskHeight, Math.max(1, targetAspectHeight));
176
+ return Math.min(safeClipHeight, Math.max(1, targetAspectHeight));
177
177
  }
178
178
 
179
179
  function getBoundsCenterX(bounds: MeasuredDimensions) {
@@ -1,17 +1,10 @@
1
- import {
2
- NAVIGATION_MASK_CONTAINER_STYLE_ID,
3
- NAVIGATION_MASK_ELEMENT_STYLE_ID,
4
- } from "../../../../constants";
5
1
  import type {
6
2
  BoundsInterpolationProps,
7
3
  BoundsNavigationRevealOptions,
8
4
  BoundsNavigationRevealStyle,
9
5
  } from "../../../../types/bounds.types";
10
6
 
11
- export type RevealInterpolatedStyle = BoundsNavigationRevealStyle & {
12
- [NAVIGATION_MASK_CONTAINER_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_CONTAINER_STYLE_ID];
13
- [NAVIGATION_MASK_ELEMENT_STYLE_ID]?: BoundsNavigationRevealStyle[typeof NAVIGATION_MASK_ELEMENT_STYLE_ID];
14
- };
7
+ export type RevealInterpolatedStyle = BoundsNavigationRevealStyle;
15
8
 
16
9
  export type BuildRevealStylesParams = {
17
10
  tag?: string;
@@ -1,14 +1,12 @@
1
1
  import { interpolate } from "react-native-reanimated";
2
- import {
3
- EPSILON,
4
- NAVIGATION_MASK_ELEMENT_STYLE_ID,
5
- } from "../../../../constants";
2
+ import { EPSILON } from "../../../../constants";
6
3
  import { getVisualScrollAxisDelta } from "../../../../stores/scroll.store";
7
4
  import type { ScrollMetadataState } from "../../../../types/gesture.types";
8
5
  import { createBoundsAccessorCore } from "../../helpers/create-bounds-accessor-core";
9
6
  import { computeContentTransformGeometry } from "../../helpers/geometry";
10
7
  import { getSourceBorderRadius } from "../helpers";
11
8
  import { resolveRevealContentBaseTransformFromGeometry } from "../reveal/math";
9
+ import { resolveZoomClip, ZOOM_NAVIGATION_CLIP_BORDER_RADIUS } from "./clip";
12
10
  import {
13
11
  ZOOM_BACKDROP_MAX_OPACITY,
14
12
  ZOOM_BACKGROUND_SCALE,
@@ -25,10 +23,6 @@ import {
25
23
  resolveZoomPinchFocalOffset,
26
24
  resolveZoomTrackedSourceTransform,
27
25
  } from "./helpers";
28
- import {
29
- resolveZoomNavigationMaskStyle,
30
- ZOOM_NAVIGATION_MASK_BORDER_RADIUS,
31
- } from "./mask";
32
26
  import {
33
27
  getZoomContentAnchor,
34
28
  getZoomContentTarget,
@@ -51,7 +45,7 @@ export function buildZoomStyles({
51
45
  const keepFocusedVisible = zoomOptions?.keepFocusedVisible === true;
52
46
  const expandedBorderRadius = Math.max(
53
47
  0,
54
- zoomOptions?.borderRadius ?? ZOOM_NAVIGATION_MASK_BORDER_RADIUS,
48
+ zoomOptions?.borderRadius ?? ZOOM_NAVIGATION_CLIP_BORDER_RADIUS,
55
49
  );
56
50
  const backgroundScale = zoomOptions?.backgroundScale ?? ZOOM_BACKGROUND_SCALE;
57
51
  const backdropColor = zoomOptions?.backdropColor ?? "black";
@@ -60,7 +54,6 @@ export function buildZoomStyles({
60
54
 
61
55
  const {
62
56
  active,
63
- current,
64
57
  focused,
65
58
  transitionProgress,
66
59
  layouts: { screen: screenLayout },
@@ -178,7 +171,6 @@ export function buildZoomStyles({
178
171
  "vertical",
179
172
  ) * sourceScrollWeight;
180
173
  const sourceBorderRadius = getSourceBorderRadius(link);
181
- const navigationMaskEnabled = current.options.navigationMaskEnabled;
182
174
  const backdropOpacity = resolveZoomBackdropOpacity({
183
175
  transitionProgress,
184
176
  dismissalDrag: drag.dismissNorm,
@@ -251,21 +243,19 @@ export function buildZoomStyles({
251
243
  overflow: "hidden" as const,
252
244
  },
253
245
  },
254
- [NAVIGATION_MASK_ELEMENT_STYLE_ID]: navigationMaskEnabled
255
- ? resolveZoomNavigationMaskStyle({
256
- scopedBounds,
257
- link,
258
- sourceBounds,
259
- screenLayout,
260
- transitionProgress,
261
- drag,
262
- contentTransform: contentRaw,
263
- sourceBorderRadius,
264
- expandedBorderRadius,
265
- active,
266
- anchor: zoomContentAnchor,
267
- })
268
- : {},
246
+ clip: resolveZoomClip({
247
+ scopedBounds,
248
+ link,
249
+ sourceBounds,
250
+ screenLayout,
251
+ transitionProgress,
252
+ drag,
253
+ contentTransform: contentRaw,
254
+ sourceBorderRadius,
255
+ expandedBorderRadius,
256
+ active,
257
+ anchor: zoomContentAnchor,
258
+ }),
269
259
  };
270
260
  }
271
261