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
@@ -1 +1 @@
1
- {"version":3,"names":["useWindowDimensions","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","getVisibilityBlockOffset","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","height","currentScreenKey","entering","transitionProgress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","progress","gate","shouldOpenGate","set","shouldBlock","animatedStyle","offset","transform","translateY","animatedProps","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAClD,SACCC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B,QAAQ,4BAA4B;AAExE,OAAO,MAAMC,uBAAuB,GAAIC,iBAA2B,IAAK;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEa;EAAiB,CAAC,GAAGL,wBAAwB,CAAC,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC;EAAmB,CAAC,GACrCV,cAAc,CAACW,MAAM,CAACH,gBAAgB,CAAC;EAExC,MAAM;IAAEI,+BAA+B;IAAEC;EAA4B,CAAC,GACrEZ,WAAW,CAACU,MAAM,CAACH,gBAAgB,CAAC;EAErC,MAAMM,uBAAuB,GAAGf,cAAc,CAAC,KAAK,CAAC;EACrD,MAAMgB,qBAAqB,GAAGhB,cAAc,CAAC,CAACO,iBAAiB,CAAC;;EAEhE;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACCT,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,OAAOO,2BAA2B,CAAC;MAClCE,iBAAiB;MACjBQ,uBAAuB,EAAEA,uBAAuB,CAACE,GAAG,CAAC,CAAC;MACtDJ,+BAA+B,EAAEA,+BAA+B,CAACI,GAAG,CAAC,CAAC;MACtEH,2BAA2B,EAAEA,2BAA2B,CAACG,GAAG,CAAC,CAAC;MAC9DC,QAAQ,EAAEP,kBAAkB,CAACM,GAAG,CAAC,CAAC;MAClCP,QAAQ,EAAEA,QAAQ,CAACO,GAAG,CAAC;IACxB,CAAC,CAAC;EACH,CAAC,EACAE,IAAI,IAAK;IACT,SAAS;;IAET,IAAIA,IAAI,CAACC,cAAc,EAAE;MACxBL,uBAAuB,CAACM,GAAG,CAAC,IAAI,CAAC;IAClC;IAEAL,qBAAqB,CAACK,GAAG,CAACF,IAAI,CAACG,WAAW,CAAC;EAC5C,CACD,CAAC;EAED,MAAMC,aAAa,GAAGxB,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT;AACF;AACA;AACA;AACA;AACA;AACA;IACE,MAAMyB,MAAM,GAAGrB,wBAAwB,CAACK,MAAM,CAAC;IAE/C,OAAO;MACNiB,SAAS,EAAE,CACV;QACCC,UAAU,EAAEV,qBAAqB,CAACC,GAAG,CAAC,CAAC,GAAGO,MAAM,GAAG;MACpD,CAAC;IAEH,CAAC;EACF,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG9B,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,OAAO;MACN+B,aAAa,EAAEZ,qBAAqB,CAACC,GAAG,CAAC,CAAC,GACtC,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IACNM,aAAa;IACbI,aAAa;IACbX;EACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useWindowDimensions","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useSharedValue","AnimationStore","SystemStore","getVisibilityBlockOffset","useDescriptorDerivations","resolveScreenVisibilityGate","useMaybeBlockVisibility","isFloatingOverlay","height","currentScreenKey","entering","transitionProgress","getBag","pendingLifecycleStartBlockCount","pendingLifecycleRequestKind","hasVisibilityGateOpened","shouldBlockVisibility","get","progress","gate","shouldOpenGate","set","shouldBlock","animatedStyle","offset","transform","translateY","animatedProps","pointerEvents"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAClD,SACCC,gBAAgB,EAChBC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,wBAAwB,QAAQ,2CAA2C;AACpF,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,2BAA2B,QAAQ,4BAA4B;AAExE,OAAO,MAAMC,uBAAuB,GAAIC,iBAA2B,IAAK;EACvE,MAAM;IAAEC;EAAO,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACxC,MAAM;IAAEa;EAAiB,CAAC,GAAGL,wBAAwB,CAAC,CAAC;EACvD,MAAM;IAAEM,QAAQ;IAAEC;EAAmB,CAAC,GACrCV,cAAc,CAACW,MAAM,CAACH,gBAAgB,CAAC;EACxC,MAAM;IAAEI,+BAA+B;IAAEC;EAA4B,CAAC,GACrEZ,WAAW,CAACU,MAAM,CAACH,gBAAgB,CAAC;EAErC,MAAMM,uBAAuB,GAAGf,cAAc,CAAC,KAAK,CAAC;EACrD,MAAMgB,qBAAqB,GAAGhB,cAAc,CAAC,CAACO,iBAAiB,CAAC;EAEhET,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,OAAOO,2BAA2B,CAAC;MAClCE,iBAAiB;MACjBQ,uBAAuB,EAAEA,uBAAuB,CAACE,GAAG,CAAC,CAAC;MACtDJ,+BAA+B,EAAEA,+BAA+B,CAACI,GAAG,CAAC,CAAC;MACtEH,2BAA2B,EAAEA,2BAA2B,CAACG,GAAG,CAAC,CAAC;MAC9DC,QAAQ,EAAEP,kBAAkB,CAACM,GAAG,CAAC,CAAC;MAClCP,QAAQ,EAAEA,QAAQ,CAACO,GAAG,CAAC;IACxB,CAAC,CAAC;EACH,CAAC,EACAE,IAAI,IAAK;IACT,SAAS;;IAET,IAAIA,IAAI,CAACC,cAAc,EAAE;MACxBL,uBAAuB,CAACM,GAAG,CAAC,IAAI,CAAC;IAClC;IAEAL,qBAAqB,CAACK,GAAG,CAACF,IAAI,CAACG,WAAW,CAAC;EAC5C,CACD,CAAC;EAED,MAAMC,aAAa,GAAGxB,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,MAAMyB,MAAM,GAAGrB,wBAAwB,CAACK,MAAM,CAAC;IAE/C,OAAO;MACNiB,SAAS,EAAE,CACV;QACCC,UAAU,EAAEV,qBAAqB,CAACC,GAAG,CAAC,CAAC,GAAGO,MAAM,GAAG;MACpD,CAAC;IAEH,CAAC;EACF,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG9B,gBAAgB,CAAC,MAAM;IAC5C,SAAS;;IACT,OAAO;MACN+B,aAAa,EAAEZ,qBAAqB,CAACC,GAAG,CAAC,CAAC,GACtC,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,OAAO;IACNM,aAAa;IACbI;EACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useDerivedValue, useSharedValue } from "react-native-reanimated";
4
4
  import { NO_PROPS, NO_STYLES } from "../../../../constants";
5
- import { resolveSlotStyles, reuseEqualResolvedSlots } from "../helpers/resolve-slot-styles";
5
+ import { areResettableStatesBySlotEqual, resolveSlotStyles, reuseEqualResolvedSlots } from "../helpers/resolve-slot-styles";
6
6
  export const useResolvedStylesMap = ({
7
7
  localStylesMaps,
8
8
  ancestorStylesMap
@@ -20,12 +20,17 @@ export const useResolvedStylesMap = ({
20
20
  ancestorStylesMap: ancestorStylesMap?.get() ?? NO_STYLES,
21
21
  previousStyleStatesBySlot: previousStyleStatesBySlot.get()
22
22
  });
23
- previousStyleStatesBySlot.set(nextPreviousStyleStatesBySlot);
23
+ if (!areResettableStatesBySlotEqual(previousStyleStatesBySlot.get(), nextPreviousStyleStatesBySlot)) {
24
+ previousStyleStatesBySlot.set(nextPreviousStyleStatesBySlot);
25
+ }
26
+ const previousResolvedStyles = previousResolvedStylesMap.get();
24
27
  const stableResolvedStylesMap = reuseEqualResolvedSlots({
25
28
  resolvedStylesMap,
26
- previousResolvedStylesMap: previousResolvedStylesMap.get()
29
+ previousResolvedStylesMap: previousResolvedStyles
27
30
  });
28
- previousResolvedStylesMap.set(stableResolvedStylesMap);
31
+ if (stableResolvedStylesMap !== previousResolvedStyles) {
32
+ previousResolvedStylesMap.set(stableResolvedStylesMap);
33
+ }
29
34
  return stableResolvedStylesMap;
30
35
  });
31
36
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useDerivedValue","useSharedValue","NO_PROPS","NO_STYLES","resolveSlotStyles","reuseEqualResolvedSlots","useResolvedStylesMap","localStylesMaps","ancestorStylesMap","previousStyleStatesBySlot","previousResolvedStylesMap","resolvedStylesMap","nextPreviousStyleStatesBySlot","get","set","stableResolvedStylesMap"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"mappings":";;AAAA,SAECA,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AAE3D,SAGCC,iBAAiB,EACjBC,uBAAuB,QACjB,gCAAgC;AAOvC,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACpCC,eAAe;EACfC;AAC2B,CAAC,KAAK;EACjC,MAAMC,yBAAyB,GAC9BR,cAAc,CAA8BC,QAAQ,CAAC;EACtD,MAAMQ,yBAAyB,GAC9BT,cAAc,CAAwCE,SAAS,CAAC;EAEjE,OAAOH,eAAe,CAAC,MAAM;IAC5B,SAAS;;IACT,MAAM;MAAEW,iBAAiB;MAAEC;IAA8B,CAAC,GACzDR,iBAAiB,CAAC;MACjBG,eAAe,EAAEA,eAAe,CAACM,GAAG,CAAC,CAAC;MACtCL,iBAAiB,EAAEA,iBAAiB,EAAEK,GAAG,CAAC,CAAC,IAAIV,SAAS;MACxDM,yBAAyB,EAAEA,yBAAyB,CAACI,GAAG,CAAC;IAC1D,CAAC,CAAC;IAEHJ,yBAAyB,CAACK,GAAG,CAACF,6BAA6B,CAAC;IAC5D,MAAMG,uBAAuB,GAAGV,uBAAuB,CAAC;MACvDM,iBAAiB;MACjBD,yBAAyB,EAAEA,yBAAyB,CAACG,GAAG,CAAC;IAC1D,CAAC,CAAC;IACFH,yBAAyB,CAACI,GAAG,CAACC,uBAAuB,CAAC;IAEtD,OAAOA,uBAAuB;EAC/B,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useDerivedValue","useSharedValue","NO_PROPS","NO_STYLES","areResettableStatesBySlotEqual","resolveSlotStyles","reuseEqualResolvedSlots","useResolvedStylesMap","localStylesMaps","ancestorStylesMap","previousStyleStatesBySlot","previousResolvedStylesMap","resolvedStylesMap","nextPreviousStyleStatesBySlot","get","set","previousResolvedStyles","stableResolvedStylesMap"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"mappings":";;AAAA,SAECA,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,uBAAuB;AAE3D,SACCC,8BAA8B,EAG9BC,iBAAiB,EACjBC,uBAAuB,QACjB,gCAAgC;AAOvC,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACpCC,eAAe;EACfC;AAC2B,CAAC,KAAK;EACjC,MAAMC,yBAAyB,GAC9BT,cAAc,CAA8BC,QAAQ,CAAC;EACtD,MAAMS,yBAAyB,GAC9BV,cAAc,CAAwCE,SAAS,CAAC;EAEjE,OAAOH,eAAe,CAAwC,MAAM;IACnE,SAAS;;IACT,MAAM;MAAEY,iBAAiB;MAAEC;IAA8B,CAAC,GACzDR,iBAAiB,CAAC;MACjBG,eAAe,EAAEA,eAAe,CAACM,GAAG,CAAC,CAAC;MACtCL,iBAAiB,EAAEA,iBAAiB,EAAEK,GAAG,CAAC,CAAC,IAAIX,SAAS;MACxDO,yBAAyB,EAAEA,yBAAyB,CAACI,GAAG,CAAC;IAC1D,CAAC,CAAC;IAEH,IACC,CAACV,8BAA8B,CAC9BM,yBAAyB,CAACI,GAAG,CAAC,CAAC,EAC/BD,6BACD,CAAC,EACA;MACDH,yBAAyB,CAACK,GAAG,CAACF,6BAA6B,CAAC;IAC7D;IAEA,MAAMG,sBAAsB,GAAGL,yBAAyB,CAACG,GAAG,CAAC,CAAC;IAC9D,MAAMG,uBAAuB,GAAGX,uBAAuB,CAAC;MACvDM,iBAAiB;MACjBD,yBAAyB,EAAEK;IAC5B,CAAC,CAAC;IAEF,IAAIC,uBAAuB,KAAKD,sBAAsB,EAAE;MACvDL,yBAAyB,CAACI,GAAG,CAACE,uBAAuB,CAAC;IACvD;IAEA,OAAOA,uBAAuB;EAC/B,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
 
3
- export { ScreenStylesContext, ScreenStylesProvider, useScreenStyles } from "./styles.provider";
3
+ export { useComposedSlotStyles, useSlotLayoutStyles, useSlotProps, useSlotStackingStyles, useSlotStyles } from "./hooks/slot-resolvers";
4
+ export { ScreenSlotContext, ScreenSlotProvider, useScreenSlots } from "./slot.provider";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScreenStylesContext","ScreenStylesProvider","useScreenStyles"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/styles/index.tsx"],"mappings":";;AAAA,SACCA,mBAAmB,EACnBC,oBAAoB,EACpBC,eAAe,QACT,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["useComposedSlotStyles","useSlotLayoutStyles","useSlotProps","useSlotStackingStyles","useSlotStyles","ScreenSlotContext","ScreenSlotProvider","useScreenSlots"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/styles/index.tsx"],"mappings":";;AAAA,SACCA,qBAAqB,EACrBC,mBAAmB,EACnBC,YAAY,EACZC,qBAAqB,EACrBC,aAAa,QACP,wBAAwB;AAE/B,SACCC,iBAAiB,EAEjBC,kBAAkB,EAClBC,cAAc,QACR,iBAAiB","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import { useContext, useLayoutEffect, useMemo } from "react";
4
+ import { StyleSheet } from "react-native";
5
+ import Animated from "react-native-reanimated";
6
+ import createProvider from "../../../utils/create-provider";
7
+ import { useDescriptorsStore } from "../descriptors";
8
+ import { FloatingOverlayLayer } from "./components/floating-overlay-layer";
9
+ import { useInterpolatedStylesMap } from "./hooks/use-interpolated-style-maps";
10
+ import { useMaybeBlockVisibility } from "./hooks/use-maybe-block-visibility";
11
+ import { useResolvedStylesMap } from "./hooks/use-resolved-slot-style-map";
12
+ import { registerScreenSlots, unregisterScreenSlots } from "./stores/slot-references.store";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ export const {
15
+ ScreenSlotProvider,
16
+ ScreenSlotContext,
17
+ useScreenSlotContext: useScreenSlots
18
+ } = createProvider("ScreenSlot", {
19
+ guarded: true
20
+ })(({
21
+ children,
22
+ isFloatingOverlay
23
+ }) => {
24
+ const parentContext = useContext(ScreenSlotContext);
25
+ const currentScreenKey = useDescriptorsStore(s => s.derivations.currentScreenKey);
26
+ const {
27
+ localStylesMaps,
28
+ nextInterpolatorReady
29
+ } = useInterpolatedStylesMap();
30
+ const slotsMap = useResolvedStylesMap({
31
+ localStylesMaps,
32
+ ancestorStylesMap: parentContext?.slotsMap
33
+ });
34
+ const {
35
+ animatedStyle,
36
+ animatedProps
37
+ } = useMaybeBlockVisibility(isFloatingOverlay);
38
+ const value = useMemo(() => ({
39
+ localStylesMaps,
40
+ nextInterpolatorReady,
41
+ slotsMap
42
+ }), [localStylesMaps, nextInterpolatorReady, slotsMap]);
43
+ useLayoutEffect(() => {
44
+ registerScreenSlots(currentScreenKey, value);
45
+ return () => {
46
+ unregisterScreenSlots(currentScreenKey, value);
47
+ };
48
+ }, [currentScreenKey, value]);
49
+ return {
50
+ value,
51
+ children: /*#__PURE__*/_jsx(FloatingOverlayLayer, {
52
+ enabled: isFloatingOverlay,
53
+ children: /*#__PURE__*/_jsx(Animated.View, {
54
+ style: [styles.container, animatedStyle],
55
+ animatedProps: animatedProps,
56
+ children: children
57
+ })
58
+ })
59
+ };
60
+ });
61
+ const styles = StyleSheet.create({
62
+ container: {
63
+ flex: 1
64
+ }
65
+ });
66
+ //# sourceMappingURL=slot.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","useLayoutEffect","useMemo","StyleSheet","Animated","createProvider","useDescriptorsStore","FloatingOverlayLayer","useInterpolatedStylesMap","useMaybeBlockVisibility","useResolvedStylesMap","registerScreenSlots","unregisterScreenSlots","jsx","_jsx","ScreenSlotProvider","ScreenSlotContext","useScreenSlotContext","useScreenSlots","guarded","children","isFloatingOverlay","parentContext","currentScreenKey","s","derivations","localStylesMaps","nextInterpolatorReady","slotsMap","ancestorStylesMap","animatedStyle","animatedProps","value","enabled","View","style","styles","container","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/styles/slot.provider.tsx"],"mappings":";;AAAA,SAAyBA,UAAU,EAAEC,eAAe,EAAEC,OAAO,QAAQ,OAAO;AAC5E,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAA4B,yBAAyB;AAMpE,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,oBAAoB,QAAQ,qCAAqC;AAE1E,SAASC,wBAAwB,QAAQ,qCAAqC;AAC9E,SAASC,uBAAuB,QAAQ,oCAAoC;AAC5E,SAASC,oBAAoB,QAAQ,qCAAqC;AAC1E,SACCC,mBAAmB,EACnBC,qBAAqB,QACf,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAoBxC,OAAO,MAAM;EACZC,kBAAkB;EAClBC,iBAAiB;EACjBC,oBAAoB,EAAEC;AACvB,CAAC,GAAGb,cAAc,CAAC,YAAY,EAAE;EAChCc,OAAO,EAAE;AACV,CAAC,CAAC,CAAgC,CAAC;EAAEC,QAAQ;EAAEC;AAAkB,CAAC,KAAK;EACtE,MAAMC,aAAa,GAAGtB,UAAU,CAACgB,iBAAiB,CAAC;EACnD,MAAMO,gBAAgB,GAAGjB,mBAAmB,CAC1CkB,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EAED,MAAM;IAAEG,eAAe;IAAEC;EAAsB,CAAC,GAAGnB,wBAAwB,CAAC,CAAC;EAE7E,MAAMoB,QAAQ,GAAGlB,oBAAoB,CAAC;IACrCgB,eAAe;IACfG,iBAAiB,EAAEP,aAAa,EAAEM;EACnC,CAAC,CAAC;EACF,MAAM;IAAEE,aAAa;IAAEC;EAAc,CAAC,GACrCtB,uBAAuB,CAACY,iBAAiB,CAAC;EAC3C,MAAMW,KAAK,GAAG9B,OAAO,CACpB,OAAO;IACNwB,eAAe;IACfC,qBAAqB;IACrBC;EACD,CAAC,CAAC,EACF,CAACF,eAAe,EAAEC,qBAAqB,EAAEC,QAAQ,CAClD,CAAC;EAED3B,eAAe,CAAC,MAAM;IACrBU,mBAAmB,CAACY,gBAAgB,EAAES,KAAK,CAAC;IAE5C,OAAO,MAAM;MACZpB,qBAAqB,CAACW,gBAAgB,EAAES,KAAK,CAAC;IAC/C,CAAC;EACF,CAAC,EAAE,CAACT,gBAAgB,EAAES,KAAK,CAAC,CAAC;EAE7B,OAAO;IACNA,KAAK;IACLZ,QAAQ,eACPN,IAAA,CAACP,oBAAoB;MAAC0B,OAAO,EAAEZ,iBAAkB;MAAAD,QAAA,eAChDN,IAAA,CAACV,QAAQ,CAAC8B,IAAI;QACbC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEP,aAAa,CAAE;QACzCC,aAAa,EAAEA,aAAc;QAAAX,QAAA,EAE5BA;MAAQ,CACK;IAAC,CACK;EAExB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMgB,MAAM,GAAGjC,UAAU,CAACmC,MAAM,CAAC;EAChCD,SAAS,EAAE;IAAEE,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ import { useSyncExternalStore } from "react";
4
+
5
+ /**
6
+ * Screen-owned slot reference registry.
7
+ *
8
+ * This is important for portals: a teleported component can render outside the
9
+ * screen provider that owns its active transition, but it still needs references
10
+ * to that provider's shared values. This store does not copy or own styles; it
11
+ * only exposes the existing ScreenSlotProvider value by screen key.
12
+ */
13
+
14
+ const listeners = new Set();
15
+ const slotsByScreenKey = new Map();
16
+ let snapshot = {};
17
+ const emit = () => {
18
+ snapshot = Object.fromEntries(slotsByScreenKey);
19
+ for (const listener of listeners) {
20
+ listener();
21
+ }
22
+ };
23
+ export const registerScreenSlots = (screenKey, slots) => {
24
+ const previous = slotsByScreenKey.get(screenKey);
25
+ if (previous?.localStylesMaps === slots.localStylesMaps && previous.nextInterpolatorReady === slots.nextInterpolatorReady && previous.slotsMap === slots.slotsMap) {
26
+ return;
27
+ }
28
+ slotsByScreenKey.set(screenKey, slots);
29
+ emit();
30
+ };
31
+ export const unregisterScreenSlots = (screenKey, slots) => {
32
+ if (slotsByScreenKey.get(screenKey) !== slots) {
33
+ return;
34
+ }
35
+ slotsByScreenKey.delete(screenKey);
36
+ emit();
37
+ };
38
+ const subscribe = listener => {
39
+ listeners.add(listener);
40
+ return () => {
41
+ listeners.delete(listener);
42
+ };
43
+ };
44
+ export const useRegisteredScreenSlots = screenKey => {
45
+ return useSyncExternalStore(subscribe, () => screenKey ? snapshot[screenKey] ?? null : null, () => null);
46
+ };
47
+ //# sourceMappingURL=slot-references.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useSyncExternalStore","listeners","Set","slotsByScreenKey","Map","snapshot","emit","Object","fromEntries","listener","registerScreenSlots","screenKey","slots","previous","get","localStylesMaps","nextInterpolatorReady","slotsMap","set","unregisterScreenSlots","delete","subscribe","add","useRegisteredScreenSlots"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/styles/stores/slot-references.store.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;;AAI5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AACvC,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAErE,IAAIC,QAA6B,GAAG,CAAC,CAAC;AAEtC,MAAMC,IAAI,GAAGA,CAAA,KAAM;EAClBD,QAAQ,GAAGE,MAAM,CAACC,WAAW,CAACL,gBAAgB,CAAC;EAE/C,KAAK,MAAMM,QAAQ,IAAIR,SAAS,EAAE;IACjCQ,QAAQ,CAAC,CAAC;EACX;AACD,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAGA,CAClCC,SAAoB,EACpBC,KAA6B,KACzB;EACJ,MAAMC,QAAQ,GAAGV,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC;EAChD,IACCE,QAAQ,EAAEE,eAAe,KAAKH,KAAK,CAACG,eAAe,IACnDF,QAAQ,CAACG,qBAAqB,KAAKJ,KAAK,CAACI,qBAAqB,IAC9DH,QAAQ,CAACI,QAAQ,KAAKL,KAAK,CAACK,QAAQ,EACnC;IACD;EACD;EAEAd,gBAAgB,CAACe,GAAG,CAACP,SAAS,EAAEC,KAAK,CAAC;EACtCN,IAAI,CAAC,CAAC;AACP,CAAC;AAED,OAAO,MAAMa,qBAAqB,GAAGA,CACpCR,SAAoB,EACpBC,KAA6B,KACzB;EACJ,IAAIT,gBAAgB,CAACW,GAAG,CAACH,SAAS,CAAC,KAAKC,KAAK,EAAE;IAC9C;EACD;EAEAT,gBAAgB,CAACiB,MAAM,CAACT,SAAS,CAAC;EAClCL,IAAI,CAAC,CAAC;AACP,CAAC;AAED,MAAMe,SAAS,GAAIZ,QAAoB,IAAK;EAC3CR,SAAS,CAACqB,GAAG,CAACb,QAAQ,CAAC;EAEvB,OAAO,MAAM;IACZR,SAAS,CAACmB,MAAM,CAACX,QAAQ,CAAC;EAC3B,CAAC;AACF,CAAC;AAED,OAAO,MAAMc,wBAAwB,GAAIZ,SAA4B,IAAK;EACzE,OAAOX,oBAAoB,CAC1BqB,SAAS,EACT,MAAOV,SAAS,GAAIN,QAAQ,CAACM,SAAS,CAAC,IAAI,IAAI,GAAI,IAAK,EACxD,MAAM,IACP,CAAC;AACF,CAAC","ignoreList":[]}
@@ -18,6 +18,13 @@ export const getSourceScreenKeyFromPairKey = pairKey => {
18
18
  if (separatorIndex === -1) return pairKey;
19
19
  return pairKey.slice(0, separatorIndex);
20
20
  };
