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
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { memo } from "react";
3
+ import { memo, useMemo } from "react";
4
4
  import { useBuilderStore } from "../../../providers/screen/builder";
5
- import { useBoundaryMeasurement } from "../hooks/use-boundary-measurement";
5
+ import { prepareStyleForBounds } from "../../../utils/bounds/helpers/styles/styles";
6
+ import { useBoundaryPresence } from "../hooks/lifecycles/use-boundary-presence";
7
+ import { useInitialDestinationMeasurement } from "../hooks/lifecycles/use-initial-destination-measurement";
8
+ import { useInitialSourceMeasurement } from "../hooks/lifecycles/use-initial-source-measurement";
9
+ import { useRefreshBoundary } from "../hooks/lifecycles/use-refresh-boundary";
10
+ import { useMeasurer } from "../hooks/use-measurer";
6
11
  export const BoundaryLifecycle = /*#__PURE__*/memo(function BoundaryLifecycle({
7
12
  boundTag,
8
13
  config,
@@ -15,17 +20,44 @@ export const BoundaryLifecycle = /*#__PURE__*/memo(function BoundaryLifecycle({
15
20
  style
16
21
  }) {
17
22
  const hasConfiguredInterpolator = useBuilderStore(s => s.derivations.hasConfiguredInterpolator);
18
- useBoundaryMeasurement({
19
- boundTag,
23
+ const runtimeEnabled = enabled && hasConfiguredInterpolator;
24
+ const preparedStyles = useMemo(() => prepareStyleForBounds(style), [style]);
25
+ const measureBoundary = useMeasurer({
20
26
  enabled,
21
- runtimeEnabled: enabled && hasConfiguredInterpolator,
27
+ boundTag,
22
28
  currentScreenKey,
23
- measuredRef,
24
- style,
29
+ preparedStyles,
30
+ measuredAnimatedRef: measuredRef,
25
31
  handoff,
26
32
  escapeClipping,
27
- localMeasurement,
28
- config
33
+ localMeasurement
34
+ });
35
+
36
+ // Presence and source capture must not depend on this screen owning an
37
+ // interpolator: a nested source can participate in a transition owned by a
38
+ // different navigator.
39
+ useBoundaryPresence({
40
+ enabled,
41
+ boundTag,
42
+ currentScreenKey,
43
+ boundaryConfig: config,
44
+ handoff,
45
+ escapeClipping
46
+ });
47
+ useInitialSourceMeasurement({
48
+ enabled,
49
+ measureBoundary,
50
+ boundTag
51
+ });
52
+ useInitialDestinationMeasurement({
53
+ boundTag,
54
+ enabled: runtimeEnabled,
55
+ measureBoundary
56
+ });
57
+ useRefreshBoundary({
58
+ enabled: runtimeEnabled,
59
+ boundTag,
60
+ measureBoundary
29
61
  });
30
62
  return null;
31
63
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useBuilderStore","useBoundaryMeasurement","BoundaryLifecycle","boundTag","config","currentScreenKey","enabled","escapeClipping","handoff","localMeasurement","measuredRef","style","hasConfiguredInterpolator","s","derivations","runtimeEnabled"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-lifecycle.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAG5B,SAASC,eAAe,QAAQ,mCAAmC;AAEnE,SAASC,sBAAsB,QAAQ,mCAAmC;AAkB1E,OAAO,MAAMC,iBAAiB,gBAAGH,IAAI,CAAC,SAASG,iBAAiBA,CAAC;EAChEC,QAAQ;EACRC,MAAM;EACNC,gBAAgB;EAChBC,OAAO;EACPC,cAAc;EACdC,OAAO;EACPC,gBAAgB;EAChBC,WAAW;EACXC;AACuB,CAAC,EAAE;EAC1B,MAAMC,yBAAyB,GAAGZ,eAAe,CAC/Ca,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,yBACtB,CAAC;EAEDX,sBAAsB,CAAC;IACtBE,QAAQ;IACRG,OAAO;IACPS,cAAc,EAAET,OAAO,IAAIM,yBAAyB;IACpDP,gBAAgB;IAChBK,WAAW;IACXC,KAAK;IACLH,OAAO;IACPD,cAAc;IACdE,gBAAgB;IAChBL;EACD,CAAC,CAAC;EAEF,OAAO,IAAI;AACZ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","useBuilderStore","prepareStyleForBounds","useBoundaryPresence","useInitialDestinationMeasurement","useInitialSourceMeasurement","useRefreshBoundary","useMeasurer","BoundaryLifecycle","boundTag","config","currentScreenKey","enabled","escapeClipping","handoff","localMeasurement","measuredRef","style","hasConfiguredInterpolator","s","derivations","runtimeEnabled","preparedStyles","measureBoundary","measuredAnimatedRef","boundaryConfig"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-lifecycle.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAGrC,SAASC,eAAe,QAAQ,mCAAmC;AAEnE,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,mBAAmB,QAAQ,2CAA2C;AAC/E,SAASC,gCAAgC,QAAQ,yDAAyD;AAC1G,SAASC,2BAA2B,QAAQ,oDAAoD;AAChG,SAASC,kBAAkB,QAAQ,0CAA0C;AAC7E,SAASC,WAAW,QAAQ,uBAAuB;AAkBnD,OAAO,MAAMC,iBAAiB,gBAAGT,IAAI,CAAC,SAASS,iBAAiBA,CAAC;EAChEC,QAAQ;EACRC,MAAM;EACNC,gBAAgB;EAChBC,OAAO;EACPC,cAAc;EACdC,OAAO;EACPC,gBAAgB;EAChBC,WAAW;EACXC;AACuB,CAAC,EAAE;EAC1B,MAAMC,yBAAyB,GAAGjB,eAAe,CAC/CkB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,yBACtB,CAAC;EAED,MAAMG,cAAc,GAAGT,OAAO,IAAIM,yBAAyB;EAC3D,MAAMI,cAAc,GAAGtB,OAAO,CAAC,MAAME,qBAAqB,CAACe,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMM,eAAe,GAAGhB,WAAW,CAAC;IACnCK,OAAO;IACPH,QAAQ;IACRE,gBAAgB;IAChBW,cAAc;IACdE,mBAAmB,EAAER,WAAW;IAChCF,OAAO;IACPD,cAAc;IACdE;EACD,CAAC,CAAC;;EAEF;EACA;EACA;EACAZ,mBAAmB,CAAC;IACnBS,OAAO;IACPH,QAAQ;IACRE,gBAAgB;IAChBc,cAAc,EAAEf,MAAM;IACtBI,OAAO;IACPD;EACD,CAAC,CAAC;EAEFR,2BAA2B,CAAC;IAC3BO,OAAO;IACPW,eAAe;IACfd;EACD,CAAC,CAAC;EAEFL,gCAAgC,CAAC;IAChCK,QAAQ;IACRG,OAAO,EAAES,cAAc;IACvBE;EACD,CAAC,CAAC;EAEFjB,kBAAkB,CAAC;IAClBM,OAAO,EAAES,cAAc;IACvBZ,QAAQ;IACRc;EACD,CAAC,CAAC;EAEF,OAAO,IAAI;AACZ,CAAC,CAAC","ignoreList":[]}
@@ -2,10 +2,9 @@
2
2
 
3
3
  import { memo, useLayoutEffect } from "react";
4
4
  import Animated from "react-native-reanimated";
5
- import { useComposedSlotStyles, useSlotLayoutStyles } from "../../../providers/screen/orchestrator/styles";
6
5
  import { logger } from "../../../utils/logger";
7
- import { BoundaryContentPortal, BoundaryContentPortalHost } from "../portal/components/boundary-content-portal";
8
- import { BoundaryPortal } from "../portal/components/boundary-portal";
6
+ import { useComposedBoundaryStyle } from "../hooks/use-composed-boundary-style";
7
+ import { Portal } from "../portal/components/portal";
9
8
  import { TARGET_OUTSIDE_ROOT_WARNING, useOptionalBoundaryRootStore } from "../providers/boundary-root.provider";
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
11
10
  export const BOUNDARY_TARGET_ACTIVE_PROP = "__boundaryTargetActive";
@@ -23,17 +22,15 @@ const BoundaryTargetInner = props => {
23
22
  const portalRuntime = rootContext?.portalRuntime;
24
23
  const handoffEnabled = isActiveTarget && rootContext?.handoffEnabled === true;
25
24
  const shouldEscapeTargetToScreenHost = isActiveTarget && portalRuntime?.escapeClipping === true;
26
- const shouldApplyAssociatedStyleInline = isActiveTarget && portalRuntime?.escapeClipping !== true;
27
- const shouldApplyPortalLayoutStyle = isActiveTarget && portalRuntime?.escapeClipping === true;
28
- const associatedTargetStyles = useComposedSlotStyles(rootContext?.boundTag.tag, style);
29
- const portalLayoutStyle = useSlotLayoutStyles(rootContext?.boundTag.tag);
25
+ const associatedTargetStyles = useComposedBoundaryStyle(rootContext?.slotsMap, boundaryId, style, shouldEscapeTargetToScreenHost ? "layout" : "full");
30
26
  const measurementRef = isActiveTarget ? rootContext.measurementRef : undefined;
31
27
  useLayoutEffect(() => {
32
28
  if (__DEV__ && rootContext === null) {
33
29
  logger.warn(TARGET_OUTSIDE_ROOT_WARNING);
34
30
  }
35
31
  }, [rootContext]);
36
- return /*#__PURE__*/_jsx(BoundaryPortal, {
32
+ return /*#__PURE__*/_jsx(Portal, {
33
+ mode: "escapeClipping",
37
34
  boundaryId: boundaryId ?? "",
38
35
  enabled: shouldEscapeTargetToScreenHost,
39
36
  placeholderRef: measurementRef,
@@ -41,17 +38,13 @@ const BoundaryTargetInner = props => {
41
38
  ...rest,
42
39
  pointerEvents: pointerEvents,
43
40
  ref: shouldEscapeTargetToScreenHost ? undefined : measurementRef,
44
- style: [style, shouldApplyAssociatedStyleInline ? associatedTargetStyles : undefined, shouldApplyPortalLayoutStyle ? portalLayoutStyle : undefined],
41
+ style: [style, isActiveTarget ? associatedTargetStyles : undefined],
45
42
  collapsable: false,
46
- children: /*#__PURE__*/_jsx(BoundaryContentPortalHost, {
47
- boundaryId: boundaryId ?? "",
43
+ children: /*#__PURE__*/_jsx(Portal, {
44
+ mode: "handoff",
45
+ boundaryId: boundaryId,
48
46
  enabled: handoffEnabled,
49
- screenKey: rootContext?.currentScreenKey ?? "",
50
- children: /*#__PURE__*/_jsx(BoundaryContentPortal, {
51
- boundaryId: boundaryId,
52
- enabled: handoffEnabled,
53
- children: children
54
- })
47
+ children: children
55
48
  })
56
49
  })
57
50
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useLayoutEffect","Animated","useComposedSlotStyles","useSlotLayoutStyles","logger","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","TARGET_OUTSIDE_ROOT_WARNING","useOptionalBoundaryRootStore","jsx","_jsx","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","portalLayoutStyle","measurementRef","undefined","__DEV__","warn","enabled","placeholderRef","View","ref","collapsable","screenKey","currentScreenKey","BoundaryTarget"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useLayoutEffect","Animated","logger","useComposedBoundaryStyle","Portal","TARGET_OUTSIDE_ROOT_WARNING","useOptionalBoundaryRootStore","jsx","_jsx","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","associatedTargetStyles","slotsMap","measurementRef","undefined","__DEV__","warn","mode","enabled","placeholderRef","View","ref","collapsable","BoundaryTarget"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":";;AACA,SAASA,IAAI,EAAEC,eAAe,QAAQ,OAAO;AAC7C,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,MAAM,QAAQ,6BAA6B;AACpD,SACCC,2BAA2B,EAC3BC,4BAA4B,QACtB,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS7C,OAAO,MAAMC,2BAA2B,GAAG,wBAAiC;AAK5E,MAAMC,mBAAmB,GAAIC,KAAkC,IAAK;EACnE,MAAM;IACL,CAACF,2BAA2B,GAAGG,MAAM;IACrCC,QAAQ;IACRC,aAAa;IACbC,KAAK;IACL,GAAGC;EACJ,CAAC,GAAGL,KAAK;EACT,MAAMM,WAAW,GAAGX,4BAA4B,CAAC,CAAC;EAClD,MAAMY,UAAU,GAAGD,WAAW,EAAEE,QAAQ,CAACC,GAAG;EAC5C,MAAMC,cAAc,GAAGT,MAAM,KAAK,IAAI,IAAIK,WAAW,KAAK,IAAI;EAC9D,MAAMK,aAAa,GAAGL,WAAW,EAAEK,aAAa;EAChD,MAAMC,cAAc,GAAGF,cAAc,IAAIJ,WAAW,EAAEM,cAAc,KAAK,IAAI;EAC7E,MAAMC,8BAA8B,GACnCH,cAAc,IAAIC,aAAa,EAAEG,cAAc,KAAK,IAAI;EAEzD,MAAMC,sBAAsB,GAAGvB,wBAAwB,CACtDc,WAAW,EAAEU,QAAQ,EACrBT,UAAU,EACVH,KAAK,EACLS,8BAA8B,GAAG,QAAQ,GAAG,MAC7C,CAAC;EAED,MAAMI,cAAc,GAAGP,cAAc,GAClCJ,WAAW,CAACW,cAAc,GAC1BC,SAAS;EAEZ7B,eAAe,CAAC,MAAM;IACrB,IAAI8B,OAAO,IAAIb,WAAW,KAAK,IAAI,EAAE;MACpCf,MAAM,CAAC6B,IAAI,CAAC1B,2BAA2B,CAAC;IACzC;EACD,CAAC,EAAE,CAACY,WAAW,CAAC,CAAC;EAEjB,oBACCT,IAAA,CAACJ,MAAM;IACN4B,IAAI,EAAC,gBAAgB;IACrBd,UAAU,EAAEA,UAAU,IAAI,EAAG;IAC7Be,OAAO,EAAET,8BAA+B;IACxCU,cAAc,EAAEN,cAAe;IAAAf,QAAA,eAE/BL,IAAA,CAACP,QAAQ,CAACkC,IAAI;MAAA,GACTnB,IAAI;MACRF,aAAa,EAAEA,aAAc;MAC7BsB,GAAG,EAAEZ,8BAA8B,GAAGK,SAAS,GAAGD,cAAe;MACjEb,KAAK,EAAE,CAACA,KAAK,EAAEM,cAAc,GAAGK,sBAAsB,GAAGG,SAAS,CAAE;MACpEQ,WAAW,EAAE,KAAM;MAAAxB,QAAA,eAEnBL,IAAA,CAACJ,MAAM;QAAC4B,IAAI,EAAC,SAAS;QAACd,UAAU,EAAEA,UAAW;QAACe,OAAO,EAAEV,cAAe;QAAAV,QAAA,EACrEA;MAAQ,CACF;IAAC,CACK;EAAC,CACT,CAAC;AAEX,CAAC;AAED,OAAO,MAAMyB,cAAc,gBAAGvC,IAAI,CACjCW,mBACD,CAAoD","ignoreList":[]}
@@ -3,8 +3,7 @@
3
3
  import { cloneElement, forwardRef, memo, useMemo } from "react";
4
4
  import Animated from "react-native-reanimated";
5
5
  import { BOUNDARY_TARGET_ACTIVE_PROP, BoundaryTarget } from "./components/boundary-target";
6
- import { BoundaryContentPortal, BoundaryContentPortalHost } from "./portal/components/boundary-content-portal";
7
- import { BoundaryPortal } from "./portal/components/boundary-portal";
6
+ import { Portal } from "./portal/components/portal";
8
7
  import { BoundaryRootProvider } from "./providers/boundary-root.provider";
9
8
  import { resolveBoundaryTarget } from "./utils/resolve-boundary-target";
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -28,6 +27,12 @@ export function createBoundaryComponent(Wrapped, options = {}) {
28
27
  children,
29
28
  ...rest
30
29
  } = props;
30
+ const config = useMemo(() => ({
31
+ anchor,
32
+ scaleMode,
33
+ target,
34
+ method
35
+ }), [anchor, scaleMode, target, method]);
31
36
  const targetResolution = useMemo(() => {
32
37
  return resolveBoundaryTarget(children, {
33
38
  isTarget: element => element.type === BoundaryTarget,
@@ -38,12 +43,7 @@ export function createBoundaryComponent(Wrapped, options = {}) {
38
43
  }, [children]);
39
44
  const targetStyle = targetResolution.target?.props?.style;
40
45
  return /*#__PURE__*/_jsx(BoundaryRootProvider, {
41
- config: {
42
- anchor,
43
- scaleMode,
44
- target,
45
- method
46
- },
46
+ config: config,
47
47
  enabled: enabled,
48
48
  escapeClipping: escapeClipping,
49
49
  forwardedRef: forwardedRef,
@@ -54,7 +54,8 @@ export function createBoundaryComponent(Wrapped, options = {}) {
54
54
  style: style,
55
55
  targetCount: targetResolution.targetCount,
56
56
  targetStyle: targetStyle,
57
- children: root => /*#__PURE__*/_jsx(BoundaryPortal, {
57
+ children: root => /*#__PURE__*/_jsx(Portal, {
58
+ mode: "escapeClipping",
58
59
  boundaryId: root.boundTag.tag,
59
60
  enabled: root.shouldRenderBoundaryRootThroughPortal,
60
61
  placeholderRef: root.measurementRef,
@@ -63,15 +64,11 @@ export function createBoundaryComponent(Wrapped, options = {}) {
63
64
  ref: root.ref,
64
65
  style: [style, root.attachedStyle],
65
66
  collapsable: false,
66
- children: /*#__PURE__*/_jsx(BoundaryContentPortalHost, {
67
+ children: /*#__PURE__*/_jsx(Portal, {
68
+ mode: "handoff",
67
69
  boundaryId: root.boundTag.tag,
68
70
  enabled: root.shouldRenderHandoffHost,
69
- screenKey: root.currentScreenKey,
70
- children: /*#__PURE__*/_jsx(BoundaryContentPortal, {
71
- boundaryId: root.boundTag.tag,
72
- enabled: root.shouldRenderHandoffHost,
73
- children: targetResolution.children
74
- })
71
+ children: targetResolution.children
75
72
  })
76
73
  })
77
74
  })
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","forwardRef","memo","useMemo","Animated","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTarget","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","BoundaryRootProvider","resolveBoundaryTarget","jsx","_jsx","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","createAnimatedComponent","Inner","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","targetResolution","isTarget","element","type","mapTarget","selected","targetStyle","config","hasTarget","targetCount","root","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","placeholderRef","measurementRef","ref","attachedStyle","collapsable","shouldRenderHandoffHost","screenKey","currentScreenKey"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":";;AAAA,SAECA,YAAY,EACZC,UAAU,EACVC,IAAI,EACJC,OAAO,QACD,OAAO;AACd,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SACCC,2BAA2B,EAC3BC,cAAc,QACR,8BAA8B;AACrC,SACCC,qBAAqB,EACrBC,yBAAyB,QACnB,6CAA6C;AACpD,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SAASC,oBAAoB,QAAQ,oCAAoC;AAEzE,SAASC,qBAAqB,QAAQ,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMxE,OAAO,SAASC,uBAAuBA,CACtCC,OAAyB,EACzBC,OAAuC,GAAG,CAAC,CAAC,EAC3C;EACD,MAAM;IAAEC,eAAe,GAAG;EAAM,CAAC,GAAGD,OAAO;EAC3C,MAAME,iBAAiB,GAAGD,eAAe,GACtCF,OAAO,GACPX,QAAQ,CAACe,uBAAuB,CAACJ,OAAO,CAAC;EAE5C,MAAMK,KAAK,gBAAGnB,UAAU,CAGtB,CAACoB,KAAK,EAAEC,YAAY,KAAK;IAC1B,MAAM;MACLC,OAAO,GAAG,IAAI;MACdC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,SAAS;MACTC,MAAM;MACNC,MAAM;MACNC,KAAK;MACLC,OAAO;MACPC,cAAc;MACdC,QAAQ;MACR,GAAGC;IACJ,CAAC,GAAGb,KAAY;IAChB,MAAMc,gBAAgB,GAAGhC,OAAO,CAAC,MAAM;MACtC,OAAOQ,qBAAqB,CAACsB,QAAQ,EAAE;QACtCG,QAAQ,EAAGC,OAAO,IAAKA,OAAO,CAACC,IAAI,KAAKhC,cAAc;QACtDiC,SAAS,EAAEA,CAACF,OAAO,EAAEG,QAAQ,kBAC5BxC,YAAY,CAACqC,OAAO,EAAE;UACrB,CAAChC,2BAA2B,GAAGmC;QAChC,CAAQ;MACV,CAAC,CAAC;IACH,CAAC,EAAE,CAACP,QAAQ,CAAC,CAAC;IACd,MAAMQ,WAAW,GAChBN,gBAAgB,CAACP,MAAM,EAAEP,KAAK,EAC5BS,KAAK;IAER,oBACCjB,IAAA,CAACH,oBAAoB;MACpBgC,MAAM,EAAE;QAAEhB,MAAM;QAAEC,SAAS;QAAEC,MAAM;QAAEC;MAAO,CAAE;MAC9CN,OAAO,EAAEA,OAAQ;MACjBS,cAAc,EAAEA,cAAe;MAC/BV,YAAY,EAAEA,YAAa;MAC3BE,KAAK,EAAEA,KAAM;MACbO,OAAO,EAAEA,OAAQ;MACjBY,SAAS,EAAER,gBAAgB,CAACP,MAAM,KAAK,IAAK;MAC5CH,EAAE,EAAEA,EAAG;MACPK,KAAK,EAAEA,KAAM;MACbc,WAAW,EAAET,gBAAgB,CAACS,WAAY;MAC1CH,WAAW,EAAEA,WAAY;MAAAR,QAAA,EAEvBY,IAAI,iBACLhC,IAAA,CAACJ,cAAc;QACdqC,UAAU,EAAED,IAAI,CAACE,QAAQ,CAACC,GAAI;QAC9BzB,OAAO,EAAEsB,IAAI,CAACI,qCAAsC;QACpDC,cAAc,EAAEL,IAAI,CAACM,cAAe;QAAAlB,QAAA,eAEpCpB,IAAA,CAACK,iBAAiB;UAAA,GACbgB,IAAI;UACRkB,GAAG,EAAEP,IAAI,CAACO,GAAI;UACdtB,KAAK,EAAE,CAACA,KAAK,EAAEe,IAAI,CAACQ,aAAa,CAAE;UACnCC,WAAW,EAAE,KAAM;UAAArB,QAAA,eAEnBpB,IAAA,CAACL,yBAAyB;YACzBsC,UAAU,EAAED,IAAI,CAACE,QAAQ,CAACC,GAAI;YAC9BzB,OAAO,EAAEsB,IAAI,CAACU,uBAAwB;YACtCC,SAAS,EAAEX,IAAI,CAACY,gBAAiB;YAAAxB,QAAA,eAEjCpB,IAAA,CAACN,qBAAqB;cACrBuC,UAAU,EAAED,IAAI,CAACE,QAAQ,CAACC,GAAI;cAC9BzB,OAAO,EAAEsB,IAAI,CAACU,uBAAwB;cAAAtB,QAAA,EAErCE,gBAAgB,CAACF;YAAQ,CACJ;UAAC,CACE;QAAC,CACV;MAAC,CACL;IAChB,CACoB,CAAC;EAEzB,CAAC,CAAC;;EAEF;EACA;EACA,oBAAO/B,IAAI,CAACkB,KAAK,CAAC;AAMnB","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","forwardRef","memo","useMemo","Animated","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTarget","Portal","BoundaryRootProvider","resolveBoundaryTarget","jsx","_jsx","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","createAnimatedComponent","Inner","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","config","targetResolution","isTarget","element","type","mapTarget","selected","targetStyle","hasTarget","targetCount","root","mode","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","placeholderRef","measurementRef","ref","attachedStyle","collapsable","shouldRenderHandoffHost"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ import { getLinkKeyFromTag } from "../../../stores/bounds/helpers/link-pairs.helpers";
4
+ export function resolveBoundaryPresentation(screenKey, boundaryId, state) {
5
+ "worklet";
6
+
7
+ const linkKey = getLinkKeyFromTag(boundaryId);
8
+ let result;
9
+ for (const value of state.presentations) {
10
+ const presentation = value?.get();
11
+ if (!presentation) continue;
12
+ const pair = state.pairs[presentation.pairKey];
13
+ const link = pair?.links[linkKey];
14
+ if (!link || link.group && pair.groups[link.group]?.activeId !== linkKey) continue;
15
+ const sourceKey = link.source?.screenKey ?? presentation.sourceKey;
16
+ const destinationKey = link.destination?.screenKey ?? presentation.destinationKey;
17
+ if (sourceKey !== screenKey && destinationKey !== screenKey) continue;
18
+ // A preparing or completed pair cannot displace a live presentation.
19
+ if (result && !presentation.ready) continue;
20
+ result = {
21
+ ...presentation,
22
+ sourceKey,
23
+ destinationKey
24
+ };
25
+ }
26
+ return result;
27
+ }
28
+ export function resolveBoundaryReceiver(presentation, target, screenKey) {
29
+ "worklet";
30
+
31
+ if (!presentation) return screenKey;
32
+ return presentation.ready && target !== "source" ? presentation.destinationKey : presentation.sourceKey;
33
+ }
34
+ export function resolveBoundaryHandoff(screenKey, boundaryId, state) {
35
+ "worklet";
36
+
37
+ let receiver = screenKey;
38
+ const visited = {};
39
+ while (!visited[receiver]) {
40
+ visited[receiver] = true;
41
+ const p = resolveBoundaryPresentation(receiver, boundaryId, state);
42
+ if (!p) break;
43
+ const slot = (p.sourceKey === receiver ? p.source : p.destination)[boundaryId];
44
+ const next = resolveBoundaryReceiver(p, slot?.props?.handoffTarget ?? p.destination[boundaryId]?.props?.handoffTarget ?? p.source[boundaryId]?.props?.handoffTarget, receiver);
45
+ if (next === receiver || !state.entries[boundaryId]?.screens[next]?.handoff) break;
46
+ receiver = next;
47
+ }
48
+ return receiver;
49
+ }
50
+ //# sourceMappingURL=presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getLinkKeyFromTag","resolveBoundaryPresentation","screenKey","boundaryId","state","linkKey","result","value","presentations","presentation","get","pair","pairs","pairKey","link","links","group","groups","activeId","sourceKey","source","destinationKey","destination","ready","resolveBoundaryReceiver","target","resolveBoundaryHandoff","receiver","visited","p","slot","next","props","handoffTarget","entries","screens","handoff"],"sourceRoot":"../../../../../src","sources":["components/boundary/helpers/presentation.ts"],"mappings":";;AACA,SAASA,iBAAiB,QAAQ,mDAAmD;AAqBrF,OAAO,SAASC,2BAA2BA,CAC1CC,SAAiB,EACjBC,UAAkB,EAClBC,KAAgC,EAC/B;EACD,SAAS;;EACT,MAAMC,OAAO,GAAGL,iBAAiB,CAACG,UAAU,CAAC;EAC7C,IAAIG,MAA4C;EAChD,KAAK,MAAMC,KAAK,IAAIH,KAAK,CAACI,aAAa,EAAE;IACxC,MAAMC,YAAY,GAAGF,KAAK,EAAEG,GAAG,CAAC,CAAC;IACjC,IAAI,CAACD,YAAY,EAAE;IACnB,MAAME,IAAI,GAAGP,KAAK,CAACQ,KAAK,CAACH,YAAY,CAACI,OAAO,CAAC;IAC9C,MAAMC,IAAI,GAAGH,IAAI,EAAEI,KAAK,CAACV,OAAO,CAAC;IACjC,IAAI,CAACS,IAAI,IAAKA,IAAI,CAACE,KAAK,IAAIL,IAAI,CAACM,MAAM,CAACH,IAAI,CAACE,KAAK,CAAC,EAAEE,QAAQ,KAAKb,OAAQ,EACzE;IACD,MAAMc,SAAS,GAAGL,IAAI,CAACM,MAAM,EAAElB,SAAS,IAAIO,YAAY,CAACU,SAAS;IAClE,MAAME,cAAc,GACnBP,IAAI,CAACQ,WAAW,EAAEpB,SAAS,IAAIO,YAAY,CAACY,cAAc;IAC3D,IAAIF,SAAS,KAAKjB,SAAS,IAAImB,cAAc,KAAKnB,SAAS,EAAE;IAC7D;IACA,IAAII,MAAM,IAAI,CAACG,YAAY,CAACc,KAAK,EAAE;IACnCjB,MAAM,GAAG;MAAE,GAAGG,YAAY;MAAEU,SAAS;MAAEE;IAAe,CAAC;EACxD;EACA,OAAOf,MAAM;AACd;AAEA,OAAO,SAASkB,uBAAuBA,CACtCf,YAAkD,EAClDgB,MAAyC,EACzCvB,SAAiB,EAChB;EACD,SAAS;;EACT,IAAI,CAACO,YAAY,EAAE,OAAOP,SAAS;EACnC,OAAOO,YAAY,CAACc,KAAK,IAAIE,MAAM,KAAK,QAAQ,GAC7ChB,YAAY,CAACY,cAAc,GAC3BZ,YAAY,CAACU,SAAS;AAC1B;AAEA,OAAO,SAASO,sBAAsBA,CACrCxB,SAAiB,EACjBC,UAAkB,EAClBC,KAAgC,EAC/B;EACD,SAAS;;EACT,IAAIuB,QAAQ,GAAGzB,SAAS;EACxB,MAAM0B,OAA6B,GAAG,CAAC,CAAC;EACxC,OAAO,CAACA,OAAO,CAACD,QAAQ,CAAC,EAAE;IAC1BC,OAAO,CAACD,QAAQ,CAAC,GAAG,IAAI;IACxB,MAAME,CAAC,GAAG5B,2BAA2B,CAAC0B,QAAQ,EAAExB,UAAU,EAAEC,KAAK,CAAC;IAClE,IAAI,CAACyB,CAAC,EAAE;IACR,MAAMC,IAAI,GAAG,CAACD,CAAC,CAACV,SAAS,KAAKQ,QAAQ,GAAGE,CAAC,CAACT,MAAM,GAAGS,CAAC,CAACP,WAAW,EAChEnB,UAAU,CACV;IACD,MAAM4B,IAAI,GAAGP,uBAAuB,CACnCK,CAAC,EACDC,IAAI,EAAEE,KAAK,EAAEC,aAAa,IACzBJ,CAAC,CAACP,WAAW,CAACnB,UAAU,CAAC,EAAE6B,KAAK,EAAEC,aAAa,IAC/CJ,CAAC,CAACT,MAAM,CAACjB,UAAU,CAAC,EAAE6B,KAAK,EAAEC,aAAa,EAC3CN,QACD,CAAC;IACD,IAAII,IAAI,KAAKJ,QAAQ,IAAI,CAACvB,KAAK,CAAC8B,OAAO,CAAC/B,UAAU,CAAC,EAAEgC,OAAO,CAACJ,IAAI,CAAC,EAAEK,OAAO,EAC1E;IACDT,QAAQ,GAAGI,IAAI;EAChB;EACA,OAAOJ,QAAQ;AAChB","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from "react";
4
+ import { useDerivedValue, useSharedValue } from "react-native-reanimated";
5
+ import { NO_PROPS, NO_STYLES } from "../../../constants";
6
+ import { useBuilderStore } from "../../../providers/screen/builder";
7
+ import { useScreenRelationships } from "../../../providers/screen/builder/topology";
8
+ import { useOptionalOrchestratorStore, useOrchestratorStore } from "../../../providers/screen/orchestrator";
9
+ import { areResettableStatesBySlotEqual, resolveSlotStyles } from "../../../providers/screen/orchestrator/styles/helpers/resolve-slot-styles";
10
+ import { useOptionalBlankStackStore } from "../../../providers/stack/blank-stack.provider";
11
+ import { boundaryRegistry, pairs } from "../../../stores/bounds/internals/state";
12
+ import { resolveBoundaryHandoff, resolveBoundaryPresentation } from "../helpers/presentation";
13
+
14
+ // Screens are discovered through existing providers. React only wires subscriptions;
15
+ // their live UI values decide ownership, including retained closing screens.
16
+ export function useBoundaryPresentation(boundaryId, enabled = true) {
17
+ const screenKey = useBuilderStore(s => s.derivations.currentScreenKey);
18
+ const scenes = useOptionalBlankStackStore(s => s?.scenes);
19
+ const keys = useMemo(() => enabled ? scenes?.map(s => s.route.key) ?? [screenKey] : [], [scenes, screenKey, enabled]);
20
+ const pairPresentations = useOptionalOrchestratorStore(keys, s => s.pairPresentation);
21
+ const localSlots = useOrchestratorStore(s => s.slotsMap);
22
+ const {
23
+ parentScreenKey
24
+ } = useScreenRelationships();
25
+ const ancestorSlots = useOptionalOrchestratorStore(parentScreenKey, s => s.slotsMap);
26
+ const previous = useSharedValue(NO_PROPS);
27
+ const presentation = useDerivedValue(() => {
28
+ const state = {
29
+ presentations: pairPresentations,
30
+ pairs: pairs.get(),
31
+ entries: boundaryRegistry.get()
32
+ };
33
+ const owner = resolveBoundaryPresentation(screenKey, boundaryId, state);
34
+ const receiver = resolveBoundaryHandoff(screenKey, boundaryId, state);
35
+ const ownedSlot = owner?.ready ? (owner.sourceKey === screenKey ? owner.source : owner.destination)[boundaryId] : undefined;
36
+ const fallback = localSlots.get()[boundaryId];
37
+ const {
38
+ resolvedStylesMap,
39
+ nextPreviousStyleStatesBySlot
40
+ } = resolveSlotStyles({
41
+ localStylesMaps: [{
42
+ [boundaryId]: ownedSlot ?? fallback ?? {}
43
+ }],
44
+ ancestorStylesMap: ownedSlot ? ancestorSlots?.get() ?? NO_STYLES : NO_STYLES,
45
+ previousStyleStatesBySlot: previous.get()
46
+ });
47
+ if (!areResettableStatesBySlotEqual(previous.get(), nextPreviousStyleStatesBySlot)) {
48
+ previous.set(nextPreviousStyleStatesBySlot);
49
+ }
50
+ return {
51
+ owner,
52
+ receiver,
53
+ slots: resolvedStylesMap
54
+ };
55
+ });
56
+ const slotsMap = useDerivedValue(() => presentation.get().slots);
57
+ return {
58
+ presentation,
59
+ slotsMap
60
+ };
61
+ }
62
+ //# sourceMappingURL=use-boundary-presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useDerivedValue","useSharedValue","NO_PROPS","NO_STYLES","useBuilderStore","useScreenRelationships","useOptionalOrchestratorStore","useOrchestratorStore","areResettableStatesBySlotEqual","resolveSlotStyles","useOptionalBlankStackStore","boundaryRegistry","pairs","resolveBoundaryHandoff","resolveBoundaryPresentation","useBoundaryPresentation","boundaryId","enabled","screenKey","s","derivations","currentScreenKey","scenes","keys","map","route","key","pairPresentations","pairPresentation","localSlots","slotsMap","parentScreenKey","ancestorSlots","previous","presentation","state","presentations","get","entries","owner","receiver","ownedSlot","ready","sourceKey","source","destination","undefined","fallback","resolvedStylesMap","nextPreviousStyleStatesBySlot","localStylesMaps","ancestorStylesMap","previousStyleStatesBySlot","set","slots"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-presentation.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from "react";
4
+ import { useAnimatedStyle } from "react-native-reanimated";
5
+ import { NO_STYLES } from "../../../constants";
6
+ import { composeSlotStyleWithLocalTransform, getLocalTransformForSlotComposition } from "../../../providers/screen/orchestrator/styles/helpers/compose-slot-style";
7
+ export function useComposedBoundaryStyle(slots, id, style, kind = "full") {
8
+ const local = useMemo(() => getLocalTransformForSlotComposition(style), [style]);
9
+ return useAnimatedStyle(() => {
10
+ const slot = id ? slots?.get()[id] : undefined;
11
+ const value = slot?.style ?? NO_STYLES;
12
+ if (kind === "stacking") return {
13
+ zIndex: value.zIndex ?? 0,
14
+ elevation: value.elevation ?? 0
15
+ };
16
+ if (kind === "layout") {
17
+ const {
18
+ width,
19
+ height,
20
+ minWidth,
21
+ minHeight,
22
+ maxWidth,
23
+ maxHeight,
24
+ aspectRatio
25
+ } = value;
26
+ return {
27
+ width,
28
+ height,
29
+ minWidth,
30
+ minHeight,
31
+ maxWidth,
32
+ maxHeight,
33
+ aspectRatio
34
+ };
35
+ }
36
+ return composeSlotStyleWithLocalTransform(value, local, slot?.boundsLocalTransform);
37
+ });
38
+ }
39
+ //# sourceMappingURL=use-composed-boundary-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAnimatedStyle","NO_STYLES","composeSlotStyleWithLocalTransform","getLocalTransformForSlotComposition","useComposedBoundaryStyle","slots","id","style","kind","local","slot","get","undefined","value","zIndex","elevation","width","height","minWidth","minHeight","maxWidth","maxHeight","aspectRatio","boundsLocalTransform"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-composed-boundary-style.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAGCC,gBAAgB,QACV,yBAAyB;AAChC,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SACCC,kCAAkC,EAClCC,mCAAmC,QAC7B,0EAA0E;AAGjF,OAAO,SAASC,wBAAwBA,CACvCC,KAAqE,EACrEC,EAAsB,EACtBC,KAAe,EACfC,IAAoC,GAAG,MAAM,EAC5C;EACD,MAAMC,KAAK,GAAGV,OAAO,CACpB,MAAMI,mCAAmC,CAACI,KAAK,CAAC,EAChD,CAACA,KAAK,CACP,CAAC;EAED,OAAOP,gBAAgB,CAAC,MAAM;IAC7B,MAAMU,IAAI,GAAGJ,EAAE,GAAGD,KAAK,EAAEM,GAAG,CAAC,CAAC,CAACL,EAAE,CAAC,GAAGM,SAAS;IAC9C,MAAMC,KAAiB,GAAGH,IAAI,EAAEH,KAAK,IAAIN,SAAS;IAClD,IAAIO,IAAI,KAAK,UAAU,EACtB,OAAO;MAAEM,MAAM,EAAED,KAAK,CAACC,MAAM,IAAI,CAAC;MAAEC,SAAS,EAAEF,KAAK,CAACE,SAAS,IAAI;IAAE,CAAC;IAEtE,IAAIP,IAAI,KAAK,QAAQ,EAAE;MACtB,MAAM;QACLQ,KAAK;QACLC,MAAM;QACNC,QAAQ;QACRC,SAAS;QACTC,QAAQ;QACRC,SAAS;QACTC;MACD,CAAC,GAAGT,KAAK;MAET,OAAO;QACNG,KAAK;QACLC,MAAM;QACNC,QAAQ;QACRC,SAAS;QACTC,QAAQ;QACRC,SAAS;QACTC;MACD,CAAC;IACF;IACA,OAAOpB,kCAAkC,CACxCW,KAAK,EACLJ,KAAK,EACLC,IAAI,EAAEa,oBACP,CAAC;EACF,CAAC,CAAC;AACH","ignoreList":[]}
@@ -5,7 +5,7 @@ import { View } from "react-native";
5
5
  import { Pressable } from "react-native-gesture-handler";
6
6
  import { BoundaryTarget } from "./components/boundary-target";
7
7
  import { createBoundaryComponent } from "./create-boundary-component";
8
- import { Host } from "./portal";
8
+ import { PortalOverlay } from "./portal/components/portal-overlay";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export { createBoundaryComponent };
11
11
  const BoundaryPrimitive = /*#__PURE__*/forwardRef((props, ref) => {
@@ -19,7 +19,6 @@ BoundaryPrimitive.displayName = "Transition.Boundary.Primitive";
19
19
  const BoundaryRoot = createBoundaryComponent(BoundaryPrimitive);
20
20
  BoundaryRoot.displayName = "Transition.Boundary";
21
21
  BoundaryTarget.displayName = "Transition.Boundary.Target";
22
- Host.displayName = "Transition.Boundary.Host";
23
22
 
24
23
  /**
25
24
  * Shared-boundary component with static helpers.
@@ -41,6 +40,6 @@ Host.displayName = "Transition.Boundary.Host";
41
40
 
42
41
  export const Boundary = Object.assign(BoundaryRoot, {
43
42
  Target: BoundaryTarget,
44
- Host
43
+ Host: PortalOverlay
45
44
  });
46
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","View","Pressable","BoundaryTarget","createBoundaryComponent","Host","jsx","_jsx","BoundaryPrimitive","props","ref","Component","displayName","BoundaryRoot","Boundary","Object","assign","Target"],"sourceRoot":"../../../../src","sources":["components/boundary/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,SAAS,QAA6B,8BAA8B;AAC7E,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,IAAI,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGhC,SAASH,uBAAuB;AAOhC,MAAMI,iBAAiB,gBAAGR,UAAU,CACnC,CAACS,KAAK,EAAEC,GAAG,KAAK;EACf,MAAMC,SAAS,GAAG,SAAS,IAAIF,KAAK,GAAGP,SAAS,GAAGD,IAAI;EAEvD,oBAAOM,IAAA,CAACI,SAAS;IAAA,GAAMF,KAAK;IAAUC,GAAG,EAAEA;EAAW,CAAE,CAAC;AAC1D,CACD,CAAC;AAEDF,iBAAiB,CAACI,WAAW,GAAG,+BAA+B;AAE/D,MAAMC,YAAY,GAAGT,uBAAuB,CAACI,iBAAiB,CAAC;AAC/DK,YAAY,CAACD,WAAW,GAAG,qBAAqB;AAChDT,cAAc,CAACS,WAAW,GAAG,4BAA4B;AACzDP,IAAI,CAACO,WAAW,GAAG,0BAA0B;;AAI7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,MAAME,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACH,YAAY,EAAE;EACnDI,MAAM,EAAEd,cAAc;EACtBE;AACD,CAAC,CAAsB","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","View","Pressable","BoundaryTarget","createBoundaryComponent","PortalOverlay","jsx","_jsx","BoundaryPrimitive","props","ref","Component","displayName","BoundaryRoot","Boundary","Object","assign","Target","Host"],"sourceRoot":"../../../../src","sources":["components/boundary/index.tsx"],"mappings":";;AAAA,SAECA,UAAU,QAEJ,OAAO;AACd,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,SAAS,QAA6B,8BAA8B;AAC7E,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,aAAa,QAAQ,oCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGnE,SAASH,uBAAuB;AAOhC,MAAMI,iBAAiB,gBAAGR,UAAU,CACnC,CAACS,KAAK,EAAEC,GAAG,KAAK;EACf,MAAMC,SAAS,GAAG,SAAS,IAAIF,KAAK,GAAGP,SAAS,GAAGD,IAAI;EAEvD,oBAAOM,IAAA,CAACI,SAAS;IAAA,GAAMF,KAAK;IAAUC,GAAG,EAAEA;EAAW,CAAE,CAAC;AAC1D,CACD,CAAC;AAEDF,iBAAiB,CAACI,WAAW,GAAG,+BAA+B;AAE/D,MAAMC,YAAY,GAAGT,uBAAuB,CAACI,iBAAiB,CAAC;AAC/DK,YAAY,CAACD,WAAW,GAAG,qBAAqB;AAChDT,cAAc,CAACS,WAAW,GAAG,4BAA4B;;AAIzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,OAAO,MAAME,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACH,YAAY,EAAE;EACnDI,MAAM,EAAEd,cAAc;EACtBe,IAAI,EAAEb;AACP,CAAC,CAAsB","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { memo } from "react";
4
+ import { StyleSheet } from "react-native";
5
+ import Animated from "react-native-reanimated";
6
+ import { NativePortalHost, PORTAL_POINTER_EVENTS } from "../teleport";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const AnimatedHost = NativePortalHost ? Animated.createAnimatedComponent(NativePortalHost) : null;
9
+
10
+ /**
11
+ * The native receiving point for a Portal whose destination matches `name`.
12
+ *
13
+ * Handoff places this inside a boundary, filling its local frame. Escape-clipping
14
+ * places it inside a PortalOverlay, which supplies
15
+ * the boundary's size, offset, and animated styles. This component only renders
16
+ * the receiver; destination selection and measurement belong to its callers.
17
+ */
18
+ export const PortalHost = /*#__PURE__*/memo(function PortalHost({
19
+ name,
20
+ style = styles.inline
21
+ }) {
22
+ return AnimatedHost ? /*#__PURE__*/_jsx(AnimatedHost, {
23
+ name: name,
24
+ pointerEvents: PORTAL_POINTER_EVENTS,
25
+ style: style
26
+ }) : null;
27
+ });
28
+ const styles = StyleSheet.create({
29
+ inline: {
30
+ ...StyleSheet.absoluteFill,
31
+ overflow: "visible"
32
+ }
33
+ });
34
+ //# sourceMappingURL=portal-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","StyleSheet","Animated","NativePortalHost","PORTAL_POINTER_EVENTS","jsx","_jsx","AnimatedHost","createAnimatedComponent","PortalHost","name","style","styles","inline","pointerEvents","create","absoluteFill","overflow"],"sourceRoot":"../../../../../../src","sources":["components/boundary/portal/components/portal-host.tsx"],"mappings":";;AAAA,SAA8BA,IAAI,QAAQ,OAAO;AACjD,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,gBAAgB,EAAEC,qBAAqB,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,YAAY,GAAGJ,gBAAgB,GAClCD,QAAQ,CAACM,uBAAuB,CAACL,gBAAgB,CAAC,GAClD,IAAI;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,UAAU,gBAAGT,IAAI,CAAC,SAASS,UAAUA,CAAC;EAClDC,IAAI;EACJC,KAAK,GAAGC,MAAM,CAACC;AAIhB,CAAC,EAAE;EACF,OAAON,YAAY,gBAClBD,IAAA,CAACC,YAAY;IACZG,IAAI,EAAEA,IAAK;IACXI,aAAa,EAAEV,qBAAsB;IACrCO,KAAK,EAAEA;EAAM,CACb,CAAC,GACC,IAAI;AACT,CAAC,CAAC;AAEF,MAAMC,MAAM,GAAGX,UAAU,CAACc,MAAM,CAAC;EAChCF,MAAM,EAAE;IAAE,GAAGZ,UAAU,CAACe,YAAY;IAAEC,QAAQ,EAAE;EAAU;AAC3D,CAAC,CAAC","ignoreList":[]}