react-native-screen-transitions 3.12.0 → 3.13.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  2. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  3. package/lib/commonjs/shared/components/activity/helpers.js +50 -1
  4. package/lib/commonjs/shared/components/activity/helpers.js.map +1 -1
  5. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +17 -68
  6. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
  7. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js +0 -3
  8. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
  10. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js +69 -0
  12. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js.map +1 -0
  13. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +11 -10
  14. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +3 -19
  16. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +8 -17
  18. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +27 -1
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  21. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +27 -11
  22. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +8 -1
  24. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js +19 -0
  26. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js.map +1 -0
  27. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js +18 -0
  28. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js.map +1 -0
  29. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +22 -1
  30. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -1
  31. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +10 -10
  32. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  33. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +19 -12
  34. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -6
  36. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  37. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +9 -2
  38. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  39. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  40. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  41. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +11 -6
  42. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  43. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +5 -4
  44. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  45. package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -3
  46. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  47. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -6
  48. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  49. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js +147 -0
  50. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  51. package/lib/commonjs/shared/factories/screen-topology/index.js +45 -0
  52. package/lib/commonjs/shared/factories/screen-topology/index.js.map +1 -0
  53. package/lib/commonjs/shared/factories/screen-topology/types.js +2 -0
  54. package/lib/commonjs/shared/factories/screen-topology/types.js.map +1 -0
  55. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js +15 -0
  56. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  57. package/lib/commonjs/shared/factories/screen-topology/worklet.js +55 -0
  58. package/lib/commonjs/shared/factories/screen-topology/worklet.js.map +1 -0
  59. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  60. package/lib/commonjs/shared/hooks/navigation/use-stack.js +16 -16
  61. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  62. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +4 -0
  63. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  64. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +26 -95
  65. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  66. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  67. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  68. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +5 -1
  69. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  70. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +12 -12
  71. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  72. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  73. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  74. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +10 -26
  75. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  77. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/animation/index.js +6 -0
  79. package/lib/commonjs/shared/providers/screen/animation/index.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -7
  81. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +62 -15
  83. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  84. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +3 -4
  85. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  86. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +24 -19
  87. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  89. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  90. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -3
  91. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  92. package/lib/commonjs/shared/providers/screen/gestures/index.js +8 -2
  93. package/lib/commonjs/shared/providers/screen/gestures/index.js.map +1 -1
  94. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +11 -18
  95. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  96. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  97. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  98. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  99. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  100. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  101. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  102. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js +9 -2
  103. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  104. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -0
  105. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  106. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -8
  107. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  108. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +5 -4
  109. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  110. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  111. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  112. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +4 -4
  113. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  114. package/lib/commonjs/shared/providers/screen/styles/constants.js +2 -1
  115. package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
  116. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-block-ownership.js +19 -0
  117. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
  118. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +4 -2
  119. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  120. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  121. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  122. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +35 -15
  123. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  124. package/lib/commonjs/shared/providers/screen/styles/index.js +8 -2
  125. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  126. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +23 -16
  127. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  128. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js +14 -0
  129. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  130. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +13 -5
  131. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  132. package/lib/commonjs/shared/providers/stack/core.provider.js +1 -3
  133. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  134. package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -5
  135. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  136. package/lib/commonjs/shared/stores/animation.store.js +0 -2
  137. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  138. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +11 -1
  139. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  140. package/lib/commonjs/shared/stores/bounds/internals/clear.js +6 -0
  141. package/lib/commonjs/shared/stores/bounds/internals/clear.js.map +1 -1
  142. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js +312 -0
  143. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js.map +1 -0
  144. package/lib/commonjs/shared/stores/bounds/internals/entries.js +0 -27
  145. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
  146. package/lib/commonjs/shared/stores/bounds/internals/links.js +22 -32
  147. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  148. package/lib/commonjs/shared/stores/bounds/internals/state.js +4 -1
  149. package/lib/commonjs/shared/stores/bounds/internals/state.js.map +1 -1
  150. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +7 -3
  151. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  152. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js +11 -0
  153. package/lib/commonjs/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  154. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js +6 -2
  155. package/lib/commonjs/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  156. package/lib/commonjs/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -1
  157. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +11 -5
  158. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  159. package/lib/commonjs/shared/utils/create-provider.js +51 -100
  160. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  161. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  162. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  163. package/lib/module/shared/components/activity/helpers.js +48 -0
  164. package/lib/module/shared/components/activity/helpers.js.map +1 -1
  165. package/lib/module/shared/components/activity/variants/activity-screen.js +18 -69
  166. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
  167. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js +0 -3
  168. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js.map +1 -1
  169. package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
  170. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  171. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js +64 -0
  172. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.js.map +1 -0
  173. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js +11 -10
  174. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -1
  175. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +3 -19
  176. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  177. package/lib/module/shared/components/boundary/hooks/use-measurer.js +9 -18
  178. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  179. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +24 -0
  180. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  181. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +29 -13
  182. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  183. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +8 -1
  184. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  185. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js +14 -0
  186. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.js.map +1 -0
  187. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js +13 -0
  188. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.js.map +1 -0
  189. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +19 -0
  190. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -1
  191. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +10 -10
  192. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  193. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +20 -13
  194. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  195. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +5 -6
  196. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  197. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +7 -1
  198. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  199. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  200. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  201. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +12 -7
  202. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  203. package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -6
  204. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  205. package/lib/module/shared/components/screen-container/layers/content.js +2 -3
  206. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  207. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +9 -7
  208. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  209. package/lib/module/shared/factories/screen-topology/create-screen-topology.js +142 -0
  210. package/lib/module/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  211. package/lib/module/shared/factories/screen-topology/index.js +6 -0
  212. package/lib/module/shared/factories/screen-topology/index.js.map +1 -0
  213. package/lib/module/shared/factories/screen-topology/types.js +2 -0
  214. package/lib/module/shared/factories/screen-topology/types.js.map +1 -0
  215. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js +10 -0
  216. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  217. package/lib/module/shared/factories/screen-topology/worklet.js +48 -0
  218. package/lib/module/shared/factories/screen-topology/worklet.js.map +1 -0
  219. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  220. package/lib/module/shared/hooks/navigation/use-stack.js +17 -18
  221. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  222. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +4 -0
  223. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  224. package/lib/module/shared/providers/screen/animation/animation.provider.js +25 -95
  225. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  226. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  227. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  228. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +5 -1
  229. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  230. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +14 -14
  231. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  232. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  233. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  234. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +9 -24
  235. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  236. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  237. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  238. package/lib/module/shared/providers/screen/animation/index.js +1 -1
  239. package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
  240. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +9 -8
  241. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  242. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +66 -18
  243. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  244. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +3 -4
  245. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  246. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +21 -17
  247. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  248. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  249. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  250. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +3 -4
  251. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  252. package/lib/module/shared/providers/screen/gestures/index.js +1 -1
  253. package/lib/module/shared/providers/screen/gestures/index.js.map +1 -1
  254. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +13 -20
  255. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  256. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  257. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  258. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  259. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  260. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  261. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  262. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js +9 -2
  263. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  264. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +1 -0
  265. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  266. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +4 -8
  267. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  268. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +7 -6
  269. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  270. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  271. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  272. package/lib/module/shared/providers/screen/gestures/shared/policy.js +4 -4
  273. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  274. package/lib/module/shared/providers/screen/styles/constants.js +2 -1
  275. package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
  276. package/lib/module/shared/providers/screen/styles/helpers/visibility-block-ownership.js +14 -0
  277. package/lib/module/shared/providers/screen/styles/helpers/visibility-block-ownership.js.map +1 -0
  278. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +5 -3
  279. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  280. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  281. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  282. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +35 -15
  283. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  284. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  285. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  286. package/lib/module/shared/providers/screen/styles/slot.provider.js +20 -14
  287. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  288. package/lib/module/shared/providers/screen/use-current-screen-relationships.js +9 -0
  289. package/lib/module/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  290. package/lib/module/shared/providers/stack/blank-stack.provider.js +12 -5
  291. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  292. package/lib/module/shared/providers/stack/core.provider.js +1 -3
  293. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  294. package/lib/module/shared/providers/stack/direct.provider.js +2 -5
  295. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  296. package/lib/module/shared/stores/animation.store.js +0 -2
  297. package/lib/module/shared/stores/animation.store.js.map +1 -1
  298. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +9 -0
  299. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  300. package/lib/module/shared/stores/bounds/internals/clear.js +7 -1
  301. package/lib/module/shared/stores/bounds/internals/clear.js.map +1 -1
  302. package/lib/module/shared/stores/bounds/internals/coordinator.js +300 -0
  303. package/lib/module/shared/stores/bounds/internals/coordinator.js.map +1 -0
  304. package/lib/module/shared/stores/bounds/internals/entries.js +1 -27
  305. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
  306. package/lib/module/shared/stores/bounds/internals/links.js +24 -32
  307. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  308. package/lib/module/shared/stores/bounds/internals/state.js +3 -0
  309. package/lib/module/shared/stores/bounds/internals/state.js.map +1 -1
  310. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +7 -3
  311. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  312. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js +11 -0
  313. package/lib/module/shared/utils/bounds/helpers/create-link-accessor.js.map +1 -1
  314. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js +6 -2
  315. package/lib/module/shared/utils/bounds/helpers/prepare-bound-styles.js.map +1 -1
  316. package/lib/module/shared/utils/bounds/helpers/resolve-bounds-pair-key.js.map +1 -1
  317. package/lib/module/shared/utils/bounds/helpers/styles/compute.js +11 -5
  318. package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  319. package/lib/module/shared/utils/create-provider.js +51 -100
  320. package/lib/module/shared/utils/create-provider.js.map +1 -1
  321. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  322. package/lib/typescript/shared/components/activity/helpers.d.ts +16 -0
  323. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -1
  324. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +2 -4
  325. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  326. package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts.map +1 -1
  327. package/lib/typescript/shared/components/boundary/hooks/lifecycles/{use-initial-source-measurement.d.ts → use-boundary-measurement-request.d.ts} +4 -3
  328. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.d.ts.map +1 -0
  329. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -1
  330. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +1 -3
  331. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  332. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  333. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +12 -0
  334. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
  335. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  336. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  337. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.d.ts +8 -0
  338. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.d.ts.map +1 -0
  339. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.d.ts +6 -0
  340. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.d.ts.map +1 -0
  341. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -1
  342. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -1
  343. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +2 -3
  344. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  345. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  346. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +1 -1
  347. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  348. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +3 -0
  349. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  350. package/lib/typescript/shared/components/boundary/types.d.ts +1 -1
  351. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  352. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +1 -0
  353. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -1
  354. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  355. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +2 -1
  356. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  357. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  358. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  359. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
  360. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  361. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts +4 -0
  362. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts.map +1 -0
  363. package/lib/typescript/shared/factories/screen-topology/index.d.ts +5 -0
  364. package/lib/typescript/shared/factories/screen-topology/index.d.ts.map +1 -0
  365. package/lib/typescript/shared/factories/screen-topology/types.d.ts +20 -0
  366. package/lib/typescript/shared/factories/screen-topology/types.d.ts.map +1 -0
  367. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts +5 -0
  368. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts.map +1 -0
  369. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts +5 -0
  370. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts.map +1 -0
  371. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  372. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +2 -0
  373. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  374. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  375. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +14 -12
  376. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  377. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +4 -4
  378. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  379. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  380. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +0 -1
  381. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  382. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  383. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +2 -2
  384. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
  385. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +5 -2
  386. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
  387. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +0 -1
  388. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  389. package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
  390. package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
  391. package/lib/typescript/shared/providers/screen/animation/types.d.ts +1 -13
  392. package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
  393. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +5 -2
  394. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  395. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +5 -4
  396. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  397. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +16 -4
  398. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  399. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  400. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  401. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
  402. package/lib/typescript/shared/providers/screen/gestures/index.d.ts +1 -1
  403. package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -1
  404. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -1
  405. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts +2 -3
  406. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  407. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  408. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  409. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
  410. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  411. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +5 -3
  412. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
  413. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  414. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +2 -2
  415. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -1
  416. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +3 -3
  417. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  418. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +5 -2
  419. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  420. package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
  421. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-block-ownership.d.ts +10 -0
  422. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-block-ownership.d.ts.map +1 -0
  423. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  424. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  425. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +8 -2
  426. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  427. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  428. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  429. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +9 -3
  430. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  431. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts +5 -0
  432. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts.map +1 -0
  433. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +4 -1
  434. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  435. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  436. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  437. package/lib/typescript/shared/stores/animation.store.d.ts +0 -1
  438. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  439. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +1 -0
  440. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  441. package/lib/typescript/shared/stores/bounds/internals/clear.d.ts.map +1 -1
  442. package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts +36 -0
  443. package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts.map +1 -0
  444. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts +1 -2
  445. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
  446. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +1 -3
  447. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  448. package/lib/typescript/shared/stores/bounds/internals/state.d.ts +3 -1
  449. package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
  450. package/lib/typescript/shared/stores/bounds/types.d.ts +12 -1
  451. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  452. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +1 -0
  453. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  454. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
  455. package/lib/typescript/shared/utils/bounds/helpers/create-link-accessor.d.ts.map +1 -1
  456. package/lib/typescript/shared/utils/bounds/helpers/prepare-bound-styles.d.ts.map +1 -1
  457. package/lib/typescript/shared/utils/bounds/helpers/resolve-bounds-pair-key.d.ts.map +1 -1
  458. package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
  459. package/lib/typescript/shared/utils/create-provider.d.ts +24 -24
  460. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  461. package/package.json +1 -1
  462. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -2
  463. package/src/shared/components/activity/helpers.ts +59 -0
  464. package/src/shared/components/activity/variants/activity-screen.tsx +29 -94
  465. package/src/shared/components/boundary/components/boundary-lifecycle.tsx +0 -6
  466. package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
  467. package/src/shared/components/boundary/hooks/lifecycles/use-boundary-measurement-request.ts +102 -0
  468. package/src/shared/components/boundary/hooks/lifecycles/use-boundary-presence.ts +20 -11
  469. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +3 -22
  470. package/src/shared/components/boundary/hooks/use-measurer.ts +8 -22
  471. package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +40 -0
  472. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +73 -22
  473. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +10 -1
  474. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/attachment.ts +19 -0
  475. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-readiness.ts +14 -0
  476. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +36 -1
  477. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +22 -13
  478. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +28 -15
  479. package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +1 -1
  480. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +10 -6
  481. package/src/shared/components/boundary/types.ts +1 -1
  482. package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +14 -1
  483. package/src/shared/components/overlay/helpers/get-active-overlay.ts +29 -4
  484. package/src/shared/components/overlay/hooks/use-overlay-slot.ts +26 -8
  485. package/src/shared/components/overlay/variations/overlay-host.tsx +11 -6
  486. package/src/shared/components/screen-container/layers/content.tsx +3 -4
  487. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +8 -12
  488. package/src/shared/factories/screen-topology/create-screen-topology.ts +199 -0
  489. package/src/shared/factories/screen-topology/index.ts +16 -0
  490. package/src/shared/factories/screen-topology/types.ts +22 -0
  491. package/src/shared/factories/screen-topology/use-screen-relationships.ts +15 -0
  492. package/src/shared/factories/screen-topology/worklet.ts +60 -0
  493. package/src/shared/hooks/navigation/use-screen-state.ts +2 -7
  494. package/src/shared/hooks/navigation/use-stack.tsx +28 -31
  495. package/src/shared/providers/helpers/measured-bounds-writes.ts +5 -0
  496. package/src/shared/providers/screen/animation/animation.provider.tsx +73 -206
  497. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +10 -81
  498. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +18 -3
  499. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +0 -1
  500. package/src/shared/providers/screen/animation/helpers/pipeline.ts +19 -22
  501. package/src/shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts +6 -30
  502. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +13 -32
  503. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +0 -2
  504. package/src/shared/providers/screen/animation/index.tsx +1 -0
  505. package/src/shared/providers/screen/animation/types.ts +1 -23
  506. package/src/shared/providers/screen/animation/use-screen-animation.tsx +10 -14
  507. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +110 -23
  508. package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +6 -6
  509. package/src/shared/providers/screen/gestures/gestures.provider.tsx +96 -85
  510. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +4 -4
  511. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +3 -4
  512. package/src/shared/providers/screen/gestures/index.tsx +2 -1
  513. package/src/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +16 -29
  514. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +5 -8
  515. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +2 -3
  516. package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +1 -0
  517. package/src/shared/providers/screen/gestures/pan/behavior/pan-release.ts +12 -2
  518. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -0
  519. package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +6 -9
  520. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +11 -7
  521. package/src/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +12 -12
  522. package/src/shared/providers/screen/gestures/shared/policy.ts +7 -7
  523. package/src/shared/providers/screen/gestures/types.ts +6 -2
  524. package/src/shared/providers/screen/styles/constants.ts +1 -0
  525. package/src/shared/providers/screen/styles/helpers/visibility-block-ownership.ts +16 -0
  526. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +10 -3
  527. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +7 -17
  528. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +40 -15
  529. package/src/shared/providers/screen/styles/index.tsx +2 -1
  530. package/src/shared/providers/screen/styles/slot.provider.tsx +30 -15
  531. package/src/shared/providers/screen/use-current-screen-relationships.ts +10 -0
  532. package/src/shared/providers/stack/blank-stack.provider.tsx +19 -6
  533. package/src/shared/providers/stack/core.provider.tsx +0 -1
  534. package/src/shared/providers/stack/direct.provider.tsx +2 -4
  535. package/src/shared/stores/animation.store.ts +0 -3
  536. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +12 -0
  537. package/src/shared/stores/bounds/internals/clear.ts +12 -1
  538. package/src/shared/stores/bounds/internals/coordinator.ts +415 -0
  539. package/src/shared/stores/bounds/internals/entries.ts +1 -38
  540. package/src/shared/stores/bounds/internals/links.ts +28 -38
  541. package/src/shared/stores/bounds/internals/state.ts +10 -1
  542. package/src/shared/stores/bounds/types.ts +18 -1
  543. package/src/shared/types/providers/blank-stack-provider.types.ts +1 -0
  544. package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +8 -3
  545. package/src/shared/utils/bounds/helpers/create-link-accessor.ts +11 -0
  546. package/src/shared/utils/bounds/helpers/prepare-bound-styles.ts +3 -2
  547. package/src/shared/utils/bounds/helpers/resolve-bounds-pair-key.ts +0 -1
  548. package/src/shared/utils/bounds/helpers/styles/compute.ts +12 -5
  549. package/src/shared/utils/create-provider.tsx +135 -200
  550. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +0 -177
  551. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +0 -1
  552. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +0 -49
  553. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +0 -1
  554. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +0 -69
  555. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +0 -1
  556. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +0 -68
  557. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +0 -1
  558. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -97
  559. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +0 -1
  560. package/lib/commonjs/shared/components/boundary/utils/source-signals.js +0 -43
  561. package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +0 -1
  562. package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -29
  563. package/lib/commonjs/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
  564. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js +0 -23
  565. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  566. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +0 -173
  567. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +0 -1
  568. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js +0 -44
  569. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +0 -1
  570. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +0 -64
  571. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +0 -1
  572. package/lib/module/shared/components/boundary/utils/destination-signals.js +0 -63
  573. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +0 -1
  574. package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -92
  575. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +0 -1
  576. package/lib/module/shared/components/boundary/utils/source-signals.js +0 -38
  577. package/lib/module/shared/components/boundary/utils/source-signals.js.map +0 -1
  578. package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js +0 -25
  579. package/lib/module/shared/providers/screen/descriptors/helpers/get-ancestor-keys.js.map +0 -1
  580. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js +0 -19
  581. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  582. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +0 -10
  583. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +0 -1
  584. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +0 -1
  585. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts +0 -10
  586. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +0 -1
  587. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +0 -16
  588. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +0 -1
  589. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +0 -19
  590. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +0 -1
  591. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -14
  592. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +0 -1
  593. package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts +0 -6
  594. package/lib/typescript/shared/providers/screen/descriptors/helpers/get-ancestor-keys.d.ts.map +0 -1
  595. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts +0 -11
  596. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +0 -1
  597. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -267
  598. package/src/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.ts +0 -51
  599. package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +0 -90
  600. package/src/shared/components/boundary/utils/destination-signals.ts +0 -75
  601. package/src/shared/components/boundary/utils/refresh-signals.ts +0 -164
  602. package/src/shared/components/boundary/utils/source-signals.ts +0 -51
  603. package/src/shared/providers/screen/descriptors/helpers/get-ancestor-keys.ts +0 -28
  604. package/src/shared/providers/screen/gestures/shared/ancestors.ts +0 -27