21
+ export const getDestinationScreenKeyFromPairKey = pairKey => {
22
+ "worklet";
23
+
24
+ const separatorIndex = pairKey.indexOf(PAIR_SEPARATOR);
25
+ if (separatorIndex === -1) return "";
26
+ return pairKey.slice(separatorIndex + PAIR_SEPARATOR.length);
27
+ };
21
28
  export const isScreenPairKeyForScreen = (pairKey, screenKey) => {
22
29
  "worklet";
23
30
 
@@ -42,6 +49,20 @@ export const createGroupTag = (group, linkKey) => {
42
49
 
43
50
  return `${group}:${linkKey}`;
44
51
  };
52
+
53
+ /**
54
+ * Builds the {@link BoundTag} identity for a boundary. The combined `tag` is
55
+ * group-prefixed only when a group is present, matching how links are keyed.
56
+ */
57
+ export const createBoundTag = (linkKey, group) => {
58
+ "worklet";
59
+
60
+ return {
61
+ tag: group ? createGroupTag(group, linkKey) : linkKey,
62
+ linkKey,
63
+ group
64
+ };
65
+ };
45
66
  const ensurePairState = (state, pairKey) => {
46
67
  "worklet";
47
68
 
@@ -51,7 +72,9 @@ const ensurePairState = (state, pairKey) => {
51
72
  groups: {}
52
73
  };
53
74
  }
54
- state[pairKey].groups ??= {};
75
+ if (!state[pairKey].groups) {
76
+ state[pairKey].groups = {};
77
+ }
55
78
  return state[pairKey];
56
79
  };
