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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +21 -16
  2. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +88 -114
  4. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +14 -7
  6. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  7. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +51 -24
  8. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  9. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +7 -10
  10. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  11. package/lib/commonjs/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +10 -7
  12. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  13. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +82 -0
  14. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  15. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +10 -13
  16. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/index.js +27 -30
  18. package/lib/commonjs/shared/components/boundary/index.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +58 -0
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  21. package/lib/commonjs/shared/components/boundary/portal/components/host.js +20 -4
  22. package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
  24. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +206 -96
  26. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
  27. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js +14 -2
  28. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js +5 -44
  30. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  31. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js +37 -5
  32. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  33. package/lib/commonjs/shared/components/boundary/portal/teleport.js +15 -2
  34. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js +18 -0
  36. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  37. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +10 -3
  38. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
  39. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js +28 -49
  40. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  41. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +254 -0
  42. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  43. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js +38 -0
  44. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  45. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js +29 -0
  46. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  47. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js +10 -1
  48. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  49. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js +25 -0
  50. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  51. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +65 -0
  52. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  53. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +12 -2
  54. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  55. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -21
  56. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  57. package/lib/commonjs/shared/components/boundary/utils/source-signals.js +4 -9
  58. package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +1 -1
  59. package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -20
  60. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  61. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +1 -1
  62. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  63. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +2 -14
  64. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  65. package/lib/commonjs/shared/components/screen-container/layers/content.js +4 -16
  66. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  67. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +4 -15
  68. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  69. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +4 -16
  70. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  71. package/lib/commonjs/shared/index.js.map +1 -1
  72. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +6 -3
  73. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  74. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -0
  75. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +143 -24
  77. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/screen-composer.js +1 -1
  79. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js +95 -0
  81. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  82. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  83. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  84. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js +32 -0
  85. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  86. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +16 -11
  87. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  89. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  90. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +1 -20
  91. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  92. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +1 -11
  93. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  94. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +96 -0
  95. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  96. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +36 -36
  97. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  98. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  99. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  100. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +8 -3
  101. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  102. package/lib/commonjs/shared/providers/screen/styles/index.js +38 -7
  103. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  104. package/lib/commonjs/shared/providers/screen/styles/{styles.provider.js → slot.provider.js} +34 -21
  105. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -0
  106. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +53 -0
  107. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  108. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +37 -2
  109. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  110. package/lib/commonjs/shared/stores/bounds/internals/entries.js +11 -4
  111. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
  112. package/lib/commonjs/shared/stores/bounds/internals/links.js +134 -51
  113. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  114. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +1 -3
  115. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  116. package/lib/commonjs/shared/stores/system.store.js +5 -0
  117. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  118. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +10 -69
  119. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  120. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js +59 -0
  121. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  122. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +8 -1
  123. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  124. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +59 -0
  125. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  126. package/lib/commonjs/shared/utils/logger.js +11 -0
  127. package/lib/commonjs/shared/utils/logger.js.map +1 -1
  128. package/lib/module/shared/components/boundary/components/boundary-target.js +19 -14
  129. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  130. package/lib/module/shared/components/boundary/create-boundary-component.js +93 -119
  131. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  132. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +30 -0
  133. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  134. package/lib/module/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +51 -24
  135. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  136. package/lib/module/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +7 -10
  137. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  138. package/lib/module/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +10 -7
  139. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  140. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +77 -0
  141. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  142. package/lib/module/shared/components/boundary/hooks/use-measurer.js +10 -13
  143. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  144. package/lib/module/shared/components/boundary/index.js +27 -30
  145. package/lib/module/shared/components/boundary/index.js.map +1 -1
  146. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +53 -0
  147. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  148. package/lib/module/shared/components/boundary/portal/components/host.js +21 -5
  149. package/lib/module/shared/components/boundary/portal/components/host.js.map +1 -1
  150. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
  151. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  152. package/lib/module/shared/components/boundary/portal/components/portal.js +213 -103
  153. package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
  154. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js +15 -3
  155. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  156. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js +4 -41
  157. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  158. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js +35 -4
  159. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  160. package/lib/module/shared/components/boundary/portal/teleport.js +16 -2
  161. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  162. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js +13 -0
  163. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  164. package/lib/module/shared/components/boundary/portal/utils/naming.js +8 -2
  165. package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
  166. package/lib/module/shared/components/boundary/portal/utils/offset-style.js +29 -49
  167. package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  168. package/lib/module/shared/components/boundary/portal/utils/ownership.js +246 -0
  169. package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  170. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js +33 -0
  171. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  172. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js +24 -0
  173. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  174. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js +8 -0
  175. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  176. package/lib/module/shared/components/boundary/portal/utils/visible-host.js +20 -0
  177. package/lib/module/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  178. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +57 -0
  179. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  180. package/lib/module/shared/components/boundary/utils/destination-signals.js +12 -2
  181. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  182. package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -21
  183. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  184. package/lib/module/shared/components/boundary/utils/source-signals.js +4 -9
  185. package/lib/module/shared/components/boundary/utils/source-signals.js.map +1 -1
  186. package/lib/module/shared/components/create-transition-aware-component.js +4 -22
  187. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  188. package/lib/module/shared/components/overlay/variations/float-overlay.js +2 -2
  189. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  190. package/lib/module/shared/components/screen-container/layers/backdrop.js +4 -16
  191. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  192. package/lib/module/shared/components/screen-container/layers/content.js +4 -16
  193. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  194. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +5 -16
  195. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  196. package/lib/module/shared/components/screen-container/layers/surface-container.js +4 -16
  197. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  198. package/lib/module/shared/index.js.map +1 -1
  199. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +6 -3
  200. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  201. package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -0
  202. package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  203. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +144 -25
  204. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  205. package/lib/module/shared/providers/screen/screen-composer.js +2 -2
  206. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  207. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js +89 -0
  208. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  209. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  210. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  211. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js +26 -0
  212. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  213. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +16 -11
  214. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  215. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  216. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  217. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +0 -18
  218. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  219. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +0 -9
  220. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  221. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +87 -0
  222. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  223. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +36 -36
  224. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  225. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  226. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  227. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +9 -4
  228. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  229. package/lib/module/shared/providers/screen/styles/index.js +2 -1
  230. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  231. package/lib/module/shared/providers/screen/styles/slot.provider.js +66 -0
  232. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -0
  233. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +47 -0
  234. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  235. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +33 -1
  236. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  237. package/lib/module/shared/stores/bounds/internals/entries.js +11 -4
  238. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
  239. package/lib/module/shared/stores/bounds/internals/links.js +135 -53
  240. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  241. package/lib/module/shared/stores/bounds/internals/resolver.js +1 -3
  242. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  243. package/lib/module/shared/stores/system.store.js +5 -0
  244. package/lib/module/shared/stores/system.store.js.map +1 -1
  245. package/lib/module/shared/types/animation.types.js.map +1 -1
  246. package/lib/module/shared/utils/bounds/helpers/styles/compute.js +10 -69
  247. package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  248. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js +52 -0
  249. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  250. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +9 -2
  251. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  252. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +58 -0
  253. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  254. package/lib/module/shared/utils/logger.js +11 -0
  255. package/lib/module/shared/utils/logger.js.map +1 -1
  256. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  257. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts +0 -1
  258. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  259. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts +11 -0
  260. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -0
  261. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +10 -0
  262. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -0
  263. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts +8 -0
  264. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -0
  265. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts +10 -0
  266. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -0
  267. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +28 -0
  268. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -0
  269. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +5 -6
  270. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  271. package/lib/typescript/shared/components/boundary/index.d.ts +36 -229
  272. package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
  273. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +8 -0
  274. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +1 -0
  275. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
  276. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +1 -1
  277. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
  278. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +4 -3
  279. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
  280. package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -1
  281. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts +0 -7
  282. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -1
  283. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts +16 -1
  284. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  285. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
  286. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  287. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +3 -0
  288. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +1 -0
  289. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +2 -1
  290. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
  291. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts +16 -32
  292. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +1 -1
  293. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +35 -0
  294. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -0
  295. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts +12 -0
  296. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -0
  297. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts +8 -0
  298. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts.map +1 -0
  299. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts +4 -0
  300. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
  301. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts +8 -0
  302. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts.map +1 -0
  303. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +37 -0
  304. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -0
  305. package/lib/typescript/shared/components/boundary/types.d.ts +9 -36
  306. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  307. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +1 -0
  308. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  309. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  310. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -1
  311. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +1 -1
  312. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  313. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  314. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  315. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  316. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  317. package/lib/typescript/shared/index.d.ts +3 -215
  318. package/lib/typescript/shared/index.d.ts.map +1 -1
  319. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +3 -3
  320. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  321. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +1 -0
  322. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
  323. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  324. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts +4 -0
  325. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts.map +1 -0
  326. package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
  327. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts +16 -0
  328. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts.map +1 -0
  329. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +3 -4
  330. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  331. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +2 -1
  332. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
  333. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts +0 -1
  334. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts.map +1 -1
  335. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +0 -1
  336. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  337. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +11 -0
  338. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -0
  339. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -6
  340. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  341. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +0 -1
  342. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  343. package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
  344. package/lib/typescript/shared/providers/screen/styles/index.d.ts +2 -1
  345. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  346. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +18 -0
  347. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -0
  348. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +6 -0
  349. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -0
  350. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +8 -1
  351. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  352. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
  353. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +4 -3
  354. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  355. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  356. package/lib/typescript/shared/stores/bounds/types.d.ts +22 -20
  357. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  358. package/lib/typescript/shared/stores/system.store.d.ts +1 -0
  359. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  360. package/lib/typescript/shared/types/animation.types.d.ts +7 -1
  361. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  362. package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
  363. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts +6 -0
  364. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts.map +1 -0
  365. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  366. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +9 -0
  367. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  368. package/lib/typescript/shared/utils/logger.d.ts +6 -0
  369. package/lib/typescript/shared/utils/logger.d.ts.map +1 -1
  370. package/package.json +1 -1
  371. package/src/shared/components/boundary/components/boundary-target.tsx +30 -16
  372. package/src/shared/components/boundary/create-boundary-component.tsx +132 -164
  373. package/src/shared/components/boundary/hooks/lifecycles/use-boundary-presence.ts +41 -0
  374. package/src/shared/components/boundary/hooks/{use-initial-destination-measurement.ts → lifecycles/use-initial-destination-measurement.ts} +65 -22
  375. package/src/shared/components/boundary/hooks/{use-initial-source-measurement.ts → lifecycles/use-initial-source-measurement.ts} +10 -12
  376. package/src/shared/components/boundary/hooks/{use-refresh-boundary.ts → lifecycles/use-refresh-boundary.ts} +10 -10
  377. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +97 -0
  378. package/src/shared/components/boundary/hooks/use-measurer.ts +16 -24
  379. package/src/shared/components/boundary/index.tsx +56 -30
  380. package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +66 -0
  381. package/src/shared/components/boundary/portal/components/host.tsx +20 -5
  382. package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +67 -52
  383. package/src/shared/components/boundary/portal/components/portal.tsx +281 -120
  384. package/src/shared/components/boundary/portal/hooks/use-host-measurement.ts +23 -2
  385. package/src/shared/components/boundary/portal/stores/host-registry.store.ts +4 -51
  386. package/src/shared/components/boundary/portal/stores/portal-boundary-host.store.ts +59 -6
  387. package/src/shared/components/boundary/portal/teleport.ts +28 -3
  388. package/src/shared/components/boundary/portal/utils/has-local-slot.ts +16 -0
  389. package/src/shared/components/boundary/portal/utils/naming.ts +11 -1
  390. package/src/shared/components/boundary/portal/utils/offset-style.ts +37 -139
  391. package/src/shared/components/boundary/portal/utils/ownership.ts +371 -0
  392. package/src/shared/components/boundary/portal/utils/resolve-portal.ts +50 -0
  393. package/src/shared/components/boundary/portal/utils/shallow-equal.ts +25 -0
  394. package/src/shared/components/boundary/portal/utils/teleport-control.ts +12 -0
  395. package/src/shared/components/boundary/portal/utils/visible-host.ts +24 -0
  396. package/src/shared/components/boundary/providers/{boundary-owner.provider.tsx → boundary-root.provider.tsx} +33 -47
  397. package/src/shared/components/boundary/types.ts +9 -39
  398. package/src/shared/components/boundary/utils/destination-signals.ts +22 -2
  399. package/src/shared/components/boundary/utils/refresh-signals.ts +0 -41
  400. package/src/shared/components/boundary/utils/source-signals.ts +5 -17
  401. package/src/shared/components/create-transition-aware-component.tsx +3 -25
  402. package/src/shared/components/overlay/variations/float-overlay.tsx +3 -3
  403. package/src/shared/components/screen-container/layers/backdrop.tsx +4 -17
  404. package/src/shared/components/screen-container/layers/content.tsx +4 -16
  405. package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +8 -18
  406. package/src/shared/components/screen-container/layers/surface-container.tsx +4 -17
  407. package/src/shared/index.ts +0 -5
  408. package/src/shared/providers/helpers/measured-bounds-writes.ts +6 -11
  409. package/src/shared/providers/screen/animation/helpers/derivations.ts +3 -0
  410. package/src/shared/providers/screen/animation/helpers/pipeline.ts +251 -68
  411. package/src/shared/providers/screen/screen-composer.tsx +3 -3
  412. package/src/shared/providers/screen/styles/helpers/compose-slot-style.ts +129 -0
  413. package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +45 -8
  414. package/src/shared/providers/screen/styles/helpers/opening-phase.ts +25 -0
  415. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +22 -12
  416. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +3 -1
  417. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.ts +0 -24
  418. package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +0 -12
  419. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +111 -0
  420. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +48 -38
  421. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +0 -18
  422. package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +17 -4
  423. package/src/shared/providers/screen/styles/index.tsx +13 -4
  424. package/src/shared/providers/screen/styles/slot.provider.tsx +93 -0
  425. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +71 -0
  426. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +41 -1
  427. package/src/shared/stores/bounds/internals/entries.ts +13 -5
  428. package/src/shared/stores/bounds/internals/links.ts +167 -85
  429. package/src/shared/stores/bounds/internals/resolver.ts +0 -2
  430. package/src/shared/stores/bounds/types.ts +24 -22
  431. package/src/shared/stores/system.store.ts +6 -0
  432. package/src/shared/types/animation.types.ts +8 -1
  433. package/src/shared/utils/bounds/helpers/styles/compute.ts +22 -124
  434. package/src/shared/utils/bounds/helpers/styles/local-transform.ts +86 -0
  435. package/src/shared/utils/bounds/navigation/zoom/build.ts +9 -1
  436. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +96 -0
  437. package/src/shared/utils/logger.ts +12 -0
  438. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  439. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  440. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  441. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  442. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js +0 -40
  443. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  444. package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js +0 -68
  445. package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  446. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -26
  447. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  448. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +0 -1
  449. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js +0 -23
  450. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  451. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  452. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  453. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  454. package/lib/module/shared/components/boundary/portal/utils/attachment.js +0 -35
  455. package/lib/module/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  456. package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js +0 -60
  457. package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  458. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -21
  459. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  460. package/lib/module/shared/providers/screen/styles/styles.provider.js +0 -53
  461. package/lib/module/shared/providers/screen/styles/styles.provider.js.map +0 -1
  462. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +0 -8
  463. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +0 -1
  464. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts +0 -9
  465. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +0 -1
  466. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +0 -9
  467. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +0 -1
  468. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts +0 -10
  469. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +0 -1
  470. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts +0 -21
  471. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts.map +0 -1
  472. package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts +0 -44
  473. package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts.map +0 -1
  474. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +0 -3
  475. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +0 -1
  476. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts +0 -14
  477. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts.map +0 -1
  478. package/src/shared/components/boundary/hooks/use-boundary-presence.ts +0 -28
  479. package/src/shared/components/boundary/portal/utils/attachment.ts +0 -48
  480. package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +0 -22
  481. package/src/shared/providers/screen/styles/styles.provider.tsx +0 -60
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BoundaryTarget = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _styles = require("../../../utils/bounds/helpers/styles/styles");
9
+ var _styles = require("../../../providers/screen/styles");
10
+ var _styles2 = require("../../../utils/bounds/helpers/styles/styles");
10
11
  var _logger = require("../../../utils/logger");