@@ -23,7 +23,6 @@ function createAnimationBag() {
23
23
  return {
24
24
  transitionProgress: makeMutable(0),
25
25
  visualProgress: makeMutable(0),
26
- stackProgress: makeMutable(0),
27
26
  willAnimate: makeMutable(0),
28
27
  closing: makeMutable(0),
29
28
  progressAnimating: makeMutable(0),
@@ -42,7 +41,6 @@ export const AnimationStore = createStore({
42
41
  disposeBag: bag => {
43
42
  cancelAnimation(bag.transitionProgress);
44
43
  cancelAnimation(bag.visualProgress);
45
- cancelAnimation(bag.stackProgress);
46
44
  cancelAnimation(bag.willAnimate);
47
45
  cancelAnimation(bag.progressAnimating);
48
46
  cancelAnimation(bag.progressSettled);
@@ -1 +1 @@
1
- {"version":3,"names":["cancelAnimation","makeMutable","FALSE","TRUE","emit","createStore","emitMotionStart","animations","progressSettled","set","progressAnimating","get","willAnimate","requestAnimationFrame","createAnimationBag","transitionProgress","visualProgress","stackProgress","closing","entering","AnimationStore","createBag","disposeBag","bag"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAChC,SAASC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAC1C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,WAAW,QAAQ,uBAAuB;AAanD,OAAO,MAAMC,eAAe,GAAIC,UAA6B,IAAK;EACjE,SAAS;;EAETA,UAAU,CAACC,eAAe,CAACC,GAAG,CAACP,KAAK,CAAC;EAErC,IAAIK,UAAU,CAACG,iBAAiB,CAACC,GAAG,CAAC,CAAC,EAAE;IACvC,OAAO,KAAK;EACb;EAEAP,IAAI,CAACG,UAAU,CAACK,WAAW,EAAET,IAAI,EAAED,KAAK,CAAC;EACzCW,qBAAqB,CAAC,MAAM;IAC3B,SAAS;;IACTN,UAAU,CAACG,iBAAiB,CAACD,GAAG,CAACN,IAAI,CAAC;EACvC,CAAC,CAAC;EACF,OAAO,IAAI;AACZ,CAAC;AAED,SAASW,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAEd,WAAW,CAAC,CAAC,CAAC;IAClCe,cAAc,EAAEf,WAAW,CAAC,CAAC,CAAC;IAC9BgB,aAAa,EAAEhB,WAAW,CAAC,CAAC,CAAC;IAC7BW,WAAW,EAAEX,WAAW,CAAC,CAAC,CAAC;IAC3BiB,OAAO,EAAEjB,WAAW,CAAC,CAAC,CAAC;IACvBS,iBAAiB,EAAET,WAAW,CAAC,CAAC,CAAC;IACjCO,eAAe,EAAEP,WAAW,CAAC,CAAC,CAAC;IAC/BkB,QAAQ,EAAElB,WAAW,CAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMmB,cAAc,GAAGf,WAAW,CAAoB;EAC5DgB,SAAS,EAAEP,kBAAkB;EAC7BQ,UAAU,EAAGC,GAAG,IAAK;IACpBvB,eAAe,CAACuB,GAAG,CAACR,kBAAkB,CAAC;IACvCf,eAAe,CAACuB,GAAG,CAACP,cAAc,CAAC;IACnChB,eAAe,CAACuB,GAAG,CAACN,aAAa,CAAC;IAClCjB,eAAe,CAACuB,GAAG,CAACX,WAAW,CAAC;IAChCZ,eAAe,CAACuB,GAAG,CAACb,iBAAiB,CAAC;IACtCV,eAAe,CAACuB,GAAG,CAACf,eAAe,CAAC;IACpCR,eAAe,CAACuB,GAAG,CAACL,OAAO,CAAC;IAC5BlB,eAAe,CAACuB,GAAG,CAACJ,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["cancelAnimation","makeMutable","FALSE","TRUE","emit","createStore","emitMotionStart","animations","progressSettled","set","progressAnimating","get","willAnimate","requestAnimationFrame","createAnimationBag","transitionProgress","visualProgress","closing","entering","AnimationStore","createBag","disposeBag","bag"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAChC,SAASC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAC1C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,WAAW,QAAQ,uBAAuB;AAYnD,OAAO,MAAMC,eAAe,GAAIC,UAA6B,IAAK;EACjE,SAAS;;EAETA,UAAU,CAACC,eAAe,CAACC,GAAG,CAACP,KAAK,CAAC;EAErC,IAAIK,UAAU,CAACG,iBAAiB,CAACC,GAAG,CAAC,CAAC,EAAE;IACvC,OAAO,KAAK;EACb;EAEAP,IAAI,CAACG,UAAU,CAACK,WAAW,EAAET,IAAI,EAAED,KAAK,CAAC;EACzCW,qBAAqB,CAAC,MAAM;IAC3B,SAAS;;IACTN,UAAU,CAACG,iBAAiB,CAACD,GAAG,CAACN,IAAI,CAAC;EACvC,CAAC,CAAC;EACF,OAAO,IAAI;AACZ,CAAC;AAED,SAASW,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAEd,WAAW,CAAC,CAAC,CAAC;IAClCe,cAAc,EAAEf,WAAW,CAAC,CAAC,CAAC;IAC9BW,WAAW,EAAEX,WAAW,CAAC,CAAC,CAAC;IAC3BgB,OAAO,EAAEhB,WAAW,CAAC,CAAC,CAAC;IACvBS,iBAAiB,EAAET,WAAW,CAAC,CAAC,CAAC;IACjCO,eAAe,EAAEP,WAAW,CAAC,CAAC,CAAC;IAC/BiB,QAAQ,EAAEjB,WAAW,CAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkB,cAAc,GAAGd,WAAW,CAAoB;EAC5De,SAAS,EAAEN,kBAAkB;EAC7BO,UAAU,EAAGC,GAAG,IAAK;IACpBtB,eAAe,CAACsB,GAAG,CAACP,kBAAkB,CAAC;IACvCf,eAAe,CAACsB,GAAG,CAACN,cAAc,CAAC;IACnChB,eAAe,CAACsB,GAAG,CAACV,WAAW,CAAC;IAChCZ,eAAe,CAACsB,GAAG,CAACZ,iBAAiB,CAAC;IACtCV,eAAe,CAACsB,GAAG,CAACd,eAAe,CAAC;IACpCR,eAAe,CAACsB,GAAG,CAACL,OAAO,CAAC;IAC5BjB,eAAe,CAACsB,GAAG,CAACJ,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
@@ -96,6 +96,15 @@ export const ensurePairSourceRequests = (state, pairKey) => {
96
96
  }
97
97
  return pair.sourceRequests;
98
98
  };
99
+ export const ensurePairDestinationRequests = (state, pairKey) => {
100
+ "worklet";
101
+
102
+ const pair = ensurePairState(state, pairKey);
103
+ if (!pair.destinationRequests) {
104
+ pair.destinationRequests = {};
105
+ }
106
+ return pair.destinationRequests;
107
+ };
99
108
  export const removePairLink = (state, pairKey, linkKey) => {
100
109
  "worklet";
101
110
 
@@ -1 +1 @@
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":[]}
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","ensurePairDestinationRequests","destinationRequests","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":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { hasAnyKeys } from "../helpers/keys";
4
4
  import { isScreenPairKeyForScreen } from "../helpers/link-pairs.helpers";
5
- import { boundaryRegistry, pairs } from "./state";
5
+ import { boundaryRegistry, boundsScreens, pairs } from "./state";
6
6
  function clear(screenKey) {
7
7
  "worklet";
8
8
 
@@ -28,6 +28,12 @@ function clear(screenKey) {
28
28
  }
29
29
  return state;
30
30
  });
31
+ boundsScreens.modify(state => {
32
+ "worklet";
33
+
34
+ delete state[screenKey];
35
+ return state;
36
+ });
31
37
  }
32
38
  export { clear };
33
39
  //# sourceMappingURL=clear.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hasAnyKeys","isScreenPairKeyForScreen","boundaryRegistry","pairs","clear","screenKey","modify","state","tag","tagState","screens","pairKey"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/clear.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,wBAAwB,QAAQ,+BAA+B;AAExE,SAAoCC,gBAAgB,EAAEC,KAAK,QAAQ,SAAS;AAE5E,SAASC,KAAKA,CAACC,SAAoB,EAAE;EACpC,SAAS;;EAETH,gBAAgB,CAACI,MAAM,CAAkCC,KAAQ,IAAQ;IACxE,SAAS;;IACT,KAAK,MAAMC,GAAG,IAAID,KAAK,EAAE;MACxB,MAAME,QAAQ,GAAGF,KAAK,CAACC,GAAG,CAAC;MAC3B,OAAOC,QAAQ,CAACC,OAAO,CAACL,SAAS,CAAC;MAElC,IAAI,CAACL,UAAU,CAACS,QAAQ,CAACC,OAAO,CAAC,EAAE;QAClC,OAAOH,KAAK,CAACC,GAAG,CAAC;MAClB;IACD;IAEA,OAAOD,KAAK;EACb,CAAC,CAAC;EAEFJ,KAAK,CAACG,MAAM,CAA4BC,KAAQ,IAAQ;IACvD,SAAS;;IACT,KAAK,MAAMI,OAAO,IAAIJ,KAAK,EAAE;MAC5B,IAAIN,wBAAwB,CAACU,OAAO,EAAEN,SAAS,CAAC,EAAE;QACjD,OAAOE,KAAK,CAACI,OAAO,CAAC;MACtB;IACD;IAEA,OAAOJ,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASH,KAAK","ignoreList":[]}
1
+ {"version":3,"names":["hasAnyKeys","isScreenPairKeyForScreen","boundaryRegistry","boundsScreens","pairs","clear","screenKey","modify","state","tag","tagState","screens","pairKey"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/clear.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,wBAAwB,QAAQ,+BAA+B;AAExE,SAECC,gBAAgB,EAChBC,aAAa,EACbC,KAAK,QACC,SAAS;AAEhB,SAASC,KAAKA,CAACC,SAAoB,EAAE;EACpC,SAAS;;EAETJ,gBAAgB,CAACK,MAAM,CAAkCC,KAAQ,IAAQ;IACxE,SAAS;;IACT,KAAK,MAAMC,GAAG,IAAID,KAAK,EAAE;MACxB,MAAME,QAAQ,GAAGF,KAAK,CAACC,GAAG,CAAC;MAC3B,OAAOC,QAAQ,CAACC,OAAO,CAACL,SAAS,CAAC;MAElC,IAAI,CAACN,UAAU,CAACU,QAAQ,CAACC,OAAO,CAAC,EAAE;QAClC,OAAOH,KAAK,CAACC,GAAG,CAAC;MAClB;IACD;IAEA,OAAOD,KAAK;EACb,CAAC,CAAC;EAEFJ,KAAK,CAACG,MAAM,CAA4BC,KAAQ,IAAQ;IACvD,SAAS;;IACT,KAAK,MAAMI,OAAO,IAAIJ,KAAK,EAAE;MAC5B,IAAIP,wBAAwB,CAACW,OAAO,EAAEN,SAAS,CAAC,EAAE;QACjD,OAAOE,KAAK,CAACI,OAAO,CAAC;MACtB;IACD;IAEA,OAAOJ,KAAK;EACb,CAAC,CAAC;EAEFL,aAAa,CAACI,MAAM,CAAEC,KAAK,IAAK;IAC/B,SAAS;;IACT,OAAOA,KAAK,CAACF,SAAS,CAAC;IACvB,OAAOE,KAAK;EACb,CAAC,CAAC;AACH;AAEA,SAASH,KAAK","ignoreList":[]}
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+
3
+ import { registerWorkletScreen, screenBelongsToScope, unregisterWorkletScreen } from "../../../factories/screen-topology";
4
+ import { ensurePairDestinationRequests, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getDestinationScreenKeyFromPairKey, getGroupKeyFromTag, getLinkKeyFromTag, getSourceScreenKeyFromPairKey } from "../helpers/link-pairs.helpers";
5
+ import { removeEntry, setEntry } from "./entries";
6
+ import { boundaryRegistry, boundsScreens, pairs } from "./state";
7
+ const getRequestedLinkKey = (state, pairKey, tag) => {
8
+ "worklet";
9
+
10
+ const requestedLinkKey = getLinkKeyFromTag(tag);
11
+ const group = getGroupKeyFromTag(tag);
12
+ return group ? state[pairKey]?.groups[group]?.activeId ?? requestedLinkKey : requestedLinkKey;
13
+ };
14
+ const getConcreteTag = (state, pairKey, tag) => {
15
+ "worklet";
16
+
17
+ const group = getGroupKeyFromTag(tag);
18
+ const linkKey = getRequestedLinkKey(state, pairKey, tag);
19
+ return group ? `${group}:${linkKey}` : linkKey;
20
+ };
21
+ const hasRegisteredDestination = (pairKey, tag) => {
22
+ "worklet";
23
+
24
+ const destinationRoot = getDestinationScreenKeyFromPairKey(pairKey);
25
+ if (!destinationRoot) return false;
26
+ const screens = boundaryRegistry.get()[tag]?.screens;
27
+ for (const screenKey in screens) {
28
+ if (screenBelongsToScope(screenKey, destinationRoot)) return true;
29
+ }
30
+ return false;
31
+ };
32
+ const hasRegisteredSource = (pairKey, tag) => {
33
+ "worklet";
34
+
35
+ const sourceRoot = getSourceScreenKeyFromPairKey(pairKey);
36
+ const screens = boundaryRegistry.get()[tag]?.screens;
37
+ for (const screenKey in screens) {
38
+ if (screenBelongsToScope(screenKey, sourceRoot)) return true;
39
+ }
40
+ return false;
41
+ };
42
+ const claimDestinationBlock = (pairKey, tag) => {
43
+ "worklet";
44
+
45
+ const state = pairs.get();
46
+ const linkKey = getRequestedLinkKey(state, pairKey, tag);
47
+ const pair = state[pairKey];
48
+ if (!pair?.destinationRequests?.[linkKey] || pair.blockedDestinations?.[linkKey]) {
49
+ return;
50
+ }
51
+ const concreteTag = getConcreteTag(state, pairKey, tag);
52
+ if (!hasRegisteredSource(pairKey, concreteTag) || !hasRegisteredDestination(pairKey, concreteTag)) {
53
+ return;
54
+ }
55
+ const destinationRoot = getDestinationScreenKeyFromPairKey(pairKey);
56
+ const destinationScreen = boundsScreens.get()[destinationRoot];
57
+ if (!destinationScreen || destinationScreen.animationProgress.get() > 0) {
58
+ return;
59
+ }
60
+ destinationScreen.pendingLifecycleStartBlockCount.modify(count => {
61
+ "worklet";
62
+
63
+ return count + 1;
64
+ });
65
+ pairs.modify(current => {
66
+ "worklet";
67
+
68
+ const currentPair = current[pairKey];
69
+ if (!currentPair) return current;
70
+ if (!currentPair.blockedDestinations) {
71
+ currentPair.blockedDestinations = {};
72
+ }
73
+ currentPair.blockedDestinations[linkKey] = true;
74
+ return current;
75
+ });
76
+ };
77
+ const releaseDestinationBlock = (pairKey, linkKey) => {
78
+ "worklet";
79
+
80
+ const pair = pairs.get()[pairKey];
81
+ if (!pair?.blockedDestinations?.[linkKey]) return;
82
+ const destinationRoot = getDestinationScreenKeyFromPairKey(pairKey);
83
+ const destinationScreen = boundsScreens.get()[destinationRoot];
84
+ destinationScreen?.pendingLifecycleStartBlockCount.modify(count => {
85
+ "worklet";
86
+
87
+ return Math.max(0, count - 1);
88
+ });
89
+ pairs.modify(state => {
90
+ "worklet";
91
+
92
+ delete state[pairKey]?.blockedDestinations?.[linkKey];
93
+ return state;
94
+ });
95
+ };
96
+ const releaseDestinationBlockWhenReady = (pairKey, linkKey) => {
97
+ "worklet";
98
+
99
+ const pair = pairs.get()[pairKey];
100
+ const link = pair?.links[linkKey];
101
+ if (!link?.source || !link.destination) return;
102
+ if (link.source.escapeClipping && !pair.portalReadySources?.[linkKey]) return;
103
+ releaseDestinationBlock(pairKey, linkKey);
104
+ };
105
+ export function registerScreen(params) {
106
+ "worklet";
107
+
108
+ const node = {
109
+ animationProgress: params.animationProgress,
110
+ pendingLifecycleStartBlockCount: params.pendingLifecycleStartBlockCount
111
+ };
112
+ registerWorkletScreen({
113
+ screenKey: params.screenKey,
114
+ parentScreenKey: params.parentScreenKey
115
+ });
116
+ boundsScreens.modify(state => {
117
+ "worklet";
118
+
119
+ state[params.screenKey] = node;
120
+ return state;
121
+ });
122
+ const state = pairs.get();
123
+ for (const pairKey in state) {
124
+ const requests = state[pairKey]?.destinationRequests;
125
+ for (const linkKey in requests) {
126
+ claimDestinationBlock(pairKey, linkKey);
127
+ }
128
+ }
129
+ }
130
+ export function unregisterScreen(screenKey) {
131
+ "worklet";
132
+
133
+ unregisterWorkletScreen(screenKey);
134
+ boundsScreens.modify(state => {
135
+ "worklet";
136
+
137
+ delete state[screenKey];
138
+ return state;
139
+ });
140
+ }
141
+ export function registerBoundary({
142
+ boundTag,
143
+ screenKey,
144
+ entry
145
+ }) {
146
+ "worklet";
147
+
148
+ setEntry(boundTag.tag, screenKey, entry);
149
+ const state = pairs.get();
150
+ for (const pairKey in state) {
151
+ const linkKey = getRequestedLinkKey(state, pairKey, boundTag.tag);
152
+ if (state[pairKey]?.destinationRequests?.[linkKey]) {
153
+ claimDestinationBlock(pairKey, boundTag.tag);
154
+ }
155
+ }
156
+ }
157
+ export function unregisterBoundary(boundTag, screenKey) {
158
+ "worklet";
159
+
160
+ removeEntry(boundTag.tag, screenKey);
161
+ if (!boundsScreens.get()[screenKey]) return;
162
+ const state = pairs.get();
163
+ for (const pairKey in state) {
164
+ const concreteTag = getConcreteTag(state, pairKey, boundTag.tag);
165
+ const type = screenBelongsToScope(screenKey, getSourceScreenKeyFromPairKey(pairKey)) && !hasRegisteredSource(pairKey, concreteTag) ? "source" : screenBelongsToScope(screenKey, getDestinationScreenKeyFromPairKey(pairKey)) && !hasRegisteredDestination(pairKey, concreteTag) ? "destination" : null;
166
+ if (!type) continue;
167
+ abandonBoundaryMeasurement({
168
+ type,
169
+ pairKey,
170
+ tag: getRequestedLinkKey(state, pairKey, boundTag.tag)
171
+ });
172
+ }
173
+ }
174
+ export function requestBoundaryMeasurements({
175
+ pairKey,
176
+ tag,
177
+ destination,
178
+ refresh
179
+ }) {
180
+ "worklet";
181
+
182
+ const requestedLinkKey = getLinkKeyFromTag(tag);
183
+ const group = getGroupKeyFromTag(tag);
184
+ const previousActiveId = group ? pairs.get()[pairKey]?.groups[group]?.activeId : undefined;
185
+ if (previousActiveId && previousActiveId !== requestedLinkKey) {
186
+ releaseDestinationBlock(pairKey, previousActiveId);
187
+ }
188
+ pairs.modify(state => {
189
+ "worklet";
190
+
191
+ const groups = ensurePairGroups(state, pairKey);
192
+ if (group && groups[group]?.activeId !== requestedLinkKey) {
193
+ groups[group] = {
194
+ activeId: requestedLinkKey,
195
+ initialId: groups[group]?.initialId ?? requestedLinkKey
196
+ };
197
+ if (previousActiveId) {
198
+ delete state[pairKey]?.sourceRequests?.[previousActiveId];
199
+ delete state[pairKey]?.destinationRequests?.[previousActiveId];
200
+ }
201
+ }
202
+ const linkKey = getRequestedLinkKey(state, pairKey, tag);
203
+ const pair = state[pairKey];
204
+ const link = ensurePairLinks(state, pairKey)[linkKey];
205
+ const refreshing = !!pair?.refreshingLinks?.[linkKey];
206
+ const startsRefresh = refresh && !refreshing;
207
+ if (!pair.refreshingLinks) pair.refreshingLinks = {};
208
+ if (refresh) {
209
+ pair.refreshingLinks[linkKey] = true;
210
+ } else {
211
+ delete pair.refreshingLinks[linkKey];
212
+ }
213
+ if (!link?.source || startsRefresh) {
214
+ ensurePairSourceRequests(state, pairKey)[linkKey] = true;
215
+ delete pair.portalReadySources?.[linkKey];
216
+ }
217
+ if (destination) {
218
+ if (group) {
219
+ if (!pair.destinationGroupDemands) pair.destinationGroupDemands = {};
220
+ pair.destinationGroupDemands[group] = true;
221
+ } else {
222
+ if (!pair.destinationLinkDemands) pair.destinationLinkDemands = {};
223
+ pair.destinationLinkDemands[linkKey] = true;
224
+ }
225
+ if (!link?.destination || startsRefresh) {
226
+ ensurePairDestinationRequests(state, pairKey)[linkKey] = true;
227
+ }
228
+ }
229
+ return state;
230
+ });
231
+ if (destination) claimDestinationBlock(pairKey, tag);
232
+ }
233
+ export function getBoundaryMeasurementRequest(tag, screenKey, state = pairs.get()) {
234
+ "worklet";
235
+
236
+ const linkKey = getLinkKeyFromTag(tag);
237
+ const group = getGroupKeyFromTag(tag);
238
+ let match = null;
239
+ for (const pairKey in state) {
240
+ const pair = state[pairKey];
241
+ if (group && pair?.groups[group]?.activeId !== linkKey) continue;
242
+ const sourceRoot = getSourceScreenKeyFromPairKey(pairKey);
243
+ if (pair?.sourceRequests?.[linkKey] && screenBelongsToScope(screenKey, sourceRoot)) {
244
+ match = {
245
+ type: "source",
246
+ pairKey
247
+ };
248
+ }
249
+ const destinationRoot = getDestinationScreenKeyFromPairKey(pairKey);
250
+ if (pair?.destinationRequests?.[linkKey] && destinationRoot && screenBelongsToScope(screenKey, destinationRoot)) {
251
+ match = {
252
+ type: "destination",
253
+ pairKey
254
+ };
255
+ }
256
+ }
257
+ return match;
258
+ }
259
+ export function completeBoundaryMeasurement(target, tag) {
260
+ "worklet";
261
+
262
+ const linkKey = getLinkKeyFromTag(tag);
263
+ releaseDestinationBlockWhenReady(target.pairKey, linkKey);
264
+ }
265
+ export function markBoundaryPortalReady(pairKey, tag) {
266
+ "worklet";
267
+
268
+ const linkKey = getLinkKeyFromTag(tag);
269
+ pairs.modify(state => {
270
+ "worklet";
271
+
272
+ const pair = state[pairKey];
273
+ if (!pair) return state;
274
+ if (!pair.portalReadySources) pair.portalReadySources = {};
275
+ pair.portalReadySources[linkKey] = true;
276
+ return state;
277
+ });
278
+ releaseDestinationBlockWhenReady(pairKey, linkKey);
279
+ }
280
+ export function abandonBoundaryMeasurement(params) {
281
+ "worklet";
282
+
283
+ const linkKey = getLinkKeyFromTag(params.tag);
284
+ const pair = pairs.get()[params.pairKey];
285
+ const hasPendingRequest = params.type === "source" ? !!pair?.sourceRequests?.[linkKey] : !!pair?.destinationRequests?.[linkKey];
286
+ const hasDestinationBlock = !!pair?.blockedDestinations?.[linkKey];
287
+ if (!hasPendingRequest && !hasDestinationBlock) return;
288
+ pairs.modify(state => {
289
+ "worklet";
290
+
291
+ if (params.type === "source") {
292
+ delete state[params.pairKey]?.sourceRequests?.[linkKey];
293
+ } else {
294
+ delete state[params.pairKey]?.destinationRequests?.[linkKey];
295
+ }
296
+ return state;
297
+ });
298
+ releaseDestinationBlock(params.pairKey, linkKey);
299
+ }
300
+ //# sourceMappingURL=coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerWorkletScreen","screenBelongsToScope","unregisterWorkletScreen","ensurePairDestinationRequests","ensurePairGroups","ensurePairLinks","ensurePairSourceRequests","getDestinationScreenKeyFromPairKey","getGroupKeyFromTag","getLinkKeyFromTag","getSourceScreenKeyFromPairKey","removeEntry","setEntry","boundaryRegistry","boundsScreens","pairs","getRequestedLinkKey","state","pairKey","tag","requestedLinkKey","group","groups","activeId","getConcreteTag","linkKey","hasRegisteredDestination","destinationRoot","screens","get","screenKey","hasRegisteredSource","sourceRoot","claimDestinationBlock","pair","destinationRequests","blockedDestinations","concreteTag","destinationScreen","animationProgress","pendingLifecycleStartBlockCount","modify","count","current","currentPair","releaseDestinationBlock","Math","max","releaseDestinationBlockWhenReady","link","links","source","destination","escapeClipping","portalReadySources","registerScreen","params","node","parentScreenKey","requests","unregisterScreen","registerBoundary","boundTag","entry","unregisterBoundary","type","abandonBoundaryMeasurement","requestBoundaryMeasurements","refresh","previousActiveId","undefined","initialId","sourceRequests","refreshing","refreshingLinks","startsRefresh","destinationGroupDemands","destinationLinkDemands","getBoundaryMeasurementRequest","match","completeBoundaryMeasurement","target","markBoundaryPortalReady","hasPendingRequest","hasDestinationBlock"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/coordinator.ts"],"mappings":"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","ignoreList":[]}
@@ -54,32 +54,6 @@ function getEntry(tag, key) {
54
54
 
55
55
  return boundaryRegistry.get()[tag]?.screens[key] ?? null;
56
56
  }
57
- function getMatchingSourceScreenKey(tag, destinationScreenKey, preferredScreenKey, excludedScreenKeys) {
58
- "worklet";
59
-
60
- const screens = boundaryRegistry.get()[tag]?.screens;
61
- if (!screens) return null;
62
- const isExcluded = screenKey => {
63
- "worklet";
64
-
65
- for (let index = 0; index < (excludedScreenKeys?.length ?? 0); index++) {
66
- if (excludedScreenKeys?.[index] === screenKey) {
67
- return true;
68
- }
69
- }
70
- return false;
71
- };
72
- if (preferredScreenKey && preferredScreenKey !== destinationScreenKey && !isExcluded(preferredScreenKey) && screens[preferredScreenKey]) {
73
- return preferredScreenKey;
74
- }
75
- let latestScreenKey = null;
76
- for (const screenKey in screens) {
77
- if (screenKey !== destinationScreenKey && !isExcluded(screenKey)) {
78
- latestScreenKey = screenKey;
79
- }
80
- }
81
- return latestScreenKey;
82
- }
83
57
  function setEntry(tag, screenKey, patch) {
84
58
  "worklet";
85
59
 
@@ -108,5 +82,5 @@ function removeEntry(tag, screenKey) {
108
82
  return state;
109
83
  });
110
84
  }
111
- export { getEntry, getMatchingSourceScreenKey, removeEntry, setEntry };
85
+ export { getEntry, removeEntry, setEntry };
112
86
  //# sourceMappingURL=entries.js.map
@@ -1 +1 @@
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","getMatchingSourceScreenKey","destinationScreenKey","preferredScreenKey","excludedScreenKeys","isExcluded","index","length","latestScreenKey","setEntry","modify","removeEntry"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/entries.ts"],"mappings":"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","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,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getDestinationScreenKeyFromPairKey, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource, getSourceScreenKeyFromPairKey } from "../helpers/link-pairs.helpers";
3
+ import { screenBelongsToScope } from "../../../factories/screen-topology";
4
+ import { createGroupTag, ensurePairGroups, ensurePairLinks, ensurePairSourceRequests, getDestinationScreenKeyFromPairKey, getGroupKeyFromTag, getLinkKeyFromTag, getActiveGroupId as getPairActiveGroupId, getDestination as getPairDestination, getLink as getPairLink, getSource as getPairSource } from "../helpers/link-pairs.helpers";
4
5
  import { pairs } from "./state";
5
6
  const syncLinkStatus = link => {
6
7
  "worklet";
@@ -196,31 +197,21 @@ function setDestination(pairKey, tag, screenKey, bounds, styles = {}, group, run
196
197
 
197
198
  const linkKey = getLinkKeyFromTag(tag);
198
199
  writeDestination(state, pairKey, linkKey, screenKey, bounds, styles, group, runtimeFlags);
200
+ delete state[pairKey]?.destinationRequests?.[linkKey];
199
201
  return state;
200
202
  });
201
203
  }
202
204
  function setActiveGroupId(pairKey, group, tag) {
203
205
  "worklet";
204
206
 
205
- pairs.modify(state => {
206
- "worklet";
207
-
208
- writeGroup(state, pairKey, group, getLinkKeyFromTag(tag));
209
- return state;
210
- });
211
- }
212
- function requestSourceMeasure(pairKey, tag) {
213
- "worklet";
214
-
215
207
  pairs.modify(state => {
216
208
  "worklet";
217
209
 
218
210
  const linkKey = getLinkKeyFromTag(tag);
219
- const link = getPairLink(state, pairKey, linkKey);
220
- if (link?.source || state[pairKey]?.sourceRequests?.[linkKey]) {
221
- return state;
211
+ writeGroup(state, pairKey, group, linkKey);
212
+ if (!getPairLink(state, pairKey, linkKey)?.source) {
213
+ ensurePairSourceRequests(state, pairKey)[linkKey] = true;
222
214
  }
223
- ensurePairSourceRequests(state, pairKey)[linkKey] = true;
224
215
  return state;
225
216
  });
226
217
  }
@@ -245,14 +236,16 @@ function getResolvedLink(pairKey, tag) {
245
236
  const state = pairs.get();
246
237
  const linkKey = getLinkKeyFromTag(tag);
247
238
  const group = getGroupKeyFromTag(tag);
248
- const link = getPairLink(state, pairKey, linkKey);
239
+ const activeId = group ? state[pairKey]?.groups?.[group]?.activeId : undefined;
240
+ const resolvedLinkKey = activeId ?? linkKey;
241
+ const link = getPairLink(state, pairKey, resolvedLinkKey);
249
242
 
250
243
  // Group active ids can update before the new member has a full source/destination
251
244
  // link. As soon as the requested member has source bounds, prefer it; only
252
245
  // fall back while the requested member has no source yet.
253
246
  if (!group || hasSourceLink(link)) {
254
247
  return {
255
- tag,
248
+ tag: group ? createGroupTag(group, resolvedLinkKey) : tag,
256
249
  link
257
250
  };
258
251
  }
@@ -271,26 +264,25 @@ function getResolvedLink(pairKey, tag) {
271
264
  link
272
265
  };
273
266
  }
274
- function getPairKeyForSource(tag, screenKey) {
267
+ function getPairKeyForDestination(tag, screenKey) {
275
268
  "worklet";
276
269
 
277
270
  const state = pairs.get();
278
- const linkKey = getLinkKeyFromTag(tag);
271
+ const group = getGroupKeyFromTag(tag);
279
272
  for (const pairKey in state) {
280
- if (getSourceScreenKeyFromPairKey(pairKey) !== screenKey) continue;
281
- if (getResolvedLink(pairKey, tag).link?.destination || state[pairKey]?.sourceRequests?.[linkKey]) {
273
+ const resolvedLink = getResolvedLink(pairKey, tag).link;
274
+ if (!resolvedLink) continue;
275
+ if (screenBelongsToScope(screenKey, getDestinationScreenKeyFromPairKey(pairKey)) || resolvedLink.destination?.screenKey === screenKey) {
282
276
  return pairKey;
283
277
  }
284
- }
285
- return null;
286
- }
287
- function getPairKeyForDestination(tag, screenKey) {
288
- "worklet";
289
-
290
- const state = pairs.get();
291
- for (const pairKey in state) {
292
- if (getDestinationScreenKeyFromPairKey(pairKey) !== screenKey) continue;
293
- if (getResolvedLink(pairKey, tag).link) return pairKey;
278
+ if (!group) continue;
279
+ const links = state[pairKey]?.links;
280
+ for (const linkKey in links) {
281
+ const link = links[linkKey];
282
+ if (link?.group === group && link.destination?.screenKey === screenKey) {
283
+ return pairKey;
284
+ }
285
+ }
294
286
  }
295
287
  return null;
296
288
  }
@@ -304,5 +296,5 @@ function getDestination(pairKey, tag) {
304
296
 
305
297
  return getPairDestination(pairs.get(), pairKey, getLinkKeyFromTag(tag));
306
298
  }
307
- export { getActiveGroupId, getDestination, getLink, getPairKeyForDestination, getPairKeyForSource, getResolvedLink, getSource, requestSourceMeasure, setActiveGroupId, setDestination, setSource };
299
+ export { getActiveGroupId, getDestination, getLink, getPairKeyForDestination, getResolvedLink, getSource, setActiveGroupId, setDestination, setSource };
308
300
  //# sourceMappingURL=links.js.map