57
80
  export const ensurePairLinks = (state, pairKey) => {
@@ -64,6 +87,15 @@ export const ensurePairGroups = (state, pairKey) => {
64
87
 
65
88
  return ensurePairState(state, pairKey).groups;
66
89
  };
90
+ export const ensurePairSourceRequests = (state, pairKey) => {
91
+ "worklet";
92
+
93
+ const pair = ensurePairState(state, pairKey);
94
+ if (!pair.sourceRequests) {
95
+ pair.sourceRequests = {};
96
+ }
97
+ return pair.sourceRequests;
98
+ };
67
99
  export const removePairLink = (state, pairKey, linkKey) => {
68
100
  "worklet";
69
101
 
@@ -1 +1 @@
1
- {"version":3,"names":["PAIR_SEPARATOR","createScreenPairKey","sourceScreenKey","destinationScreenKey","createPendingPairKey","getSourceScreenKeyFromPairKey","pairKey","separatorIndex","indexOf","slice","isScreenPairKeyForScreen","screenKey","startsWith","endsWith","getLinkKeyFromTag","tag","getGroupKeyFromTag","createGroupTag","group","linkKey","ensurePairState","state","links","groups","ensurePairLinks","ensurePairGroups","removePairLink","pair","key","getLink","getSource","source","getDestination","destination","getActiveGroupId","activeId"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/helpers/link-pairs.helpers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PAIR_SEPARATOR","createScreenPairKey","sourceScreenKey","destinationScreenKey","createPendingPairKey","getSourceScreenKeyFromPairKey","pairKey","separatorIndex","indexOf","slice","getDestinationScreenKeyFromPairKey","length","isScreenPairKeyForScreen","screenKey","startsWith","endsWith","getLinkKeyFromTag","tag","getGroupKeyFromTag","createGroupTag","group","linkKey","createBoundTag","ensurePairState","state","links","groups","ensurePairLinks","ensurePairGroups","ensurePairSourceRequests","pair","sourceRequests","removePairLink","key","getLink","getSource","source","getDestination","destination","getActiveGroupId","activeId"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/helpers/link-pairs.helpers.ts"],"mappings":"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","ignoreList":[]}
@@ -33,14 +33,21 @@ const applyEntryPatch = (entry, patch) => {
33
33
  if (patch.styles !== undefined) {
34
34
  entry.styles = patch.styles ?? {};
35
35
  }
36
- if (patch.boundaryConfig === undefined) {
37
- return;
38
- }
39
36
  if (patch.boundaryConfig === null) {
40
37
  delete entry.boundaryConfig;
41
- } else {
38
+ } else if (patch.boundaryConfig !== undefined) {
42
39
  entry.boundaryConfig = patch.boundaryConfig;
43
40
  }
41
+ if (patch.handoff === null) {
42
+ delete entry.handoff;
43
+ } else if (patch.handoff !== undefined) {
44
+ entry.handoff = patch.handoff;
45
+ }
46
+ if (patch.escapeClipping === null) {
47
+ delete entry.escapeClipping;
48
+ } else if (patch.escapeClipping !== undefined) {
49
+ entry.escapeClipping = patch.escapeClipping;
50
+ }
44
51
  };
45
52
  function getEntry(tag, key) {
46
53
  "worklet";
@@ -1 +1 @@
1
- {"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","getEntry","key","get","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/entries.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAE5C,SAAoCC,gBAAgB,QAAQ,SAAS;AAErE,MAAMC,mBAAmB,GAAGA,CAACC,KAA2B,EAAEC,GAAU,KAAK;EACxE,SAAS;;EACT,IAAI,CAACD,KAAK,CAACC,GAAG,CAAC,EAAE;IAChBD,KAAK,CAACC,GAAG,CAAC,GAAG;MACZC,OAAO,EAAE,CAAC;IACX,CAAC;EACF;EACA,OAAOF,KAAK,CAACC,GAAG,CAAC;AAClB,CAAC;AAED,MAAME,iBAAiB,GAAGA,CACzBH,KAA2B,EAC3BC,GAAU,EACVG,SAAoB,KACT;EACX,SAAS;;EACT,MAAMC,QAAQ,GAAGN,mBAAmB,CAACC,KAAK,EAAEC,GAAG,CAAC;EAChD,IAAI,CAACI,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,EAAE;IACjCC,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC,GAAG;MAC7BE,MAAM,EAAE,IAAI;MACZC,MAAM,EAAE,CAAC;IACV,CAAC;EACF;EACA,OAAOF,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC;AACnC,CAAC;AAED,MAAMI,eAAe,GAAGA,CAACC,KAAY,EAAEC,KAAiB,KAAK;EAC5D,SAAS;;EACT,IAAIA,KAAK,CAACJ,MAAM,KAAKK,SAAS,EAAE;IAC/BF,KAAK,CAACH,MAAM,GAAGI,KAAK,CAACJ,MAAM;EAC5B;EAEA,IAAII,KAAK,CAACH,MAAM,KAAKI,SAAS,EAAE;IAC/BF,KAAK,CAACF,MAAM,GAAGG,KAAK,CAACH,MAAM,IAAI,CAAC,CAAC;EAClC;EAEA,IAAIG,KAAK,CAACE,cAAc,KAAKD,SAAS,EAAE;IACvC;EACD;EAEA,IAAID,KAAK,CAACE,cAAc,KAAK,IAAI,EAAE;IAClC,OAAOH,KAAK,CAACG,cAAc;EAC5B,CAAC,MAAM;IACNH,KAAK,CAACG,cAAc,GAAGF,KAAK,CAACE,cAAc;EAC5C;AACD,CAAC;AAED,SAASC,QAAQA,CAACZ,GAAU,EAAEa,GAAc,EAAgB;EAC3D,SAAS;;EACT,OAAOhB,gBAAgB,CAACiB,GAAG,CAAC,CAAC,CAACd,GAAG,CAAC,EAAEC,OAAO,CAACY,GAAG,CAAC,IAAI,IAAI;AACzD;AAEA,SAASE,QAAQA,CAACf,GAAU,EAAEG,SAAoB,EAAEM,KAAiB,EAAE;EACtE,SAAS;;EACTZ,gBAAgB,CAACmB,MAAM,CAAkCjB,KAAQ,IAAQ;IACxE,SAAS;;IACT,MAAMS,KAAK,GAAGN,iBAAiB,CAACH,KAAK,EAAEC,GAAG,EAAEG,SAAS,CAAC;IACtDI,eAAe,CAACC,KAAK,EAAEC,KAAK,CAAC;IAC7B,OAAOV,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASkB,WAAWA,CAACjB,GAAU,EAAEG,SAAoB,EAAE;EACtD,SAAS;;EACTN,gBAAgB,CAACmB,MAAM,CAAkCjB,KAAQ,IAAQ;IACxE,SAAS;;IACT,MAAMK,QAAQ,GAAGL,KAAK,CAACC,GAAG,CAAC;IAC3B,IAAI,CAACI,QAAQ,EAAEH,OAAO,CAACE,SAAS,CAAC,EAAE;MAClC,OAAOJ,KAAK;IACb;IAEA,OAAOK,QAAQ,CAACH,OAAO,CAACE,SAAS,CAAC;IAClC,IAAI,CAACP,UAAU,CAACQ,QAAQ,CAACH,OAAO,CAAC,EAAE;MAClC,OAAOF,KAAK,CAACC,GAAG,CAAC;IAClB;IAEA,OAAOD,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASa,QAAQ,EAAEK,WAAW,EAAEF,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["hasAnyKeys","boundaryRegistry","ensureBoundaryState","state","tag","screens","ensureScreenEntry","screenKey","tagState","bounds","styles","applyEntryPatch","entry","patch","undefined","boundaryConfig","handoff","escapeClipping","getEntry","key","get","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/entries.ts"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,124 @@
1
1
  "use strict";
2
2
 
3
- import { createGroupTag, createPendingPairKey, ensurePairGroups, ensurePairLinks, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource, getSourceScreenKeyFromPairKey, removePairLink } from "../helpers/link-pairs.helpers";
3
+ import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource } from "../helpers/link-pairs.helpers";
4
4
  import { pairs } from "./state";
5
5
  const syncLinkStatus = link => {
6
6
  "worklet";
7
7
 
8
8
  link.status = link.source ? link.destination ? "complete" : "destination-incomplete" : "source-incomplete";
9
9
  };
10
- const createLinkSide = (screenKey, bounds, styles) => {
10
+ const isSharedValueLike = value => {
11
+ "worklet";
12
+
13
+ return value?._isReanimatedSharedValue === true;
14
+ };
15
+ const snapshotSharedValue = value => {
16
+ "worklet";
17
+
18
+ return value.value;
19
+ };
20
+ const snapshotTransformArrayValue = value => {
21
+ "worklet";
22
+
23
+ const snapshot = [];
24
+ for (let index = 0; index < value.length; index++) {
25
+ const snapshotValue = snapshotTransformEntryValue(value[index]);
26
+ if (snapshotValue !== undefined) {
27
+ snapshot.push(snapshotValue);
28
+ }
29
+ }
30
+ return snapshot;
31
+ };
32
+ const snapshotTransformEntryValue = value => {
33
+ "worklet";
34
+
35
+ if (isSharedValueLike(value)) {
36
+ return snapshotSharedValue(value);
37
+ }
38
+ if (Array.isArray(value)) {
39
+ return snapshotTransformArrayValue(value);
40
+ }
41
+ if (typeof value === "function") {
42
+ return undefined;
43
+ }
44
+ return value === null || typeof value !== "object" ? value : undefined;
45
+ };
46
+ const snapshotTransformItem = value => {
47
+ "worklet";
48
+
49
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
50
+ return snapshotTransformEntryValue(value);
51
+ }
52
+ const snapshot = {};
53
+ const source = value;
54
+ let hasValue = false;
55
+ for (const key in source) {
56
+ const snapshotValue = snapshotTransformEntryValue(source[key]);
57
+ if (snapshotValue !== undefined) {
58
+ snapshot[key] = snapshotValue;
59
+ hasValue = true;
60
+ }
61
+ }
62
+ return hasValue ? snapshot : undefined;
63
+ };
64
+ const snapshotTransform = value => {
65
+ "worklet";
66
+
67
+ if (!Array.isArray(value)) {
68
+ return undefined;
69
+ }
70
+ const snapshot = [];
71
+ for (let index = 0; index < value.length; index++) {
72
+ const snapshotValue = snapshotTransformItem(value[index]);
73
+ if (snapshotValue !== undefined) {
74
+ snapshot.push(snapshotValue);
75
+ }
76
+ }
77
+ return snapshot;
78
+ };
79
+
80
+ /**
81
+ * Link styles are measurement metadata, not a general style serializer.
82
+ * Snapshot only the fields bounds currently consume: primitives, top-level
83
+ * shared values, and transform entries. Object-valued non-transform styles are
84
+ * intentionally omitted to avoid retaining opaque/native style objects.
85
+ */
86
+ const snapshotStyles = styles => {
87
+ "worklet";
88
+
89
+ if (!styles || typeof styles !== "object" || Array.isArray(styles)) {
90
+ return {};
91
+ }
92
+ const snapshot = {};
93
+ const source = styles;
94
+ for (const key in source) {
95
+ const value = source[key];
96
+ if (key === "transform") {
97
+ const transform = snapshotTransform(value);
98
+ if (transform !== undefined) {
99
+ snapshot.transform = transform;
100
+ }
101
+ continue;
102
+ }
103
+ if (isSharedValueLike(value)) {
104
+ snapshot[key] = snapshotSharedValue(value);
105
+ continue;
106
+ }
107
+ if (value === null || typeof value !== "object") {
108
+ snapshot[key] = value;
109
+ }
110
+ }
111
+ return snapshot;
112
+ };
113
+ const createLinkSide = (screenKey, bounds, styles, runtimeFlags = {}) => {
11
114
  "worklet";
12
115
 
13
116
  return {
14
117
  screenKey,
15
118
  bounds,
16
- styles
119
+ styles: snapshotStyles(styles),
120
+ handoff: runtimeFlags.handoff ? true : undefined,
121
+ escapeClipping: runtimeFlags.escapeClipping ? true : undefined
17
122
  };
18
123
  };
19
124
  const writePairLink = (state, pairKey, linkKey, link) => {
@@ -44,32 +149,16 @@ const writeDestination = (state, pairKey, linkKey, screenKey, bounds, styles, gr
44
149
  };
45
150
  link.group = group ?? link.group;
46
151
  link.destination = destination;
47
- link.initialDestination ??= destination;
152
+ if (!link.initialDestination) {
153
+ link.initialDestination = destination;
154
+ }
48
155
  syncLinkStatus(link);
49
156
  writePairLink(state, pairKey, linkKey, link);
50
157
  if (link.group) {
51
158
  writeGroup(state, pairKey, link.group, linkKey);
52
159
  }
53
160
  };
54
- const promotePendingSource = (state, pairKey, linkKey) => {
55
- "worklet";
56
-
57
- if (getPairLink(state, pairKey, linkKey)) return;
58
- const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
59
- const pendingPairKey = createPendingPairKey(sourceScreenKey);
60
- if (pendingPairKey === pairKey) return;
61
- const pendingLink = getPairLink(state, pendingPairKey, linkKey);
62
- if (!pendingLink) return;
63
- writePairLink(state, pairKey, linkKey, pendingLink);
64
- if (pendingLink.group) {
65
- const pendingGroupState = state[pendingPairKey]?.groups?.[pendingLink.group];
66
- if (pendingGroupState) {
67
- writeGroup(state, pairKey, pendingLink.group, pendingGroupState.activeId, pendingGroupState.initialId);
68
- }
69
- }
70
- removePairLink(state, pendingPairKey, linkKey);
71
- };
72
- function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAttachTarget, sourceHost) {
161
+ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, runtimeFlags = {}) {
73
162
  "worklet";
74
163
 
75
164
  pairs.modify(state => {
@@ -78,13 +167,8 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
78
167
  const linkKey = getLinkKeyFromTag(tag);
79
168
  const pairLinks = ensurePairLinks(state, pairKey);
80
169
  const existingLink = pairLinks[linkKey];
81
-
82
- // Refresh paths may re-measure the source without portal context;
83
- // keep the previously recorded host in that case.
84
170
  const source = {
85
- ...createLinkSide(screenKey, bounds, styles),
86
- portalAttachTarget: portalAttachTarget ?? existingLink?.source?.portalAttachTarget,
87
- sourceHost: sourceHost ?? existingLink?.source?.sourceHost
171
+ ...createLinkSide(screenKey, bounds, styles, runtimeFlags)
88
172
  };
89
173
  const link = existingLink ?? {
90
174
  group,
@@ -95,13 +179,12 @@ function setSource(pairKey, tag, screenKey, bounds, styles = {}, group, portalAt
95
179
  };
96
180
  link.group = group ?? link.group;
97
181
  link.source = source;
98
- link.initialSource ??= source;
182
+ if (!link.initialSource) {
183
+ link.initialSource = source;
184
+ }
99
185
  syncLinkStatus(link);
100
186
  pairLinks[linkKey] = link;
101
- const pendingPairKey = createPendingPairKey(screenKey);
102
- if (pendingPairKey !== pairKey) {
103
- removePairLink(state, pendingPairKey, linkKey);
104
- }
187
+ delete state[pairKey]?.sourceRequests?.[linkKey];
105
188
  return state;
106
189
  });
107
190
  }
@@ -112,7 +195,6 @@ function setDestination(pairKey, tag, screenKey, bounds, styles = {}, group) {
112
195
  "worklet";
113
196
 
114
197
  const linkKey = getLinkKeyFromTag(tag);
115
- promotePendingSource(state, pairKey, linkKey);
116
198
  writeDestination(state, pairKey, linkKey, screenKey, bounds, styles, group);
117
199
  return state;
118
200
  });
@@ -127,6 +209,21 @@ function setActiveGroupId(pairKey, group, tag) {
127
209
  return state;
128
210
  });
129
211
  }
