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
@@ -7,13 +7,12 @@ exports.getActiveGroupId = getActiveGroupId;
7
7
  exports.getDestination = getDestination;
8
8
  exports.getLink = getLink;
9
9
  exports.getPairKeyForDestination = getPairKeyForDestination;
10
- exports.getPairKeyForSource = getPairKeyForSource;
11
10
  exports.getResolvedLink = getResolvedLink;
12
11
  exports.getSource = getSource;
13
- exports.requestSourceMeasure = requestSourceMeasure;
14
12
  exports.setActiveGroupId = setActiveGroupId;
15
13
  exports.setDestination = setDestination;
16
14
  exports.setSource = setSource;
15
+ var _screenTopology = require("../../../factories/screen-topology");
17
16
  var _linkPairs = require("../helpers/link-pairs.helpers");
18
17
  var _state = require("./state");
19
18
  const syncLinkStatus = link => {
@@ -210,31 +209,21 @@ function setDestination(pairKey, tag, screenKey, bounds, styles = {}, group, run
210
209
 
211
210
  const linkKey = (0, _linkPairs.getLinkKeyFromTag)(tag);
212
211
  writeDestination(state, pairKey, linkKey, screenKey, bounds, styles, group, runtimeFlags);
212
+ delete state[pairKey]?.destinationRequests?.[linkKey];
213
213
  return state;
214
214
  });
215
215
  }