11
12
  var _portal = require("../portal/components/portal");
12
- var _boundaryOwner = require("../providers/boundary-owner.provider");
13
+ var _boundaryRoot = require("../providers/boundary-root.provider");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
16
  const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(function BoundaryTarget(props) {
@@ -19,20 +20,23 @@ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(fu
19
20
  } = props;
20
21
  const targetAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
21
22
  const placeholderAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
22
- const ownerContext = (0, _boundaryOwner.useBoundaryOwnerContext)();
23
- const registerTargetRef = ownerContext?.registerTargetRef;
24
- const unregisterTargetRef = ownerContext?.unregisterTargetRef;
25
- const isActiveTarget = ownerContext?.activeTargetRef === targetAnimatedRef;
26
- const preparedStyles = (0, _react.useMemo)(() => (0, _styles.prepareStyleForBounds)(style), [style]);
27
- // Portal'd content can be teleported into another screen's host; measuring
28
- // it there would capture its CURRENT (destination) position as the source
29
- // bounds. The portal placeholder keeps the layout slot at home, so it is
30
- // the truthful measurement surface whenever a portal is configured.
31
- const measurementRef = ownerContext?.portal ? placeholderAnimatedRef : targetAnimatedRef;
23
+ const rootContext = (0, _boundaryRoot.useBoundaryRootContext)();
24
+ const registerTargetRef = rootContext?.registerTargetRef;
25
+ const unregisterTargetRef = rootContext?.unregisterTargetRef;
26
+ const isActiveTarget = rootContext?.activeTargetRef === targetAnimatedRef;
27
+ const portalRuntime = rootContext?.portalRuntime;
28
+ const shouldApplyAssociatedStyleInline = isActiveTarget && portalRuntime?.enabled !== true;
29
+ const shouldApplyPortalLayoutStyle = isActiveTarget && portalRuntime?.enabled === true;
30
+ const associatedTargetStyles = (0, _styles.useComposedSlotStyles)(rootContext?.boundTag.tag, style);
31
+ const portalLayoutStyle = (0, _styles.useSlotLayoutStyles)(rootContext?.boundTag.tag);
32
+ const preparedStyles = (0, _react.useMemo)(() => (0, _styles2.prepareStyleForBounds)(style), [style]);
33
+ // Teleported content can render outside its layout slot. The placeholder is
34
+ // the truthful measurement surface whenever runtime portal behavior is active.
35
+ const measurementRef = portalRuntime?.enabled ? placeholderAnimatedRef : targetAnimatedRef;
32
36
  (0, _react.useLayoutEffect)(() => {
33
37
  if (!registerTargetRef || !unregisterTargetRef) {
34
38
  if (__DEV__) {
35
- _logger.logger.warn(_boundaryOwner.TARGET_OUTSIDE_OWNER_WARNING);
39
+ _logger.logger.warn(_boundaryRoot.TARGET_OUTSIDE_ROOT_WARNING);
36
40
  }
37
41
  return;
38
42
  }
@@ -42,13 +46,14 @@ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(fu
42
46
  };
43
47
  }, [registerTargetRef, unregisterTargetRef, targetAnimatedRef, preparedStyles, measurementRef]);
44
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.Portal, {
45
- id: ownerContext?.entryTag,
46
- mode: ownerContext?.portal,
49
+ id: rootContext?.boundTag.tag,
50
+ handoff: portalRuntime?.handoff,
51
+ escapeClipping: portalRuntime?.escapeClipping,
47
52
  placeholderRef: placeholderAnimatedRef,
48
53
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
49
54
  ...rest,
50
55
  ref: targetAnimatedRef,
51
- style: [style, isActiveTarget ? ownerContext.associatedTargetStyles : undefined],
56
+ style: [style, shouldApplyAssociatedStyleInline ? associatedTargetStyles : undefined, shouldApplyPortalLayoutStyle ? portalLayoutStyle : undefined],
52
57
  collapsable: false
53
58
  })
54
59
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_styles","_logger","_portal","_boundaryOwner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BoundaryTarget","exports","memo","props","style","rest","targetAnimatedRef","useAnimatedRef","placeholderAnimatedRef","ownerContext","useBoundaryOwnerContext","registerTargetRef","unregisterTargetRef","isActiveTarget","activeTargetRef","preparedStyles","useMemo","prepareStyleForBounds","measurementRef","portal","useLayoutEffect","__DEV__","logger","warn","TARGET_OUTSIDE_OWNER_WARNING","jsx","Portal","id","entryTag","mode","placeholderRef","children","View","ref","associatedTargetStyles","undefined","collapsable"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_styles","_styles2","_logger","_portal","_boundaryRoot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BoundaryTarget","exports","memo","props","style","rest","targetAnimatedRef","useAnimatedRef","placeholderAnimatedRef","rootContext","useBoundaryRootContext","registerTargetRef","unregisterTargetRef","isActiveTarget","activeTargetRef","portalRuntime","shouldApplyAssociatedStyleInline","enabled","shouldApplyPortalLayoutStyle","associatedTargetStyles","useComposedSlotStyles","boundTag","tag","portalLayoutStyle","useSlotLayoutStyles","preparedStyles","useMemo","prepareStyleForBounds","measurementRef","useLayoutEffect","__DEV__","logger","warn","TARGET_OUTSIDE_ROOT_WARNING","jsx","Portal","id","handoff","escapeClipping","placeholderRef","children","View","ref","undefined","collapsable"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,29 +6,31 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createBoundaryComponent = createBoundaryComponent;
7
7
  var _react = require("react");
8
8
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _constants = require("../../constants");
10
9
  var _descriptors = require("../../providers/screen/descriptors");
11
10
  var _styles = require("../../providers/screen/styles");
12
11
  var _linkPairs = require("../../stores/bounds/helpers/link-pairs.helpers");
13
- var _styles2 = require("../../utils/bounds/helpers/styles/styles");
14
- var _logger = require("../../utils/logger");
15
- var _useBoundaryPresence = require("./hooks/use-boundary-presence");
16
- var _useInitialDestinationMeasurement = require("./hooks/use-initial-destination-measurement");
17
- var _useInitialSourceMeasurement = require("./hooks/use-initial-source-measurement");
18
- var _useMeasurer = require("./hooks/use-measurer");
19
- var _useRefreshBoundary = require("./hooks/use-refresh-boundary");
20
- var _teleport = require("./portal/teleport");
21
- var _boundaryOwner = require("./providers/boundary-owner.provider");
12
+ var _useBoundaryMeasurement = require("./hooks/use-boundary-measurement");
13
+ var _boundaryLocalPortalHost = require("./portal/components/boundary-local-portal-host");
14
+ var _portal = require("./portal/components/portal");
15
+ var _resolvePortal = require("./portal/utils/resolve-portal");
16
+ var _boundaryRoot = require("./providers/boundary-root.provider");
22
17
  var _jsxRuntime = require("react/jsx-runtime");
23
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ const hasRenderableChildren = children => {
20
+ if (children === null || children === undefined || typeof children === "boolean") {
21
+ return false;
22
+ }
23
+ if (Array.isArray(children)) {
24
+ return children.some(hasRenderableChildren);
25
+ }
26
+ return true;
27
+ };
24
28
  function createBoundaryComponent(Wrapped, options = {}) {
25
29
  const {
26
- alreadyAnimated = false,
27
- shouldAutoMeasure = false
30
+ alreadyAnimated = false
28
31
  } = options;
29
32
  const AnimatedComponent = alreadyAnimated ? Wrapped : _reactNativeReanimated.default.createAnimatedComponent(Wrapped);
30
33
  const Inner = /*#__PURE__*/(0, _react.forwardRef)((props, forwardedRef) => {
31
- const ownerRef = (0, _reactNativeReanimated.useAnimatedRef)();
32
34
  const {
33
35
  enabled = true,
34
36
  group,
@@ -39,125 +41,97 @@ function createBoundaryComponent(Wrapped, options = {}) {
39
41
  method,
40
42
  style,
41
43
  onPress,
42
- portal,
44
+ handoff,
45
+ escapeClipping,
46
+ children,
43
47
  ...rest
44
48
  } = props;
45
- const linkId = String(id);
46
- const entryTag = group ? `${group}:${linkId}` : linkId;
49
+ const boundTag = (0, _react.useMemo)(() => (0, _linkPairs.createBoundTag)(String(id), group), [id, group]);
50
+ const portalRuntime = (0, _resolvePortal.resolveBoundaryPortal)({
51
+ handoff,
52
+ escapeClipping
53
+ });
47
54
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
48
55
  const hasConfiguredInterpolator = (0, _descriptors.useDescriptorsStore)(s => s.derivations.hasConfiguredInterpolator);
49
56
  const runtimeEnabled = enabled && hasConfiguredInterpolator;
50
- const boundaryConfig = (0, _react.useMemo)(() => {
51
- return {
52
- anchor,
53
- scaleMode,
54
- target,
55
- method
56
- };
57
- }, [anchor, scaleMode, target, method]);
58
- const ownerPreparedStyles = (0, _react.useMemo)(() => (0, _styles2.prepareStyleForBounds)(style), [style]);
59
- const {
60
- stylesMap
61
- } = (0, _styles.useScreenStyles)();
62
- const associatedStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
63
- "worklet";
64
-
65
- return stylesMap.get()[entryTag]?.style ?? _constants.NO_STYLES;
66
- });
67
- const associatedStackingStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
68
- "worklet";
69
-
70
- const baseStyle = stylesMap.get()[entryTag]?.style;
71
- const zIndex = baseStyle?.zIndex ?? 0;
72
- const elevation = baseStyle?.elevation ?? 0;
73
- if (zIndex === 0 && elevation === 0) {
74
- return _constants.NO_STYLES;
75
- }
76
- return {
77
- zIndex,
78
- elevation
79
- };
80
- });
81
- const hasWarned = (0, _react.useRef)(false);
82
- const adjustedPortal = _teleport.isTeleportAvailable ? portal : undefined;
83
- if (!hasWarned.current && !_teleport.isTeleportAvailable && portal) {
84
- _logger.logger.warn("react-native-teleport is not installed and will fallback to default behavior.");
85
- hasWarned.current = true;
86
- }
57
+ // Associated slot styles attach whenever the boundary is enabled,
58
+ // independent of whether an interpolator is configured for this transition.
59
+ const shouldAttachAssociatedStyles = enabled;
60
+ const canPortalRoot = portalRuntime.enabled && hasRenderableChildren(children);
61
+ const associatedStyles = (0, _styles.useComposedSlotStyles)(boundTag.tag, style);
62
+ const associatedStackingStyles = (0, _styles.useSlotStackingStyles)(boundTag.tag);
63
+ const rootPlaceholderRef = (0, _reactNativeReanimated.useAnimatedRef)();
87
64
  const {
65
+ ref,
88
66
  contextValue,
89
67
  measuredRef,
90
68
  hasActiveTarget,
91
69
  targetPreparedStyles
92
- } = (0, _boundaryOwner.useBoundaryOwner)({
93
- ownerRef,
94
- associatedTargetStyles: runtimeEnabled ? associatedStyles : undefined,
95
- entryTag,
96
- portal: adjustedPortal
70
+ } = (0, _boundaryRoot.useBoundaryRootState)({
71
+ boundTag,
72
+ portalRuntime,
73
+ rootMeasurementRef: canPortalRoot ? rootPlaceholderRef : undefined
97
74
  });
98
- const preparedStyles = targetPreparedStyles ?? ownerPreparedStyles;
99
- const portalHost = typeof adjustedPortal === "object" ? adjustedPortal.attachTo ?? "current-screen" : adjustedPortal ? "current-screen" : undefined;
100
- const measureBoundary = (0, _useMeasurer.useMeasurer)({
75
+ (0, _useBoundaryMeasurement.useBoundaryMeasurement)({
76
+ boundTag,
101
77
  enabled,
102
- entryTag,
103
- linkId,
104
- group,
78
+ runtimeEnabled,
105
79
  currentScreenKey,
106
- preparedStyles,
107
- measuredAnimatedRef: measuredRef,
108
- portalHost
109
- });
110
-
111
- // Register/unregister this boundary in the presence map so source/destination
112
- // matching can resolve across concrete screen keys.
113
- (0, _useBoundaryPresence.useBoundaryPresence)({
114
- enabled: runtimeEnabled,
115
- entryTag,
116
- currentScreenKey,
117
- boundaryConfig
118
- });
119
- const shouldPassivelyMeasureSource = shouldAutoMeasure && typeof onPress !== "function";
120
- (0, _useInitialSourceMeasurement.useInitialSourceMeasurement)({
121
- enabled: runtimeEnabled,
122
- measureBoundary,
123
- linkId,
124
- group,
125
- shouldAutoMeasure: shouldPassivelyMeasureSource
80
+ measuredRef,
81
+ style,
82
+ targetPreparedStyles,
83
+ handoff: portalRuntime.handoff,
84
+ escapeClipping: portalRuntime.escapeClipping,
85
+ config: {
86
+ anchor,
87
+ scaleMode,
88
+ target,
89
+ method
90
+ }
126
91
  });
127
- (0, _useInitialDestinationMeasurement.useInitialDestinationMeasurement)({
128
- linkId,
129
- enabled: runtimeEnabled,
130
- measureBoundary
92
+ (0, _react.useImperativeHandle)(forwardedRef, () => ref.current, [ref]);
93
+ const shouldPortalRoot = canPortalRoot && !hasActiveTarget;
94
+ // A nested active target takes the full associated style, so the root keeps
95
+ // only its stacking context. Without a nested target, a portal'd root is the
96
+ // target, so its associated style is applied through the portal host instead
97
+ // of inline on the teleported element.
98
+ // Host-only handoff receivers still need the associated style: their local
99
+ // portal host is absolute-filled inside this root, so the root is the visual
100
+ // frame that animates the received payload.
101
+ const attachedStyle = shouldAttachAssociatedStyles ? hasActiveTarget ? associatedStackingStyles : shouldPortalRoot ? undefined : associatedStyles : undefined;
102
+ const pressProps = typeof onPress === "function" ? {
103
+ onPress
104
+ } : undefined;
105
+ const localPortalHost = /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryLocalPortalHost.BoundaryLocalPortalHost, {
106
+ boundaryId: boundTag.tag,
107
+ enabled: enabled && portalRuntime.handoff,
108
+ screenKey: currentScreenKey
131
109
  });
132
- (0, _useRefreshBoundary.useRefreshBoundary)({
133
- enabled: runtimeEnabled,
134
- linkId,
135
- group,
136
- measureBoundary
110
+ const canInjectLocalPortalHost = typeof children !== "function";
111
+ const renderBoundaryRoot = extraChildren => /*#__PURE__*/(0, _jsxRuntime.jsxs)(AnimatedComponent, {
112
+ ...rest,
113
+ ...pressProps,
114
+ ref: ref,
115
+ style: [style, attachedStyle],
116
+ collapsable: false,
117
+ children: [children, canInjectLocalPortalHost ? extraChildren : null]
137
118
  });
138
- const handlePress = (0, _react.useCallback)((...args) => {
139
- // Press path has priority: capture source before user onPress/navigation.
140
- (0, _reactNativeReanimated.runOnUI)(measureBoundary)({
141
- type: "source",
142
- pairKey: (0, _linkPairs.createPendingPairKey)(currentScreenKey)
143
- });
144
- if (typeof onPress === "function") {
145
- onPress(...args);
146
- }
147
- }, [measureBoundary, onPress, currentScreenKey]);
148
- const resolvedOnPress = typeof onPress === "function" ? handlePress : undefined;
149
- (0, _react.useImperativeHandle)(forwardedRef, () => ownerRef.current, [ownerRef]);
150
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryOwner.BoundaryOwnerProvider, {
119
+ const boundaryRoot = renderBoundaryRoot(shouldPortalRoot ? undefined : localPortalHost);
120
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryRoot.BoundaryRootProvider, {
151
121
  value: contextValue,
152
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedComponent, {
153
- ...rest,
154
- ref: ownerRef,
155
- style: [style, runtimeEnabled ? hasActiveTarget ? associatedStackingStyles : associatedStyles : undefined],
156
- onPress: resolvedOnPress,
157
- collapsable: false
158
- })
122
+ children: shouldPortalRoot ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.Portal, {
123
+ id: boundTag.tag,
124
+ handoff: portalRuntime.handoff,
125
+ escapeClipping: portalRuntime.escapeClipping,
126
+ placeholderRef: rootPlaceholderRef,
127
+ placeholderChildren: portalRuntime.handoff ? localPortalHost : undefined,
128
+ children: boundaryRoot
129
+ }) : boundaryRoot
159
130
  });
160
131
  });
161
- return /*#__PURE__*/(0, _react.memo)(_reactNativeReanimated.default.createAnimatedComponent(Inner));
132
+
133
+ // The HOC's runtime identity (animated + memoized forwardRef) is not
134
+ // expressible against the public boundary props, so assert it here.
135
+ return /*#__PURE__*/(0, _react.memo)(Inner);
162
136
  }
163
137
  //# sourceMappingURL=create-boundary-component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_constants","_descriptors","_styles","_linkPairs","_styles2","_logger","_useBoundaryPresence","_useInitialDestinationMeasurement","_useInitialSourceMeasurement","_useMeasurer","_useRefreshBoundary","_teleport","_boundaryOwner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createBoundaryComponent","Wrapped","options","alreadyAnimated","shouldAutoMeasure","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","ownerRef","useAnimatedRef","enabled","group","id","anchor","scaleMode","target","method","style","onPress","portal","rest","linkId","String","entryTag","currentScreenKey","useDescriptorsStore","s","derivations","hasConfiguredInterpolator","runtimeEnabled","boundaryConfig","useMemo","ownerPreparedStyles","prepareStyleForBounds","stylesMap","useScreenStyles","associatedStyles","useAnimatedStyle","NO_STYLES","associatedStackingStyles","baseStyle","zIndex","elevation","hasWarned","useRef","adjustedPortal","isTeleportAvailable","undefined","current","logger","warn","contextValue","measuredRef","hasActiveTarget","targetPreparedStyles","useBoundaryOwner","associatedTargetStyles","preparedStyles","portalHost","attachTo","measureBoundary","useMeasurer","measuredAnimatedRef","useBoundaryPresence","shouldPassivelyMeasureSource","useInitialSourceMeasurement","useInitialDestinationMeasurement","useRefreshBoundary","handlePress","useCallback","args","runOnUI","type","pairKey","createPendingPairKey","resolvedOnPress","useImperativeHandle","jsx","BoundaryOwnerProvider","value","children","ref","collapsable","memo"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/create-boundary-component.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAUA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,iCAAA,GAAAV,OAAA;AACA,IAAAW,4BAAA,GAAAX,OAAA;AACA,IAAAY,YAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AACA,IAAAe,cAAA,GAAAf,OAAA;AAG6C,IAAAgB,WAAA,GAAAhB,OAAA;AAAA,SAAAE,wBAAAe,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAe,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAQtC,SAASkB,uBAAuBA,CACtCC,OAAyB,EACzBC,OAAuC,GAAG,CAAC,CAAC,EAC3C;EACD,MAAM;IAAEC,eAAe,GAAG,KAAK;IAAEC,iBAAiB,GAAG;EAAM,CAAC,GAAGF,OAAO;EACtE,MAAMG,iBAAiB,GAAGF,eAAe,GACtCF,OAAO,GACPK,8BAAQ,CAACC,uBAAuB,CAACN,OAAO,CAAC;EAE5C,MAAMO,KAAK,gBAAG,IAAAC,iBAAU,EAGtB,CAACC,KAAK,EAAEC,YAAY,KAAK;IAC1B,MAAMC,QAAQ,GAAG,IAAAC,qCAAc,EAAO,CAAC;IACvC,MAAM;MACLC,OAAO,GAAG,IAAI;MACdC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,SAAS;MACTC,MAAM;MACNC,MAAM;MACNC,KAAK;MACLC,OAAO;MACPC,MAAM;MACN,GAAGC;IACJ,CAAC,GAAGd,KAAY;IAEhB,MAAMe,MAAM,GAAGC,MAAM,CAACV,EAAE,CAAC;IACzB,MAAMW,QAAQ,GAAGZ,KAAK,GAAG,GAAGA,KAAK,IAAIU,MAAM,EAAE,GAAGA,MAAM;IAEtD,MAAMG,gBAAgB,GAAG,IAAAC,gCAAmB,EAC1CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACH,gBACtB,CAAC;IACD,MAAMI,yBAAyB,GAAG,IAAAH,gCAAmB,EACnDC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,yBACtB,CAAC;IAED,MAAMC,cAAc,GAAGnB,OAAO,IAAIkB,yBAAyB;IAC3D,MAAME,cAAc,GAAG,IAAAC,cAAO,EAAsB,MAAM;MACzD,OAAO;QACNlB,MAAM;QACNC,SAAS;QACTC,MAAM;QACNC;MACD,CAAC;IACF,CAAC,EAAE,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAAC;IAEvC,MAAMgB,mBAAmB,GAAG,IAAAD,cAAO,EAClC,MAAM,IAAAE,8BAAqB,EAAChB,KAAK,CAAC,EAClC,CAACA,KAAK,CACP,CAAC;IACD,MAAM;MAAEiB;IAAU,CAAC,GAAG,IAAAC,uBAAe,EAAC,CAAC;IAEvC,MAAMC,gBAAgB,GAAG,IAAAC,uCAAgB,EAAC,MAAM;MAC/C,SAAS;;MACT,OAAOH,SAAS,CAAC7C,GAAG,CAAC,CAAC,CAACkC,QAAQ,CAAC,EAAEN,KAAK,IAAIqB,oBAAS;IACrD,CAAC,CAAC;IAEF,MAAMC,wBAAwB,GAAG,IAAAF,uCAAgB,EAAC,MAAM;MACvD,SAAS;;MACT,MAAMG,SAAS,GAAGN,SAAS,CAAC7C,GAAG,CAAC,CAAC,CAACkC,QAAQ,CAAC,EAAEN,KAAK;MAClD,MAAMwB,MAAM,GAAGD,SAAS,EAAEC,MAAM,IAAI,CAAC;MACrC,MAAMC,SAAS,GAAGF,SAAS,EAAEE,SAAS,IAAI,CAAC;MAE3C,IAAID,MAAM,KAAK,CAAC,IAAIC,SAAS,KAAK,CAAC,EAAE;QACpC,OAAOJ,oBAAS;MACjB;MAEA,OAAO;QAAEG,MAAM;QAAEC;MAAU,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAG,IAAAC,aAAM,EAAC,KAAK,CAAC;IAC/B,MAAMC,cAAc,GAAGC,6BAAmB,GAAG3B,MAAM,GAAG4B,SAAS;IAE/D,IAAI,CAACJ,SAAS,CAACK,OAAO,IAAI,CAACF,6BAAmB,IAAI3B,MAAM,EAAE;MACzD8B,cAAM,CAACC,IAAI,CACV,+EACD,CAAC;MACDP,SAAS,CAACK,OAAO,GAAG,IAAI;IACzB;IAEA,MAAM;MAAEG,YAAY;MAAEC,WAAW;MAAEC,eAAe;MAAEC;IAAqB,CAAC,GACzE,IAAAC,+BAAgB,EAAC;MAChB/C,QAAQ;MACRgD,sBAAsB,EAAE3B,cAAc,GAAGO,gBAAgB,GAAGW,SAAS;MACrExB,QAAQ;MACRJ,MAAM,EAAE0B;IACT,CAAC,CAAC;IAEH,MAAMY,cAAc,GAAGH,oBAAoB,IAAItB,mBAAmB;IAElE,MAAM0B,UAAU,GACf,OAAOb,cAAc,KAAK,QAAQ,GAC9BA,cAAc,CAACc,QAAQ,IAAI,gBAAgB,GAC5Cd,cAAc,GACb,gBAAgB,GAChBE,SAAS;IAEd,MAAMa,eAAe,GAAG,IAAAC,wBAAW,EAAC;MACnCnD,OAAO;MACPa,QAAQ;MACRF,MAAM;MACNV,KAAK;MACLa,gBAAgB;MAChBiC,cAAc;MACdK,mBAAmB,EAAEV,WAAW;MAChCM;IACD,CAAC,CAAC;;IAEF;IACA;IACA,IAAAK,wCAAmB,EAAC;MACnBrD,OAAO,EAAEmB,cAAc;MACvBN,QAAQ;MACRC,gBAAgB;MAChBM;IACD,CAAC,CAAC;IAEF,MAAMkC,4BAA4B,GACjChE,iBAAiB,IAAI,OAAOkB,OAAO,KAAK,UAAU;IAEnD,IAAA+C,wDAA2B,EAAC;MAC3BvD,OAAO,EAAEmB,cAAc;MACvB+B,eAAe;MACfvC,MAAM;MACNV,KAAK;MACLX,iBAAiB,EAAEgE;IACpB,CAAC,CAAC;IAEF,IAAAE,kEAAgC,EAAC;MAChC7C,MAAM;MACNX,OAAO,EAAEmB,cAAc;MACvB+B;IACD,CAAC,CAAC;IAEF,IAAAO,sCAAkB,EAAC;MAClBzD,OAAO,EAAEmB,cAAc;MACvBR,MAAM;MACNV,KAAK;MACLiD;IACD,CAAC,CAAC;IAEF,MAAMQ,WAAW,GAAG,IAAAC,kBAAW,EAC9B,CAAC,GAAGC,IAAe,KAAK;MACvB;MACA,IAAAC,8BAAO,EAACX,eAAe,CAAC,CAAC;QACxBY,IAAI,EAAE,QAAQ;QACdC,OAAO,EAAE,IAAAC,+BAAoB,EAAClD,gBAAgB;MAC/C,CAAC,CAAC;MAEF,IAAI,OAAON,OAAO,KAAK,UAAU,EAAE;QAClCA,OAAO,CAAC,GAAGoD,IAAI,CAAC;MACjB;IACD,CAAC,EACD,CAACV,eAAe,EAAE1C,OAAO,EAAEM,gBAAgB,CAC5C,CAAC;IAED,MAAMmD,eAAe,GACpB,OAAOzD,OAAO,KAAK,UAAU,GAAGkD,WAAW,GAAGrB,SAAS;IAExD,IAAA6B,0BAAmB,EAACrE,YAAY,EAAE,MAAMC,QAAQ,CAACwC,OAAc,EAAE,CAChExC,QAAQ,CACR,CAAC;IAEF,oBACC,IAAAhC,WAAA,CAAAqG,GAAA,EAACtG,cAAA,CAAAuG,qBAAqB;MAACC,KAAK,EAAE5B,YAAa;MAAA6B,QAAA,eAC1C,IAAAxG,WAAA,CAAAqG,GAAA,EAAC5E,iBAAiB;QAAA,GACbmB,IAAI;QACR6D,GAAG,EAAEzE,QAAS;QACdS,KAAK,EAAE,CACNA,KAAK,EACLY,cAAc,GACXwB,eAAe,GACdd,wBAAwB,GACxBH,gBAAgB,GACjBW,SAAS,CACX;QACF7B,OAAO,EAAEyD,eAAgB;QACzBO,WAAW,EAAE;MAAM,CACnB;IAAC,CACoB,CAAC;EAE1B,CAAC,CAAC;EAEF,oBAAO,IAAAC,WAAI,EACVjF,8BAAQ,CAACC,uBAAuB,CAACC,KAAK,CACvC,CAAC;AAMF","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_descriptors","_styles","_linkPairs","_useBoundaryMeasurement","_boundaryLocalPortalHost","_portal","_resolvePortal","_boundaryRoot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","hasRenderableChildren","children","undefined","Array","isArray","some","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","onPress","handoff","escapeClipping","rest","boundTag","useMemo","createBoundTag","String","portalRuntime","resolveBoundaryPortal","currentScreenKey","useDescriptorsStore","s","derivations","hasConfiguredInterpolator","runtimeEnabled","shouldAttachAssociatedStyles","canPortalRoot","associatedStyles","useComposedSlotStyles","tag","associatedStackingStyles","useSlotStackingStyles","rootPlaceholderRef","useAnimatedRef","ref","contextValue","measuredRef","hasActiveTarget","targetPreparedStyles","useBoundaryRootState","rootMeasurementRef","useBoundaryMeasurement","config","useImperativeHandle","current","shouldPortalRoot","attachedStyle","pressProps","localPortalHost","jsx","BoundaryLocalPortalHost","boundaryId","screenKey","canInjectLocalPortalHost","renderBoundaryRoot","extraChildren","jsxs","collapsable","boundaryRoot","BoundaryRootProvider","value","Portal","placeholderRef","placeholderChildren","memo"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,23 +6,30 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useBoundaryPresence = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNativeReanimated = require("react-native-reanimated");
9
- var _entries = require("../../../stores/bounds/internals/entries");
9
+ var _entries = require("../../../../stores/bounds/internals/entries");
10
10
  const useBoundaryPresence = params => {
11
11
  const {
12
12
  enabled,
13
- entryTag,
13
+ boundTag,
14
14
  currentScreenKey,
15
- boundaryConfig
15
+ boundaryConfig,
16
+ handoff,
17
+ escapeClipping
16
18
  } = params;
19
+ const {
20
+ tag
21
+ } = boundTag;
17
22
  (0, _react.useLayoutEffect)(() => {
18
23
  if (!enabled) return;
19
- (0, _reactNativeReanimated.runOnUI)(_entries.setEntry)(entryTag, currentScreenKey, {
20
- boundaryConfig
24
+ (0, _reactNativeReanimated.runOnUI)(_entries.setEntry)(tag, currentScreenKey, {
25
+ boundaryConfig,
26
+ handoff: handoff ? true : null,
27
+ escapeClipping: escapeClipping ? true : null
21
28
  });
22
29
  return () => {
23
- (0, _reactNativeReanimated.runOnUI)(_entries.removeEntry)(entryTag, currentScreenKey);
30
+ (0, _reactNativeReanimated.runOnUI)(_entries.removeEntry)(tag, currentScreenKey);
24
31
  };
25
- }, [enabled, entryTag, currentScreenKey, boundaryConfig]);
32
+ }, [enabled, tag, currentScreenKey, boundaryConfig, handoff, escapeClipping]);
26
33
  };
27
34
  exports.useBoundaryPresence = useBoundaryPresence;
28
35
  //# sourceMappingURL=use-boundary-presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_entries","useBoundaryPresence","params","enabled","boundTag","currentScreenKey","boundaryConfig","handoff","escapeClipping","tag","useLayoutEffect","runOnUI","setEntry","removeEntry","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/hooks/lifecycles/use-boundary-presence.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOO,MAAMG,mBAAmB,GAAIC,MAOnC,IAAK;EACL,MAAM;IACLC,OAAO;IACPC,QAAQ;IACRC,gBAAgB;IAChBC,cAAc;IACdC,OAAO;IACPC;EACD,CAAC,GAAGN,MAAM;EACV,MAAM;IAAEO;EAAI,CAAC,GAAGL,QAAQ;EAExB,IAAAM,sBAAe,EAAC,MAAM;IACrB,IAAI,CAACP,OAAO,EAAE;IAEd,IAAAQ,8BAAO,EAACC,iBAAQ,CAAC,CAACH,GAAG,EAAEJ,gBAAgB,EAAE;MACxCC,cAAc;MACdC,OAAO,EAAEA,OAAO,GAAG,IAAI,GAAG,IAAI;MAC9BC,cAAc,EAAEA,cAAc,GAAG,IAAI,GAAG;IACzC,CAAC,CAAC;IAEF,OAAO,MAAM;MACZ,IAAAG,8BAAO,EAACE,oBAAW,CAAC,CAACJ,GAAG,EAAEJ,gBAAgB,CAAC;IAC5C,CAAC;EACF,CAAC,EAAE,CAACF,OAAO,EAAEM,GAAG,EAAEJ,gBAAgB,EAAEC,cAAc,EAAEC,OAAO,EAAEC,cAAc,CAAC,CAAC;AAC9E,CAAC;AAACM,OAAA,CAAAb,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -5,14 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useInitialDestinationMeasurement = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
- var _descriptors = require("../../../providers/screen/descriptors");
9
- var _animation = require("../../../stores/animation.store");
10
- var _links = require("../../../stores/bounds/internals/links");
11
- var _state = require("../../../stores/bounds/internals/state");
12
- var _system = require("../../../stores/system.store");
13
- var _logger = require("../../../utils/logger");
14
- var _destinationSignals = require("../utils/destination-signals");
15
- const VIEWPORT_RETRY_DELAY_MS = 16;
8
+ var _descriptors = require("../../../../providers/screen/descriptors");
9
+ var _animation = require("../../../../stores/animation.store");
10
+ var _linkPairs = require("../../../../stores/bounds/helpers/link-pairs.helpers");
11
+ var _entries = require("../../../../stores/bounds/internals/entries");
12
+ var _links = require("../../../../stores/bounds/internals/links");
13
+ var _state = require("../../../../stores/bounds/internals/state");
14
+ var _system = require("../../../../stores/system.store");
15
+ var _logger = require("../../../../utils/logger");
16
+ var _ownership = require("../../portal/utils/ownership");
17
+ var _destinationSignals = require("../../utils/destination-signals");
18
+ const VIEWPORT_RETRY_DELAY_MS = 100;
16
19
  /**
17
20
  * A destination that keeps failing its measurement guards must not hold the
18
21
  * transition gate forever — after this budget the block is released with a
@@ -20,24 +23,28 @@ const VIEWPORT_RETRY_DELAY_MS = 16;
20
23
  */
21
24
  const MAX_VIEWPORT_RETRIES = 20;
22
25
  const useInitialDestinationMeasurement = ({
23
- linkId,
26
+ boundTag,
24
27
  enabled,
25
28
  measureBoundary
26
29
  }) => {
30
+ const {
31
+ tag,
32
+ linkKey,
33
+ group
34
+ } = boundTag;
27
35
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
28
36
  const nextScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.nextScreenKey);
29
37
  const destinationPairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.destinationPairKey);
30
38
  const ancestorDestinationPairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.ancestorDestinationPairKey);