212
+ function requestSourceMeasure(pairKey, tag) {
213
+ "worklet";
214
+
215
+ pairs.modify(state => {
216
+ "worklet";
217
+
218
+ const linkKey = getLinkKeyFromTag(tag);
219
+ const link = getPairLink(state, pairKey, linkKey);
220
+ if (link?.source || state[pairKey]?.sourceRequests?.[linkKey]) {
221
+ return state;
222
+ }
223
+ ensurePairSourceRequests(state, pairKey)[linkKey] = true;
224
+ return state;
225
+ });
226
+ }
130
227
  function getActiveGroupId(pairKey, group) {
131
228
  "worklet";
132
229
 
@@ -142,28 +239,13 @@ const hasSourceLink = link => {
142
239
 
143
240
  return !!link?.source;
144
241
  };
145
- const getPendingSourceLink = (state, pairKey, linkKey) => {
146
- "worklet";
147
-
148
- const sourceScreenKey = getSourceScreenKeyFromPairKey(pairKey);
149
- const pendingPairKey = createPendingPairKey(sourceScreenKey);
150
- if (pendingPairKey === pairKey) return null;
151
- return getPairLink(state, pendingPairKey, linkKey);
152
- };
153
242
  function getResolvedLink(pairKey, tag) {
154
243
  "worklet";
155
244
 
156
245
  const state = pairs.get();
157
246
  const linkKey = getLinkKeyFromTag(tag);
158
247
  const group = getGroupKeyFromTag(tag);
159
- const requestedLink = getPairLink(state, pairKey, linkKey);
160
-
161
- // Press-triggered zoom captures the source before navigation under a pending
162
- // source<> pair. If the destination screen has no Boundary.View, nothing
163
- // promotes that source into source<>destination, but zoom can still animate to
164
- // its default top target from the pending source bounds.
165
- const fallbackPendingLink = requestedLink ? null : getPendingSourceLink(state, pairKey, linkKey);
166
- const link = requestedLink ?? fallbackPendingLink;
248
+ const link = getPairLink(state, pairKey, linkKey);
167
249
 
168
250
  // Group active ids can update before the new member has a full source/destination
169
251
  // link. As soon as the requested member has source bounds, prefer it; only
@@ -176,7 +258,7 @@ function getResolvedLink(pairKey, tag) {
176
258
  }
177
259
  const initialId = state[pairKey]?.groups?.[group]?.initialId;
178
260
  if (initialId) {
179
- const initialLink = getPairLink(state, pairKey, initialId) ?? getPendingSourceLink(state, pairKey, initialId);
261
+ const initialLink = getPairLink(state, pairKey, initialId);
180
262
  if (hasSourceLink(initialLink)) {
181
263
  return {
182
264
  tag: createGroupTag(group, initialId),
@@ -199,5 +281,5 @@ function getDestination(pairKey, tag) {
199
281
 
200
282
  return getPairDestination(pairs.get(), pairKey, getLinkKeyFromTag(tag));
201
283
  }
202
- export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, setActiveGroupId, setDestination, setSource };
284
+ export { getActiveGroupId, getDestination, getLink, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
203
285
  //# sourceMappingURL=links.js.map