216
216
  function setActiveGroupId(pairKey, group, tag) {
217
217
  "worklet";
218
218
 
219
- _state.pairs.modify(state => {
220
- "worklet";
221
-
222
- writeGroup(state, pairKey, group, (0, _linkPairs.getLinkKeyFromTag)(tag));
223
- return state;
224
- });
225
- }
226
- function requestSourceMeasure(pairKey, tag) {
227
- "worklet";
228
-
229
219
  _state.pairs.modify(state => {
230
220
  "worklet";
231
221
 
232
222
  const linkKey = (0, _linkPairs.getLinkKeyFromTag)(tag);
233
- const link = (0, _linkPairs.getLink)(state, pairKey, linkKey);
234
- if (link?.source || state[pairKey]?.sourceRequests?.[linkKey]) {
235
- return state;
223
+ writeGroup(state, pairKey, group, linkKey);
224
+ if (!(0, _linkPairs.getLink)(state, pairKey, linkKey)?.source) {
225
+ (0, _linkPairs.ensurePairSourceRequests)(state, pairKey)[linkKey] = true;
236
226
  }
237
- (0, _linkPairs.ensurePairSourceRequests)(state, pairKey)[linkKey] = true;
238
227
  return state;
239
228
  });
240
229
  }
@@ -259,14 +248,16 @@ function getResolvedLink(pairKey, tag) {
259
248
  const state = _state.pairs.get();
260
249
  const linkKey = (0, _linkPairs.getLinkKeyFromTag)(tag);
261
250
  const group = (0, _linkPairs.getGroupKeyFromTag)(tag);
262
- const link = (0, _linkPairs.getLink)(state, pairKey, linkKey);
251
+ const activeId = group ? state[pairKey]?.groups?.[group]?.activeId : undefined;
252
+ const resolvedLinkKey = activeId ?? linkKey;
253
+ const link = (0, _linkPairs.getLink)(state, pairKey, resolvedLinkKey);
263
254
 
264
255
  // Group active ids can update before the new member has a full source/destination
265
256
  // link. As soon as the requested member has source bounds, prefer it; only
266
257
  // fall back while the requested member has no source yet.
267
258
  if (!group || hasSourceLink(link)) {
268
259
  return {
269
- tag,
260
+ tag: group ? (0, _linkPairs.createGroupTag)(group, resolvedLinkKey) : tag,
270
261
  link
271
262
  };
272
263
  }
@@ -285,26 +276,25 @@ function getResolvedLink(pairKey, tag) {
285
276
  link
286
277
  };
287
278
  }
288
- function getPairKeyForSource(tag, screenKey) {
279
+ function getPairKeyForDestination(tag, screenKey) {
289
280
  "worklet";
290
281
 
291
282
  const state = _state.pairs.get();
292
- const linkKey = (0, _linkPairs.getLinkKeyFromTag)(tag);
283
+ const group = (0, _linkPairs.getGroupKeyFromTag)(tag);
293
284
  for (const pairKey in state) {
294
- if ((0, _linkPairs.getSourceScreenKeyFromPairKey)(pairKey) !== screenKey) continue;
295
- if (getResolvedLink(pairKey, tag).link?.destination || state[pairKey]?.sourceRequests?.[linkKey]) {
285
+ const resolvedLink = getResolvedLink(pairKey, tag).link;
286
+ if (!resolvedLink) continue;
287
+ if ((0, _screenTopology.screenBelongsToScope)(screenKey, (0, _linkPairs.getDestinationScreenKeyFromPairKey)(pairKey)) || resolvedLink.destination?.screenKey === screenKey) {
296
288
  return pairKey;
297
289
  }
298
- }
299
- return null;
300
- }
301
- function getPairKeyForDestination(tag, screenKey) {
302
- "worklet";
303
-
304
- const state = _state.pairs.get();
305
- for (const pairKey in state) {
306
- if ((0, _linkPairs.getDestinationScreenKeyFromPairKey)(pairKey) !== screenKey) continue;
307
- if (getResolvedLink(pairKey, tag).link) return pairKey;
290
+ if (!group) continue;
291
+ const links = state[pairKey]?.links;
292
+ for (const linkKey in links) {
293
+ const link = links[linkKey];
294
+ if (link?.group === group && link.destination?.screenKey === screenKey) {
295
+ return pairKey;
296
+ }
297
+ }
308
298
  }
309
299
  return null;
310
300
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_linkPairs","require","_state","syncLinkStatus","link","status","source","destination","isSharedValueLike","value","_isReanimatedSharedValue","snapshotSharedValue","snapshotTransformArrayValue","snapshot","index","length","snapshotValue","snapshotTransformEntryValue","undefined","push","Array","isArray","snapshotTransformItem","hasValue","key","snapshotTransform","snapshotStyles","styles","transform","createLinkSide","screenKey","bounds","runtimeFlags","handoff","escapeClipping","writePairLink","state","pairKey","linkKey","ensurePairLinks","writeGroup","group","activeId","initialId","previousInitialId","groups","ensurePairGroups","writeDestination","existingLink","getPairLink","initialDestination","setSource","tag","pairs","modify","getLinkKeyFromTag","pairLinks","initialSource","sourceRequests","setDestination","setActiveGroupId","requestSourceMeasure","ensurePairSourceRequests","getActiveGroupId","getPairActiveGroupId","get","getLink","hasSourceLink","getResolvedLink","getGroupKeyFromTag","initialLink","createGroupTag","getPairKeyForSource","getSourceScreenKeyFromPairKey","getPairKeyForDestination","getDestinationScreenKeyFromPairKey","getSource","getPairSource","getDestination","getPairDestination"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/links.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_screenTopology","require","_linkPairs","_state","syncLinkStatus","link","status","source","destination","isSharedValueLike","value","_isReanimatedSharedValue","snapshotSharedValue","snapshotTransformArrayValue","snapshot","index","length","snapshotValue","snapshotTransformEntryValue","undefined","push","Array","isArray","snapshotTransformItem","hasValue","key","snapshotTransform","snapshotStyles","styles","transform","createLinkSide","screenKey","bounds","runtimeFlags","handoff","escapeClipping","writePairLink","state","pairKey","linkKey","ensurePairLinks","writeGroup","group","activeId","initialId","previousInitialId","groups","ensurePairGroups","writeDestination","existingLink","getPairLink","initialDestination","setSource","tag","pairs","modify","getLinkKeyFromTag","pairLinks","initialSource","sourceRequests","setDestination","destinationRequests","setActiveGroupId","ensurePairSourceRequests","getActiveGroupId","getPairActiveGroupId","get","getLink","hasSourceLink","getResolvedLink","getGroupKeyFromTag","resolvedLinkKey","createGroupTag","initialLink","getPairKeyForDestination","resolvedLink","screenBelongsToScope","getDestinationScreenKeyFromPairKey","links","getSource","getPairSource","getDestination","getPairDestination"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/links.ts"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.pairs = exports.boundaryRegistry = void 0;
6
+ exports.pairs = exports.boundsScreens = exports.boundaryRegistry = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
8
  const boundaryRegistry = exports.boundaryRegistry = (0, _reactNativeReanimated.makeMutable)({});
9
9
 
@@ -30,4 +30,7 @@ const boundaryRegistry = exports.boundaryRegistry = (0, _reactNativeReanimated.m
30
30
  * }
31
31
  */
32
32
  const pairs = exports.pairs = (0, _reactNativeReanimated.makeMutable)({});
33
+
34
+ /** Bounds-only runtime values keyed by screen. Relationships live in topology. */
35
+ const boundsScreens = exports.boundsScreens = (0, _reactNativeReanimated.makeMutable)({});
33
36
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","boundaryRegistry","exports","makeMutable","pairs"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/state.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAQO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,kCAAW,EAAuB,CAAC,CAAC,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAG,IAAAD,kCAAW,EAAiB,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","boundaryRegistry","exports","makeMutable","pairs","boundsScreens"],"sourceRoot":"../../../../../../src","sources":["shared/stores/bounds/internals/state.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAcO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,kCAAW,EAAuB,CAAC,CAAC,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAG,IAAAD,kCAAW,EAAiB,CAAC,CAAC,CAAC;;AAEpD;AACO,MAAME,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAG,IAAAF,kCAAW,EAAoB,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -46,11 +46,14 @@ const createBoundsAccessorParts = ({
46
46
  "worklet";
47
47
 
48
48
  // Keep the component at its base layout for pre-animation refresh
49
- // measurement, then remove generated styles again after settlement.
50
- if (!props.active.animating) {
49
+ // measurement, then remove generated styles again after settlement. The
50
+ // pre-animation pass still has to reach the bounds coordinator so both
51
+ // endpoints are captured before generated transforms attach.
52
+ const shouldRenderStyles = !!props.active.animating;
53
+ if (!shouldRenderStyles && !props.active.willAnimate) {
51
54
  return _constants.NO_STYLES;
52
55
  }
53
- return (0, _prepareBoundStyles.prepareBoundStyles)({
56
+ const preparedStyles = (0, _prepareBoundStyles.prepareBoundStyles)({
54
57
  props,
55
58
  options: {
56
59
  ...options,
@@ -58,6 +61,7 @@ const createBoundsAccessorParts = ({
58
61
  group: normalizedIdentity.group
59
62
  }
60
63
  });
64
+ return shouldRenderStyles ? preparedStyles : _constants.NO_STYLES;
61
65
  },
62
66
  values: getValues,
63
67
  math: options => {
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_createBoundTag","_createLinkAccessor","_prepareBoundStyles","createBoundsAccessorParts","getProps","extendResult","getLink","createLinkAccessor","createScopedBounds","identity","props","normalizedIdentity","normalizeBoundIdentity","tag","createBoundTag","syncActiveGroupId","id","group","getValues","options","prepareBoundStyles","raw","scoped","styles","active","animating","NO_STYLES","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAaA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAcA,MAAMI,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sCAAkB,EAACH,QAAQ,CAAC;EAEhD,MAAMI,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGN,QAAQ,CAAC,CAAC;IACxB,MAAMO,kBAAkB,GAAG,IAAAC,sCAAsB,EAACH,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAAC,8BAAc,EAACH,kBAAkB,CAAC;IAC9C,IAAAI,qCAAiB,EAAC;MACjBL,KAAK;MACLM,EAAE,EAAEL,kBAAkB,CAACK,EAAE;MACzBC,KAAK,EAAEN,kBAAkB,CAACM;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAO,IAAAC,sCAAkB,EAAC;QACzBV,KAAK;QACLS,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;UACzBC,KAAK,EAAEN,kBAAkB,CAACM,KAAK;UAC/BI,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGJ,OAA8B,IAAwB;QAC9D,SAAS;;QACT;QACA;QACA,IAAI,CAACT,KAAK,CAACc,MAAM,CAACC,SAAS,EAAE;UAC5B,OAAOC,oBAAS;QACjB;QAEA,OAAO,IAAAN,sCAAkB,EAAC;UACzBV,KAAK;UACLS,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;YACzBC,KAAK,EAAEN,kBAAkB,CAACM;UAC3B;QACD,CAAC,CAAC;MACH,CAAC;MACDU,MAAM,EAAET,SAAS;MACjBU,IAAI,EACHT,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDU,IAAI,EAAGb,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMc,YAAY,GACjBd,EAAE,IAAI,IAAI,GACPL,kBAAkB,GAClB,IAAAC,sCAAsB,EAACI,EAAE,EAAEL,kBAAkB,CAACM,KAAK,CAAC;QACxD,MAAMc,OAAO,GAAG,IAAAjB,8BAAc,EAACgB,YAAY,CAAC;QAC5C,OAAOxB,OAAO,CAACyB,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzB1B,YAAY,GAAG;MACd2B,MAAM,EAAEV,MAAM;MACdb,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLG;IACD,CAAC,CAAC;IAEF,OAAOS,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAEM,MAAMyB,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAE1B;EAAmB,CAAC,GAAGL,yBAAyB,CAAC+B,MAAM,CAAC;EAEhE,OAAO1B,kBAAkB;AAC1B,CAAC;AAAC2B,OAAA,CAAAF,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_createBoundTag","_createLinkAccessor","_prepareBoundStyles","createBoundsAccessorParts","getProps","extendResult","getLink","createLinkAccessor","createScopedBounds","identity","props","normalizedIdentity","normalizeBoundIdentity","tag","createBoundTag","syncActiveGroupId","id","group","getValues","options","prepareBoundStyles","raw","scoped","styles","shouldRenderStyles","active","animating","willAnimate","NO_STYLES","preparedStyles","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAaA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAcA,MAAMI,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sCAAkB,EAACH,QAAQ,CAAC;EAEhD,MAAMI,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGN,QAAQ,CAAC,CAAC;IACxB,MAAMO,kBAAkB,GAAG,IAAAC,sCAAsB,EAACH,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAAC,8BAAc,EAACH,kBAAkB,CAAC;IAC9C,IAAAI,qCAAiB,EAAC;MACjBL,KAAK;MACLM,EAAE,EAAEL,kBAAkB,CAACK,EAAE;MACzBC,KAAK,EAAEN,kBAAkB,CAACM;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAO,IAAAC,sCAAkB,EAAC;QACzBV,KAAK;QACLS,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;UACzBC,KAAK,EAAEN,kBAAkB,CAACM,KAAK;UAC/BI,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGJ,OAA8B,IAAwB;QAC9D,SAAS;;QACT;QACA;QACA;QACA;QACA,MAAMK,kBAAkB,GAAG,CAAC,CAACd,KAAK,CAACe,MAAM,CAACC,SAAS;QACnD,IAAI,CAACF,kBAAkB,IAAI,CAACd,KAAK,CAACe,MAAM,CAACE,WAAW,EAAE;UACrD,OAAOC,oBAAS;QACjB;QAEA,MAAMC,cAAc,GAAG,IAAAT,sCAAkB,EAAC;UACzCV,KAAK;UACLS,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;YACzBC,KAAK,EAAEN,kBAAkB,CAACM;UAC3B;QACD,CAAC,CAAsB;QAEvB,OAAOO,kBAAkB,GAAGK,cAAc,GAAGD,oBAAS;MACvD,CAAC;MACDE,MAAM,EAAEZ,SAAS;MACjBa,IAAI,EACHZ,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDa,IAAI,EAAGhB,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMiB,YAAY,GACjBjB,EAAE,IAAI,IAAI,GACPL,kBAAkB,GAClB,IAAAC,sCAAsB,EAACI,EAAE,EAAEL,kBAAkB,CAACM,KAAK,CAAC;QACxD,MAAMiB,OAAO,GAAG,IAAApB,8BAAc,EAACmB,YAAY,CAAC;QAC5C,OAAO3B,OAAO,CAAC4B,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzB7B,YAAY,GAAG;MACd8B,MAAM,EAAEb,MAAM;MACdb,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLG;IACD,CAAC,CAAC;IAEF,OAAOS,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAEM,MAAM4B,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAE7B;EAAmB,CAAC,GAAGL,yBAAyB,CAACkC,MAAM,CAAC;EAEhE,OAAO7B,kBAAkB;AAC1B,CAAC;AAAC8B,OAAA,CAAAF,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createLinkAccessor = void 0;
7
+ var _coordinator = require("../../../stores/bounds/internals/coordinator");
7
8
  var _links = require("../../../stores/bounds/internals/links");
9
+ var _resolveBoundsPairKey = require("./resolve-bounds-pair-key");
8
10
  const createLinkAccessor = getProps => {
9
11
  "worklet";
10
12
 
@@ -13,6 +15,15 @@ const createLinkAccessor = getProps => {
13
15
 
14
16
  const props = getProps();
15
17
  const stringTag = String(tag);
18
+ const requestedPairKey = (0, _resolveBoundsPairKey.resolveBoundsPairKey)(props);
19
+ if (requestedPairKey) {
20
+ (0, _coordinator.requestBoundaryMeasurements)({
21
+ pairKey: requestedPairKey,
22
+ tag: stringTag,
23
+ destination: true,
24
+ refresh: !!props.active.willAnimate
25
+ });
26
+ }
16
27
  const destinationScreenKey = props.next?.route.key ?? props.current?.route.key;
17
28
  const pairKey = destinationScreenKey ? (0, _links.getPairKeyForDestination)(stringTag, destinationScreenKey) : null;
18
29
  if (!pairKey) return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_links","require","createLinkAccessor","getProps","getLink","tag","props","stringTag","String","destinationScreenKey","next","route","key","current","pairKey","getPairKeyForDestination","resolved","getResolvedLink","link","id","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-link-accessor.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAgBO,MAAMC,kBAAkB,GAAIC,QAAkB,IAAmB;EACvE,SAAS;;EAET,MAAMC,OAAO,GAAIC,GAAY,IAAwB;IACpD,SAAS;;IACT,MAAMC,KAAK,GAAGH,QAAQ,CAAC,CAAC;IACxB,MAAMI,SAAS,GAAGC,MAAM,CAACH,GAAG,CAAC;IAC7B,MAAMI,oBAAoB,GACzBH,KAAK,CAACI,IAAI,EAAEC,KAAK,CAACC,GAAG,IAAIN,KAAK,CAACO,OAAO,EAAEF,KAAK,CAACC,GAAG;IAClD,MAAME,OAAO,GAAGL,oBAAoB,GACjC,IAAAM,+BAAwB,EAACR,SAAS,EAAEE,oBAAoB,CAAC,GACzD,IAAI;IACP,IAAI,CAACK,OAAO,EAAE,OAAO,IAAI;IAEzB,MAAME,QAAQ,GAAG,IAAAC,sBAAe,EAACH,OAAO,EAAEP,SAAS,CAAC;IACpD,OAAOS,QAAQ,CAACE,IAAI,GACjB;MACAC,EAAE,EAAEH,QAAQ,CAACX,GAAG;MAChB,GAAGW,QAAQ,CAACE;IACb,CAAC,GACA,IAAI;EACR,CAAC;EAED,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAACgB,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_coordinator","require","_links","_resolveBoundsPairKey","createLinkAccessor","getProps","getLink","tag","props","stringTag","String","requestedPairKey","resolveBoundsPairKey","requestBoundaryMeasurements","pairKey","destination","refresh","active","willAnimate","destinationScreenKey","next","route","key","current","getPairKeyForDestination","resolved","getResolvedLink","link","id","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-link-accessor.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,qBAAA,GAAAF,OAAA;AAQO,MAAMG,kBAAkB,GAAIC,QAAkB,IAAmB;EACvE,SAAS;;EAET,MAAMC,OAAO,GAAIC,GAAY,IAAwB;IACpD,SAAS;;IACT,MAAMC,KAAK,GAAGH,QAAQ,CAAC,CAAC;IACxB,MAAMI,SAAS,GAAGC,MAAM,CAACH,GAAG,CAAC;IAC7B,MAAMI,gBAAgB,GAAG,IAAAC,0CAAoB,EAACJ,KAAK,CAAC;IACpD,IAAIG,gBAAgB,EAAE;MACrB,IAAAE,wCAA2B,EAAC;QAC3BC,OAAO,EAAEH,gBAAgB;QACzBJ,GAAG,EAAEE,SAAS;QACdM,WAAW,EAAE,IAAI;QACjBC,OAAO,EAAE,CAAC,CAACR,KAAK,CAACS,MAAM,CAACC;MACzB,CAAC,CAAC;IACH;IACA,MAAMC,oBAAoB,GACzBX,KAAK,CAACY,IAAI,EAAEC,KAAK,CAACC,GAAG,IAAId,KAAK,CAACe,OAAO,EAAEF,KAAK,CAACC,GAAG;IAClD,MAAMR,OAAO,GAAGK,oBAAoB,GACjC,IAAAK,+BAAwB,EAACf,SAAS,EAAEU,oBAAoB,CAAC,GACzD,IAAI;IACP,IAAI,CAACL,OAAO,EAAE,OAAO,IAAI;IAEzB,MAAMW,QAAQ,GAAG,IAAAC,sBAAe,EAACZ,OAAO,EAAEL,SAAS,CAAC;IACpD,OAAOgB,QAAQ,CAACE,IAAI,GACjB;MACAC,EAAE,EAAEH,QAAQ,CAAClB,GAAG;MAChB,GAAGkB,QAAQ,CAACE;IACb,CAAC,GACA,IAAI;EACR,CAAC;EAED,OAAO;IACNrB;EACD,CAAC;AACF,CAAC;AAACuB,OAAA,CAAAzB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -42,10 +42,14 @@ const syncActiveGroupId = params => {
42
42
  group
43
43
  } = params;
44
44
  if (id == null || id === "" || !group) return;
45
- const pairKey = (0, _resolveBoundsPairKey.resolveBoundsPairKey)(props);
45
+ const tag = (0, _createBoundTag.createBoundTag)({
46
+ id,
47
+ group
48
+ });
49
+ const pairKey = tag ? (0, _resolveBoundsPairKey.resolveBoundsPairKey)(props) : null;
46
50
  if (!pairKey) return;
47
51
  const activeId = String(id);
48
- if ((0, _links.getActiveGroupId)(pairKey, group) === activeId) return;
52
+ if ((0, _links.getActiveGroupId)(pairKey, group) !== null) return;
49
53
  (0, _links.setActiveGroupId)(pairKey, group, activeId);
50
54
  };
51
55
  exports.syncActiveGroupId = syncActiveGroupId;
@@ -1 +1 @@
1
- {"version":3,"names":["_entries","require","_links","_constants","_createBoundTag","_resolveBoundsPairKey","_compute","buildBoundsOptions","props","id","group","overrides","tag","createBoundTag","currentScreenKey","current","route","key","boundaryConfig","getEntry","resolved","DEFAULT_BOUNDS_OPTIONS","syncActiveGroupId","params","pairKey","resolveBoundsPairKey","activeId","String","getActiveGroupId","setActiveGroupId","exports","prepareBoundStyles","options","resolvedPair","computeBoundStyles","previous","next","progress","dimensions","layouts","screen","interpolationProps"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/prepare-bound-styles.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,UAAA,GAAAF,OAAA;AAMA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAiBA,MAAMM,kBAAkB,GAAGA,CAAC;EAC3BC,KAAK;EACLC,EAAE;EACFC,KAAK;EACLC;AACyB,CAAC,KAAoB;EAC9C,SAAS;;EAET,MAAMC,GAAG,GAAG,IAAAC,8BAAc,EAAC;IAAEJ,EAAE;IAAEC;EAAM,CAAC,CAAC;EACzC,MAAMI,gBAAgB,GAAGN,KAAK,CAACO,OAAO,EAAEC,KAAK,CAACC,GAAG;EAEjD,MAAMC,cAAc,GACnBN,GAAG,IAAIE,gBAAgB,GACnB,IAAAK,iBAAQ,EAACP,GAAG,EAAEE,gBAAgB,CAAC,EAAEI,cAAc,IAAI,IAAI,GACxD,IAAI;EAER,MAAME,QAAQ,GAAG;IAChB,GAAGC,iCAAsB;IACzB,IAAIH,cAAc,IAAI,CAAC,CAAC,CAAC;IACzB,IAAIP,SAAS,IAAI,CAAC,CAAC,CAAC;IACpBF,EAAE,EAAEG,GAAG,IAAI,EAAE;IACbF;EACD,CAAC;EAED,OAAOU,QAAQ;AAChB,CAAC;AAEM,MAAME,iBAAiB,GAAIC,MAIjC,IAAK;EACL,SAAS;;EACT,MAAM;IAAEf,KAAK;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGa,MAAM;EACnC,IAAId,EAAE,IAAI,IAAI,IAAIA,EAAE,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE;EAEvC,MAAMc,OAAO,GAAG,IAAAC,0CAAoB,EAACjB,KAAK,CAAC;EAC3C,IAAI,CAACgB,OAAO,EAAE;EAEd,MAAME,QAAQ,GAAGC,MAAM,CAAClB,EAAE,CAAC;EAC3B,IAAI,IAAAmB,uBAAgB,EAACJ,OAAO,EAAEd,KAAK,CAAC,KAAKgB,QAAQ,EAAE;EAEnD,IAAAG,uBAAgB,EAACL,OAAO,EAAEd,KAAK,EAAEgB,QAAQ,CAAC;AAC3C,CAAC;AAACI,OAAA,CAAAR,iBAAA,GAAAA,iBAAA;AAEK,MAAMS,kBAAkB,GAAGA,CAA0B;EAC3DvB,KAAK;EACLwB,OAAO;EACPC;AACqC,CAAC,KAA6B;EACnE,SAAS;;EAET,MAAMb,QAAQ,GAAGb,kBAAkB,CAAC;IACnCC,KAAK;IACLC,EAAE,EAAEuB,OAAO,CAACvB,EAAE;IACdC,KAAK,EAAEsB,OAAO,CAACtB,KAAK;IACpBC,SAAS,EAAEqB;EACZ,CAAC,CAAC;EAEF,OAAO,IAAAE,2BAAkB,EACxB;IACCzB,EAAE,EAAEW,QAAQ,CAACX,EAAE;IACf0B,QAAQ,EAAE3B,KAAK,CAAC2B,QAAQ;IACxBpB,OAAO,EAAEP,KAAK,CAACO,OAAO;IACtBqB,IAAI,EAAE5B,KAAK,CAAC4B,IAAI;IAChBC,QAAQ,EAAEjB,QAAQ,CAACiB,QAAQ,IAAI7B,KAAK,CAAC6B,QAAQ;IAC7CC,UAAU,EAAE9B,KAAK,CAAC+B,OAAO,CAACC,MAAM;IAChCC,kBAAkB,EAAEjC;EACrB,CAAC,EACDY,QAAQ,EACRa,YACD,CAAC;AACF,CAAC;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_entries","require","_links","_constants","_createBoundTag","_resolveBoundsPairKey","_compute","buildBoundsOptions","props","id","group","overrides","tag","createBoundTag","currentScreenKey","current","route","key","boundaryConfig","getEntry","resolved","DEFAULT_BOUNDS_OPTIONS","syncActiveGroupId","params","pairKey","resolveBoundsPairKey","activeId","String","getActiveGroupId","setActiveGroupId","exports","prepareBoundStyles","options","resolvedPair","computeBoundStyles","previous","next","progress","dimensions","layouts","screen","interpolationProps"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/prepare-bound-styles.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAMA,IAAAE,UAAA,GAAAF,OAAA;AAMA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAiBA,MAAMM,kBAAkB,GAAGA,CAAC;EAC3BC,KAAK;EACLC,EAAE;EACFC,KAAK;EACLC;AACyB,CAAC,KAAoB;EAC9C,SAAS;;EAET,MAAMC,GAAG,GAAG,IAAAC,8BAAc,EAAC;IAAEJ,EAAE;IAAEC;EAAM,CAAC,CAAC;EACzC,MAAMI,gBAAgB,GAAGN,KAAK,CAACO,OAAO,EAAEC,KAAK,CAACC,GAAG;EAEjD,MAAMC,cAAc,GACnBN,GAAG,IAAIE,gBAAgB,GACnB,IAAAK,iBAAQ,EAACP,GAAG,EAAEE,gBAAgB,CAAC,EAAEI,cAAc,IAAI,IAAI,GACxD,IAAI;EAER,MAAME,QAAQ,GAAG;IAChB,GAAGC,iCAAsB;IACzB,IAAIH,cAAc,IAAI,CAAC,CAAC,CAAC;IACzB,IAAIP,SAAS,IAAI,CAAC,CAAC,CAAC;IACpBF,EAAE,EAAEG,GAAG,IAAI,EAAE;IACbF;EACD,CAAC;EAED,OAAOU,QAAQ;AAChB,CAAC;AAEM,MAAME,iBAAiB,GAAIC,MAIjC,IAAK;EACL,SAAS;;EACT,MAAM;IAAEf,KAAK;IAAEC,EAAE;IAAEC;EAAM,CAAC,GAAGa,MAAM;EACnC,IAAId,EAAE,IAAI,IAAI,IAAIA,EAAE,KAAK,EAAE,IAAI,CAACC,KAAK,EAAE;EAEvC,MAAME,GAAG,GAAG,IAAAC,8BAAc,EAAC;IAAEJ,EAAE;IAAEC;EAAM,CAAC,CAAC;EACzC,MAAMc,OAAO,GAAGZ,GAAG,GAAG,IAAAa,0CAAoB,EAACjB,KAAK,CAAC,GAAG,IAAI;EACxD,IAAI,CAACgB,OAAO,EAAE;EAEd,MAAME,QAAQ,GAAGC,MAAM,CAAClB,EAAE,CAAC;EAC3B,IAAI,IAAAmB,uBAAgB,EAACJ,OAAO,EAAEd,KAAK,CAAC,KAAK,IAAI,EAAE;EAE/C,IAAAmB,uBAAgB,EAACL,OAAO,EAAEd,KAAK,EAAEgB,QAAQ,CAAC;AAC3C,CAAC;AAACI,OAAA,CAAAR,iBAAA,GAAAA,iBAAA;AAEK,MAAMS,kBAAkB,GAAGA,CAA0B;EAC3DvB,KAAK;EACLwB,OAAO;EACPC;AACqC,CAAC,KAA6B;EACnE,SAAS;;EAET,MAAMb,QAAQ,GAAGb,kBAAkB,CAAC;IACnCC,KAAK;IACLC,EAAE,EAAEuB,OAAO,CAACvB,EAAE;IACdC,KAAK,EAAEsB,OAAO,CAACtB,KAAK;IACpBC,SAAS,EAAEqB;EACZ,CAAC,CAAC;EAEF,OAAO,IAAAE,2BAAkB,EACxB;IACCzB,EAAE,EAAEW,QAAQ,CAACX,EAAE;IACf0B,QAAQ,EAAE3B,KAAK,CAAC2B,QAAQ;IACxBpB,OAAO,EAAEP,KAAK,CAACO,OAAO;IACtBqB,IAAI,EAAE5B,KAAK,CAAC4B,IAAI;IAChBC,QAAQ,EAAEjB,QAAQ,CAACiB,QAAQ,IAAI7B,KAAK,CAAC6B,QAAQ;IAC7CC,UAAU,EAAE9B,KAAK,CAAC+B,OAAO,CAACC,MAAM;IAChCC,kBAAkB,EAAEjC;EACrB,CAAC,EACDY,QAAQ,EACRa,YACD,CAAC;AACF,CAAC;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_linkPairs","require","resolveBoundsPairKey","props","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","next","createScreenPairKey","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/resolve-bounds-pair-key.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAIO,MAAMC,oBAAoB,GAChCC,KAA+B,IACL;EAC1B,SAAS;;EACT,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,OAAO,EAAEC,KAAK,CAACC,GAAG;EACjD,MAAMC,iBAAiB,GAAGL,KAAK,CAACM,QAAQ,EAAEH,KAAK,CAACC,GAAG;EACnD,MAAMG,aAAa,GAAGP,KAAK,CAACQ,IAAI,EAAEL,KAAK,CAACC,GAAG;EAE3C,IAAIG,aAAa,IAAIN,gBAAgB,EAAE;IACtC,OAAO,IAAAQ,8BAAmB,EAACR,gBAAgB,EAAEM,aAAa,CAAC;EAC5D;EAEA,IAAIF,iBAAiB,IAAIJ,gBAAgB,EAAE;IAC1C,OAAO,IAAAQ,8BAAmB,EAACJ,iBAAiB,EAAEJ,gBAAgB,CAAC;EAChE;EAEA,OAAO,IAAI;AACZ,CAAC;AAACS,OAAA,CAAAX,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_linkPairs","require","resolveBoundsPairKey","props","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","next","createScreenPairKey","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/resolve-bounds-pair-key.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAIO,MAAMC,oBAAoB,GAChCC,KAA+B,IACL;EAC1B,SAAS;;EACT,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,OAAO,EAAEC,KAAK,CAACC,GAAG;EACjD,MAAMC,iBAAiB,GAAGL,KAAK,CAACM,QAAQ,EAAEH,KAAK,CAACC,GAAG;EACnD,MAAMG,aAAa,GAAGP,KAAK,CAACQ,IAAI,EAAEL,KAAK,CAACC,GAAG;EAC3C,IAAIG,aAAa,IAAIN,gBAAgB,EAAE;IACtC,OAAO,IAAAQ,8BAAmB,EAACR,gBAAgB,EAAEM,aAAa,CAAC;EAC5D;EAEA,IAAIF,iBAAiB,IAAIJ,gBAAgB,EAAE;IAC1C,OAAO,IAAAQ,8BAAmB,EAACJ,iBAAiB,EAAEJ,gBAAgB,CAAC;EAChE;EAEA,OAAO,IAAI;AACZ,CAAC;AAACS,OAAA,CAAAX,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.computeBoundStyles = void 0;
7
7
  var _constants = require("../../../../constants");
8
8
  var _linkPairs = require("../../../../stores/bounds/helpers/link-pairs.helpers");
9
- var _links = require("../../../../stores/bounds/internals/links");
9
+ var _coordinator = require("../../../../stores/bounds/internals/coordinator");
10
10
  var _resolver = require("../../../../stores/bounds/internals/resolver");
11
11
  var _geometry = require("../geometry");
12
12
  var _composers = require("./composers");
@@ -23,6 +23,14 @@ const resolveStartEnd = params => {
23
23
  const previousScreenKey = params.previous?.route.key;
24
24
  const nextScreenKey = params.next?.route.key;
25
25
  const sourceMeasurePairKey = entering && previousScreenKey && currentScreenKey ? (0, _linkPairs.createScreenPairKey)(previousScreenKey, currentScreenKey) : !entering && currentScreenKey && nextScreenKey ? (0, _linkPairs.createScreenPairKey)(currentScreenKey, nextScreenKey) : null;
26
+ if (sourceMeasurePairKey) {
27
+ (0, _coordinator.requestBoundaryMeasurements)({
28
+ pairKey: sourceMeasurePairKey,
29
+ tag: String(params.id),
30
+ destination: !hasTargetOverride,
31
+ refresh: params.refresh
32
+ });
33
+ }
26
34
  const resolvedPair = params.resolvedPair ?? (0, _resolver.resolveTransitionPair)(String(params.id), {
27
35
  currentScreenKey,
28
36
  previousScreenKey,
@@ -32,9 +40,6 @@ const resolveStartEnd = params => {
32
40
  const sourceBounds = resolvedPair.sourceBounds;
33
41
  const destinationBounds = resolvedPair.destinationBounds;
34
42
  if (!sourceBounds) {
35
- if (hasTargetOverride && sourceMeasurePairKey) {
36
- (0, _links.requestSourceMeasure)(sourceMeasurePairKey, String(params.id));
37
- }
38
43
  return {
39
44
  start: null,
40
45
  end: null,
@@ -107,7 +112,8 @@ const computeBoundStyles = ({
107
112
  next,
108
113
  computeOptions,
109
114
  dimensions,
110
- resolvedPair
115
+ resolvedPair,
116
+ refresh: !!interpolationProps?.active?.willAnimate
111
117
  });
112
118
  if (!start || !end) {
113
119
  return _constants.NO_STYLES;
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_linkPairs","_links","_resolver","_geometry","_composers","_localTransform","resolveStartEnd","params","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","hasCustomTarget","hasTargetOverride","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","sourceMeasurePairKey","createScreenPairKey","resolvedPair","resolveTransitionPair","String","id","sourceBounds","destinationBounds","requestSourceMeasure","start","end","sourceScreenKey","destinationScreenKey","customTarget","computeBoundStyles","progress","interpolationProps","NO_STYLES","ranges","ENTER_RANGE","EXIT_RANGE","method","currentOwnsSource","contentStart","contentEnd","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbsolute","space","style","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","attachBoundsLocalTransform","destinationStyles","sourceStyles","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/helpers/styles/compute.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAMA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AASA,IAAAI,SAAA,GAAAJ,OAAA;AAIA,IAAAK,UAAA,GAAAL,OAAA;AAQA,IAAAM,eAAA,GAAAN,OAAA;AAEA,MAAMO,eAAe,GAAIC,MASxB,IAAK;EACL,SAAS;;EAET,MAAMC,QAAQ,GAAG,CAACD,MAAM,CAACE,IAAI;EAC7B,MAAMC,UAAU,GAAG,IAAAC,gCAAqB,EAACJ,MAAM,CAACK,UAAU,CAAC;EAE3D,MAAMC,kBAAkB,GAAGN,MAAM,CAACO,cAAc,CAACC,MAAM,KAAK,YAAY;EACxE,MAAMC,eAAe,GAAG,OAAOT,MAAM,CAACO,cAAc,CAACC,MAAM,KAAK,QAAQ;EACxE,MAAME,iBAAiB,GAAGJ,kBAAkB,IAAIG,eAAe;EAE/D,MAAME,gBAAgB,GAAGX,MAAM,CAACY,OAAO,EAAEC,KAAK,CAACC,GAAG;EAClD,MAAMC,iBAAiB,GAAGf,MAAM,CAACgB,QAAQ,EAAEH,KAAK,CAACC,GAAG;EACpD,MAAMG,aAAa,GAAGjB,MAAM,CAACE,IAAI,EAAEW,KAAK,CAACC,GAAG;EAC5C,MAAMI,oBAAoB,GACzBjB,QAAQ,IAAIc,iBAAiB,IAAIJ,gBAAgB,GAC9C,IAAAQ,8BAAmB,EAACJ,iBAAiB,EAAEJ,gBAAgB,CAAC,GACxD,CAACV,QAAQ,IAAIU,gBAAgB,IAAIM,aAAa,GAC7C,IAAAE,8BAAmB,EAACR,gBAAgB,EAAEM,aAAa,CAAC,GACpD,IAAI;EAET,MAAMG,YAAY,GACjBpB,MAAM,CAACoB,YAAY,IACnB,IAAAC,+BAAqB,EAACC,MAAM,CAACtB,MAAM,CAACuB,EAAE,CAAC,EAAE;IACxCZ,gBAAgB;IAChBI,iBAAiB;IACjBE,aAAa;IACbhB;EACD,CAAC,CAAC;EAEH,MAAMuB,YAAY,GAAGJ,YAAY,CAACI,YAAY;EAC9C,MAAMC,iBAAiB,GAAGL,YAAY,CAACK,iBAAiB;EAExD,IAAI,CAACD,YAAY,EAAE;IAClB,IAAId,iBAAiB,IAAIQ,oBAAoB,EAAE;MAC9C,IAAAQ,2BAAoB,EAACR,oBAAoB,EAAEI,MAAM,CAACtB,MAAM,CAACuB,EAAE,CAAC,CAAC;IAC9D;IAEA,OAAO;MACNI,KAAK,EAAE,IAAI;MACXC,GAAG,EAAE,IAAI;MACT3B,QAAQ;MACRU,gBAAgB;MAChBkB,eAAe,EAAET,YAAY,CAACS,eAAe;MAC7CC,oBAAoB,EAAEV,YAAY,CAACU,oBAAoB;MACvDpB;IACD,CAAC;EACF;;EAEA;EACA,IAAI,CAACA,iBAAiB,IAAI,CAACe,iBAAiB,EAAE;IAC7C,OAAO;MACNE,KAAK,EAAE,IAAI;MACXC,GAAG,EAAE,IAAI;MACT3B,QAAQ;MACRU,gBAAgB;MAChBkB,eAAe,EAAET,YAAY,CAACS,eAAe;MAC7CC,oBAAoB,EAAEV,YAAY,CAACU,oBAAoB;MACvDpB;IACD,CAAC;EACF;EAEA,MAAMiB,KAAK,GAAGH,YAAY;EAC1B,IAAII,GAAG,GAAGH,iBAAiB,IAAItB,UAAU;EAEzC,IAAIG,kBAAkB,EAAE;IACvBsB,GAAG,GAAGzB,UAAU;EACjB;EAEA,MAAM4B,YAAY,GAAG/B,MAAM,CAACO,cAAc,CAACC,MAAM;EACjD,IAAI,OAAOuB,YAAY,KAAK,QAAQ,EAAE;IACrCH,GAAG,GAAGG,YAAY;EACnB;EAEA,OAAO;IACNJ,KAAK;IACLC,GAAG;IACH3B,QAAQ;IACRU,gBAAgB;IAChBkB,eAAe,EAAET,YAAY,CAACS,eAAe;IAC7CC,oBAAoB,EAAEV,YAAY,CAACU,oBAAoB;IACvDpB;EACD,CAAC;AACF,CAAC;AAEM,MAAMsB,kBAAkB,GAAGA,CACjC;EACCT,EAAE;EACFP,QAAQ;EACRJ,OAAO;EACPV,IAAI;EACJ+B,QAAQ;EACR5B,UAAU;EACV6B;AACoB,CAAC,EACtB3B,cAA6B,GAAG;EAAEgB,EAAE,EAAE;AAAW,CAAC,EAClDH,YAAqC,KACjC;EACJ,SAAS;;EAET,IAAI,CAACG,EAAE,EAAE;IACR,OAAOY,oBAAS;EACjB;EAEA,MAAM;IACLR,KAAK;IACLC,GAAG;IACH3B,QAAQ;IACRU,gBAAgB;IAChBkB,eAAe;IACfC;EACD,CAAC,GAAG/B,eAAe,CAAC;IACnBwB,EAAE;IACFP,QAAQ;IACRJ,OAAO;IACPV,IAAI;IACJK,cAAc;IACdF,UAAU;IACVe;EACD,CAAC,CAAC;EAEF,IAAI,CAACO,KAAK,IAAI,CAACC,GAAG,EAAE;IACnB,OAAOO,oBAAS;EACjB;EAEA,MAAMC,MAAiC,GAAGnC,QAAQ,GAAGoC,sBAAW,GAAGC,qBAAU;EAE7E,IAAI/B,cAAc,CAACgC,MAAM,KAAK,SAAS,EAAE;IACxC,MAAMC,iBAAiB,GACtB,CAAC,CAAC7B,gBAAgB,IAClBA,gBAAgB,KAAKkB,eAAe,IACpClB,gBAAgB,KAAKmB,oBAAoB;IAC1C,MAAMW,YAAY,GAAGD,iBAAiB,GAAGZ,GAAG,GAAGD,KAAK;IACpD,MAAMe,UAAU,GAAGF,iBAAiB,GAAGb,KAAK,GAAGC,GAAG;IAClD,MAAMe,QAAQ,GAAG,IAAAC,yCAA+B,EAAC;MAChDjB,KAAK,EAAEc,YAAY;MACnBb,GAAG,EAAEc,UAAU;MACfzC,QAAQ;MACRI,UAAU;MACVwC,MAAM,EAAEtC,cAAc,CAACsC,MAAM;MAC7BC,SAAS,EAAEvC,cAAc,CAACuC;IAC3B,CAAC,CAAC;IAEF,OAAO,IAAAC,8BAAmB,EAAC;MAC1BpB,KAAK,EAAEc,YAAY;MACnBR,QAAQ;MACRG,MAAM;MACNR,GAAG,EAAEc,UAAU;MACfC,QAAQ;MACRpC,cAAc;MACd2B;IACD,CAAC,CAAC;EACH;EAEA,MAAMS,QAAQ,GAAG,IAAAK,iCAAuB,EAAC;IACxCrB,KAAK;IACLC,GAAG;IACH3B,QAAQ;IACR4C,MAAM,EAAEtC,cAAc,CAACsC,MAAM;IAC7BC,SAAS,EAAEvC,cAAc,CAACuC;EAC3B,CAAC,CAAC;EAEF,MAAMG,MAA4B,GAAG;IACpCtB,KAAK;IACLC,GAAG;IACHK,QAAQ;IACRG,MAAM;IACNO,QAAQ;IACRpC,cAAc;IACd2B;EACD,CAAC;EAED,MAAMgB,MAAM,GAAG3C,cAAc,CAACgC,MAAM,KAAK,MAAM;EAC/C,MAAMY,UAAU,GAAG5C,cAAc,CAAC6C,KAAK,KAAK,UAAU;EAEtD,MAAMC,KAAK,GAAGH,MAAM,GACjBC,UAAU,GACT,IAAAG,8BAAmB,EAACL,MAAM,CAAC,GAC3B,IAAAM,8BAAmB,EAACN,MAAM,CAAC,GAC5BE,UAAU,GACT,IAAAK,mCAAwB,EAACP,MAAM,CAAC,GAChC,IAAAQ,mCAAwB,EAACR,MAAM,CAAC;EAEpC,OAAO,IAAAS,0CAA0B,EAChCL,KAAK,EACLpD,QAAQ,GACJmB,YAAY,EAAEuC,iBAAiB,IAAI,IAAI,GACvCvC,YAAY,EAAEwC,YAAY,IAAI,IACnC,CAAC;AACF,CAAC;AAACC,OAAA,CAAA7B,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_linkPairs","_coordinator","_resolver","_geometry","_composers","_localTransform","resolveStartEnd","params","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","hasCustomTarget","hasTargetOverride","currentScreenKey","current","route","key","previousScreenKey","previous","nextScreenKey","sourceMeasurePairKey","createScreenPairKey","requestBoundaryMeasurements","pairKey","tag","String","id","destination","refresh","resolvedPair","resolveTransitionPair","sourceBounds","destinationBounds","start","end","sourceScreenKey","destinationScreenKey","customTarget","computeBoundStyles","progress","interpolationProps","NO_STYLES","active","willAnimate","ranges","ENTER_RANGE","EXIT_RANGE","method","currentOwnsSource","contentStart","contentEnd","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbsolute","space","style","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","attachBoundsLocalTransform","destinationStyles","sourceStyles","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/utils/bounds/helpers/styles/compute.ts"],"mappings":"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","ignoreList":[]}
@@ -11,9 +11,11 @@ var _jsxRuntime = require("react/jsx-runtime");
11
11
  * https://github.com/MatiPl01/react-native-sortables/blob/main/packages/react-native-sortables/src/providers/utils/createProvider.tsx
12
12
  * SUPER COOL AMAZING UTILITY
13
13
  *
14
- * Store-only provider: values propagate exclusively through a subscription
15
- * store read with `use${Name}Store(selector)`. There is intentionally no raw
16
- * context channel, so consumers subscribe only to the values they render.
14
+ * Store-only provider: values propagate exclusively through subscription
15
+ * selectors. `use${Name}Store` requires an available store, while
16
+ * `useOptional${Name}Store` preserves nullable bootstrap and outer-context
17
+ * access. There is intentionally no raw context channel, so consumers
18
+ * subscribe only to the values they render.
17
19
  *
18
20
  * Factories do not memoize what they return:
19
21
  * - `value`: the store shallow-compares snapshots and keeps the previous
@@ -24,7 +26,7 @@ var _jsxRuntime = require("react/jsx-runtime");
24
26
  * module-level memoized component for the wrapper.
25
27
  *
26
28
  * Providers created with `global: true` return a `key` from their factory.
27
- * Their generated store hook accepts that key to subscribe to the original
29
+ * Both generated store hooks accept that key to subscribe to the original
28
30
  * provider store from outside its React context.
29
31
  */
30
32
 
@@ -78,40 +80,20 @@ const createProviderStore = initialSnapshot => {
78
80
  };
79
81
  const createProviderStoreRegistry = () => {
80
82
  const listenersByKey = new Map();
81
- const registrationsByKey = new Map();
82
- const getStore = key => {
83
- const registrations = registrationsByKey.get(key);
84
- return registrations?.[registrations.length - 1]?.store ?? null;
85
- };
83
+ const storesByKey = new Map();
86
84
  const notify = key => {
87
85
  for (const listener of listenersByKey.get(key) ?? []) {
88
86
  listener();
89
87
  }
90
88
  };
91
89
  return {
92
- getStore,
90
+ getStore: key => storesByKey.get(key) ?? null,
93
91
  register: (key, store) => {
94
- const registration = {
95
- store
96
- };
97
- const registrations = registrationsByKey.get(key) ?? [];
98
- registrationsByKey.set(key, [...registrations, registration]);
92
+ storesByKey.set(key, store);
99
93
  notify(key);
100
94
  return () => {
101
- const currentRegistrations = registrationsByKey.get(key);
102
- if (!currentRegistrations?.includes(registration)) {
103
- return;
104
- }
105
- const previousStore = getStore(key);
106
- const nextRegistrations = currentRegistrations.filter(currentRegistration => currentRegistration !== registration);
107
- if (nextRegistrations.length === 0) {
108
- registrationsByKey.delete(key);
109
- } else {
110
- registrationsByKey.set(key, nextRegistrations);
111
- }
112
- if (getStore(key) !== previousStore) {
113
- notify(key);
114
- }
95
+ storesByKey.delete(key);
96
+ notify(key);
115
97
  };
116
98
  },
117
99
  subscribe: (key, listener) => {
@@ -130,95 +112,63 @@ const createProviderStoreRegistry = () => {
130
112
  function createProvider(name, options) {
131
113
  return factory => {
132
114
  const {
133
- guarded = true,
134
115
  global = false
135
116
  } = options ?? {};
136
117
  const providerDisplayName = `${name}Provider`;
137
118
  const globalRegistry = global ? createProviderStoreRegistry() : null;
138
- const keyByStore = global ? new WeakMap() : null;
139
119
  const StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
140
120
  StoreContext.displayName = `${name}Store`;
141
- const useRegisteredStore = (key, fallbackStore = null) => {
142
- const subscribe = (0, _react.useCallback)(listener => {
143
- if (key === null || !globalRegistry) {
144
- return () => {};
121
+ const useStoreSelection = (required, selectorOrKey, globalSelector) => {
122
+ const isGlobalLookup = global && (typeof selectorOrKey === "string" || selectorOrKey === null);
123
+ const key = isGlobalLookup ? selectorOrKey : null;
124
+ const selector = isGlobalLookup ? globalSelector : selectorOrKey;
125
+ const contextStore = (0, _react.useContext)(StoreContext);
126
+ const selectorRef = (0, _react.useRef)(selector);
127
+ selectorRef.current = selector;
128
+ const getStore = (0, _react.useCallback)(() => {
129
+ if (isGlobalLookup) {
130
+ return key !== null && globalRegistry ? globalRegistry.getStore(key) : null;
145
131
  }
146
- return globalRegistry.subscribe(key, listener);
147
- }, [key]);
148
- const getSnapshot = (0, _react.useCallback)(() => key !== null && globalRegistry ? globalRegistry.getStore(key) ?? fallbackStore : null, [key, fallbackStore]);
149
- return (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
150
- };
151
- const createStoreHook = (strict, allowGlobalLookup) => {
152
- if (!allowGlobalLookup || !globalRegistry) {
153
- return selector => {
154
- const store = (0, _react.useContext)(StoreContext);
155
- const resolvedStore = store ?? NullProviderStore;
156
- const selectorRef = (0, _react.useRef)(selector);
157
- selectorRef.current = selector;
158
- const getSelectedSnapshot = (0, _react.useCallback)(() => {
159
- if (strict && store === null) {
160
- throw new Error(`${name} store must be used within a ${name}Provider`);
161
- }
162
- const snapshot = resolvedStore.getSnapshot();
163
- if (strict && snapshot === null) {
164
- throw new Error(`${name} store must be used within an enabled ${name}Provider`);
165
- }
166
- return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
167
- }, [resolvedStore, store]);
168
- return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
132
+ return contextStore;
133
+ }, [contextStore, isGlobalLookup, key]);
134
+ const subscribe = (0, _react.useCallback)(listener => {
135
+ let unsubscribeStore = (getStore() ?? NullProviderStore).subscribe(listener);
136
+ const unsubscribeRegistry = isGlobalLookup && key !== null && globalRegistry ? globalRegistry.subscribe(key, () => {
137
+ unsubscribeStore();
138
+ unsubscribeStore = (getStore() ?? NullProviderStore).subscribe(listener);
139
+ listener();
140
+ }) : () => {};
141
+ return () => {
142
+ unsubscribeRegistry();
143
+ unsubscribeStore();
169
144
  };
170
- }
171
- return (selectorOrKey, globalSelector) => {
172
- const isGlobalLookup = typeof selectorOrKey === "string";
173
- const key = isGlobalLookup ? selectorOrKey : null;
174
- const selector = isGlobalLookup ? globalSelector : selectorOrKey;
175
- const contextStore = (0, _react.useContext)(StoreContext);
176
- const matchingContextStore = key !== null && contextStore !== null && keyByStore?.get(contextStore) === key ? contextStore : null;
177
- const registeredStore = useRegisteredStore(key, matchingContextStore);
178
- const store = isGlobalLookup ? registeredStore : contextStore;
179
- const resolvedStore = store ?? NullProviderStore;
180
- const selectorRef = (0, _react.useRef)(selector);
181
- selectorRef.current = selector;
182
- const getSelectedSnapshot = (0, _react.useCallback)(() => {
183
- if (!isGlobalLookup && strict && store === null) {
184
- throw new Error(`${name} store must be used within a ${name}Provider`);
185
- }
186
- const snapshot = resolvedStore.getSnapshot();
187
- if (isGlobalLookup && snapshot === null) {
188
- return null;
189
- }
190
- if (!isGlobalLookup && strict && snapshot === null) {
191
- throw new Error(`${name} store must be used within an enabled ${name}Provider`);
192
- }
193
- return typeof selectorRef.current === "function" ? selectorRef.current(snapshot) : snapshot;
194
- }, [isGlobalLookup, resolvedStore, store]);
195
- return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
196
- };
197
- };
198
- const useStoreSelector = createStoreHook(guarded, global);
199
- const factoryInternals = {
200
- useParentStore: createStoreHook(false, false)
145
+ }, [getStore, isGlobalLookup, key]);
146
+ const getSelectedSnapshot = (0, _react.useCallback)(() => {
147
+ const snapshot = getStore()?.getSnapshot() ?? null;
148
+ if (required && snapshot === null) {
149
+ throw new Error(key === null ? `${name}Store is unavailable` : `${name}Store is unavailable for key "${key}"`);
150
+ }
151
+ if (isGlobalLookup && snapshot === null) {
152
+ return null;
153
+ }
154
+ return typeof selectorRef.current === "function" ? selectorRef.current(snapshot) : snapshot;
155
+ }, [getStore, isGlobalLookup, key, required]);
156
+ return (0, _react.useSyncExternalStore)(subscribe, getSelectedSnapshot, getSelectedSnapshot);
201
157
  };
158
+ const useOptionalStoreSelector = (selectorOrKey, globalSelector) => useStoreSelection(false, selectorOrKey, globalSelector);
159
+ const useStoreSelector = (selectorOrKey, globalSelector) => useStoreSelection(true, selectorOrKey, globalSelector);
202
160
  const Provider = props => {
203
161
  const {
204
162
  children = props.children,
205
- enabled = true,
206
163
  key,
207
164
  value
208
- } = factory(props, factoryInternals);
209
- if (!value) {
210
- throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
211
- }
212
- const snapshotValue = enabled ? value : null;
165
+ } = factory(props);
213
166
  const storeRef = (0, _react.useRef)(null);
214
167
  const pendingNotifyRef = (0, _react.useRef)(false);
215
168
  if (storeRef.current === null) {
216
- storeRef.current = createProviderStore(snapshotValue);
169
+ storeRef.current = createProviderStore(value);
217
170
  }
218
171
  const store = storeRef.current;
219
- if (keyByStore && typeof key === "string") {
220
- keyByStore.set(store, key);
221
- }
222
172
  (0, _react.useLayoutEffect)(() => {
223
173
  if (!globalRegistry) {
224
174
  return;
@@ -228,7 +178,7 @@ function createProvider(name, options) {
228
178
  }
229
179
  return globalRegistry.register(key, store);
230
180
  }, [key, store]);
231
- pendingNotifyRef.current = store.setSnapshot(snapshotValue) || pendingNotifyRef.current;
181
+ pendingNotifyRef.current = store.setSnapshot(value) || pendingNotifyRef.current;
232
182
  (0, _react.useLayoutEffect)(() => {
233
183
  if (!pendingNotifyRef.current) {
234
184
  return;
@@ -244,6 +194,7 @@ function createProvider(name, options) {
244
194
  Provider.displayName = providerDisplayName;
245
195
  return {
246
196
  [`${name}Provider`]: Provider,
197
+ [`useOptional${name}Store`]: useOptionalStoreSelector,
247
198
  [`use${name}Store`]: useStoreSelector
248
199
  };
249
200
  };