31
39
  const destinationEnabled = enabled && !nextScreenKey;
32
40
  const progress = _animation.AnimationStore.getValue(currentScreenKey, "transitionProgress");
33
- const system = _system.SystemStore.getBag(currentScreenKey);
34
- const {
35
- pendingLifecycleRequestKind
36
- } = system;
37
41
  const {
38
- blockLifecycleStart,
39
- unblockLifecycleStart
40
- } = system.actions;
42
+ pendingLifecycleRequestKind,
43
+ actions: {
44
+ blockLifecycleStart,
45
+ unblockLifecycleStart
46
+ }
47
+ } = _system.SystemStore.getBag(currentScreenKey);
41
48
  const isBlockingLifecycleStart = (0, _reactNativeReanimated.useSharedValue)(0);
42
49
  const retryToken = (0, _reactNativeReanimated.useSharedValue)(0);
43
50
  const viewportRetries = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -65,17 +72,21 @@ const useInitialDestinationMeasurement = ({
65
72
  enabled: destinationEnabled,
66
73
  destinationPairKey,
67
74
  ancestorDestinationPairKey,
68
- linkId,
75
+ linkId: linkKey,
76
+ group,
69
77
  linkState: destinationEnabled && (destinationPairKey || ancestorDestinationPairKey) ? _state.pairs.get() : undefined
70
78
  });
71
79
  return [measurePairKey, retryTick];
72
- }, ([measurePairKey]) => {
80
+ }, ([measurePairKey, retryTick], previous) => {
73
81
  "worklet";
74
82
 
75
83
  if (!measurePairKey) {
76
- releaseLifecycleStartBlock();
77
- viewportRetries.set(0);
78
- hasGivenUp.set(0);
84
+ return;
85
+ }
86
+ const previousMeasurePairKey = previous?.[0];
87
+ const previousRetryTick = previous?.[1];
88
+ const shouldAttemptMeasure = measurePairKey !== previousMeasurePairKey || retryTick !== previousRetryTick;
89
+ if (!shouldAttemptMeasure) {
79
90
  return;
80
91
  }
81
92
  if (hasGivenUp.get()) {
@@ -89,8 +100,24 @@ const useInitialDestinationMeasurement = ({
89
100
  type: "destination",
90
101
  pairKey: measurePairKey
91
102
  });
92
- const destinationAttached = (0, _links.getDestination)(measurePairKey, linkId) !== null;
103
+ const destinationAttached = (0, _links.getDestination)(measurePairKey, linkKey) !== null;
93
104
  if (destinationAttached) {
105
+ const linkState = _state.pairs.get();
106
+ const link = (0, _links.getLink)(measurePairKey, linkKey);
107
+ const sourceScreenKey = (0, _linkPairs.getSourceScreenKeyFromPairKey)(measurePairKey);
108
+ const sourceEntry = (0, _entries.getEntry)(tag, sourceScreenKey);
109
+ const sourceEntryUsesDestinationEscapeHost = sourceEntry?.handoff === true && sourceEntry.escapeClipping === true;
110
+ const shouldWaitForEscapeClippingHost = (0, _ownership.usesEscapeClippingHost)(link) || sourceEntryUsesDestinationEscapeHost || (0, _ownership.hasHandoffEscapeContinuation)({
111
+ linkKey,
112
+ linkState,
113
+ sourceScreenKey
114
+ });
115
+ if (shouldWaitForEscapeClippingHost) {
116
+ // Screen-level escape has a second readiness phase after destination
117
+ // measurement: the host must commit before the transition starts, or
118
+ // the payload can disappear for a frame.
119
+ return;
120
+ }
94
121
  releaseLifecycleStartBlock();
95
122
  viewportRetries.set(0);
96
123
  return;
@@ -98,12 +125,12 @@ const useInitialDestinationMeasurement = ({
98
125
  if (viewportRetries.get() >= MAX_VIEWPORT_RETRIES) {
99
126
  hasGivenUp.set(1);
100
127
  releaseLifecycleStartBlock();
101
- _logger.logger.warn(`Destination boundary "${linkId}" never produced a valid measurement after ${MAX_VIEWPORT_RETRIES} attempts; releasing the transition gate without it. The boundary is likely off-viewport (e.g. an inactive group member on a paged screen) or unmounted.`);
128
+ _logger.logger.warn(`Destination boundary "${linkKey}" never produced a valid measurement after ${MAX_VIEWPORT_RETRIES} attempts; releasing the transition gate without it. The boundary is likely off-viewport (e.g. an inactive group member on a paged screen) or unmounted.`);
102
129
  return;
103
130
  }
104
131
 
105
132
  // Destination did not attach (malformed off-screen measurement); retry
106
- // on the next tick while the lifecycle stays blocked.
133
+ // after the retry token advances while the lifecycle stays blocked.
107
134
  viewportRetries.set(viewportRetries.get() + 1);
108
135
  (0, _reactNativeReanimated.cancelAnimation)(retryToken);
109
136
  retryToken.set((0, _reactNativeReanimated.withDelay)(VIEWPORT_RETRY_DELAY_MS, (0, _reactNativeReanimated.withTiming)(retryToken.get() + 1, {
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_animation","_linkPairs","_entries","_links","_state","_system","_logger","_ownership","_destinationSignals","VIEWPORT_RETRY_DELAY_MS","MAX_VIEWPORT_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","measureBoundary","tag","linkKey","group","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","progress","AnimationStore","getValue","pendingLifecycleRequestKind","actions","blockLifecycleStart","unblockLifecycleStart","SystemStore","getBag","isBlockingLifecycleStart","useSharedValue","retryToken","viewportRetries","hasGivenUp","releaseLifecycleStartBlock","cancelAnimation","get","set","useAnimatedReaction","retryTick","hasPendingOpenRequest","LifecycleTransitionRequestKind","Open","isWaitingForOpenToStart","measurePairKey","getInitialDestinationMeasurePairKey","linkId","linkState","pairs","undefined","previous","previousMeasurePairKey","previousRetryTick","shouldAttemptMeasure","type","pairKey","destinationAttached","getDestination","link","getLink","sourceScreenKey","getSourceScreenKeyFromPairKey","sourceEntry","getEntry","sourceEntryUsesDestinationEscapeHost","handoff","escapeClipping","shouldWaitForEscapeClippingHost","usesEscapeClippingHost","hasHandoffEscapeContinuation","logger","warn","withDelay","withTiming","duration","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
@@ -5,16 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useInitialSourceMeasurement = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
- var _descriptors = require("../../../providers/screen/descriptors");
9
- var _state = require("../../../stores/bounds/internals/state");
10
- var _sourceSignals = require("../utils/source-signals");
8
+ var _descriptors = require("../../../../providers/screen/descriptors");
9
+ var _state = require("../../../../stores/bounds/internals/state");
10
+ var _sourceSignals = require("../../utils/source-signals");
11
11
  const useInitialSourceMeasurement = params => {
12
12
  const {
13
13
  enabled,
14
14
  measureBoundary,
15
- linkId,
16
- group,
17
- shouldAutoMeasure
15
+ boundTag
18
16
  } = params;
19
17
  const sourcePairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.sourcePairKey);
20
18
  const lastSourceCaptureSignal = (0, _reactNativeReanimated.useSharedValue)(null);
@@ -24,10 +22,9 @@ const useInitialSourceMeasurement = params => {
24
22
  return (0, _sourceSignals.getInitialSourceCaptureSignal)({
25
23
  enabled,
26
24
  sourcePairKey,
27
- linkId,
28
- group,
29
- shouldAutoMeasure,
30
- linkState: shouldAutoMeasure && sourcePairKey ? _state.pairs.get() : undefined
25
+ linkId: boundTag.linkKey,
26
+ group: boundTag.group,
27
+ linkState: sourcePairKey ? _state.pairs.get() : undefined
31
28
  });
32
29
  }, captureSignal => {
33
30
  "worklet";