react-native-screen-transitions 3.13.0-beta.0 → 3.13.0

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 (433) hide show
  1. package/README.md +14 -0
  2. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  3. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  4. package/lib/commonjs/shared/components/activity/helpers.js +50 -1
  5. package/lib/commonjs/shared/components/activity/helpers.js.map +1 -1
  6. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +16 -67
  7. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
  8. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
  9. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  10. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +5 -1
  11. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  12. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +2 -1
  13. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  14. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +8 -0
  15. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  16. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +3 -4
  17. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  18. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +1 -6
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  20. package/lib/commonjs/shared/components/boundary/portal/teleport.js +1 -13
  21. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  22. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -6
  23. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  24. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +9 -2
  25. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  26. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  27. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  28. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +11 -6
  29. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  30. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +5 -4
  31. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  32. package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -3
  33. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  34. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -6
  35. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  36. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js +147 -0
  37. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  38. package/lib/commonjs/shared/factories/screen-topology/index.js +45 -0
  39. package/lib/commonjs/shared/factories/screen-topology/index.js.map +1 -0
  40. package/lib/commonjs/shared/factories/screen-topology/types.js +2 -0
  41. package/lib/commonjs/shared/factories/screen-topology/types.js.map +1 -0
  42. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js +15 -0
  43. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  44. package/lib/commonjs/shared/factories/screen-topology/worklet.js +55 -0
  45. package/lib/commonjs/shared/factories/screen-topology/worklet.js.map +1 -0
  46. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  47. package/lib/commonjs/shared/hooks/navigation/use-stack.js +16 -16
  48. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +26 -98
  50. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  52. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +14 -25
  54. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  56. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +10 -26
  58. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  60. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  61. package/lib/commonjs/shared/providers/screen/animation/index.js +6 -0
  62. package/lib/commonjs/shared/providers/screen/animation/index.js.map +1 -1
  63. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -7
  64. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  65. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +40 -25
  66. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  67. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
  68. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  69. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +24 -19
  70. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  71. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  72. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  73. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -3
  74. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  75. package/lib/commonjs/shared/providers/screen/gestures/index.js +8 -2
  76. package/lib/commonjs/shared/providers/screen/gestures/index.js.map +1 -1
  77. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +11 -18
  78. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  79. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  80. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  81. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  82. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  83. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -8
  84. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  85. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +5 -4
  86. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  87. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  88. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  89. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +4 -4
  90. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  91. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +4 -2
  92. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  93. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  94. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  95. package/lib/commonjs/shared/providers/screen/styles/index.js +8 -2
  96. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  97. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +17 -19
  98. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  99. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js +14 -0
  100. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  101. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +13 -5
  102. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  103. package/lib/commonjs/shared/providers/stack/core.provider.js +1 -3
  104. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  105. package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -5
  106. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  107. package/lib/commonjs/shared/stores/animation.store.js +0 -2
  108. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  109. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js +23 -9
  110. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js.map +1 -1
  111. package/lib/commonjs/shared/stores/bounds/internals/links.js +2 -2
  112. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  113. package/lib/commonjs/shared/stores/bounds/internals/state.js +1 -1
  114. package/lib/commonjs/shared/utils/create-provider.js +51 -100
  115. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  116. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  117. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  118. package/lib/module/shared/components/activity/helpers.js +48 -0
  119. package/lib/module/shared/components/activity/helpers.js.map +1 -1
  120. package/lib/module/shared/components/activity/variants/activity-screen.js +17 -68
  121. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
  122. package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
  123. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  124. package/lib/module/shared/components/boundary/create-boundary-component.js +6 -2
  125. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  126. package/lib/module/shared/components/boundary/hooks/use-measurer.js +3 -2
  127. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  128. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +8 -0
  129. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  130. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +4 -5
  131. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  132. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -7
  133. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  134. package/lib/module/shared/components/boundary/portal/teleport.js +1 -14
  135. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  136. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +5 -6
  137. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  138. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +7 -1
  139. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  140. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  141. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  142. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +12 -7
  143. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  144. package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -6
  145. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  146. package/lib/module/shared/components/screen-container/layers/content.js +2 -3
  147. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  148. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +9 -7
  149. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  150. package/lib/module/shared/factories/screen-topology/create-screen-topology.js +142 -0
  151. package/lib/module/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  152. package/lib/module/shared/factories/screen-topology/index.js +6 -0
  153. package/lib/module/shared/factories/screen-topology/index.js.map +1 -0
  154. package/lib/module/shared/factories/screen-topology/types.js +2 -0
  155. package/lib/module/shared/factories/screen-topology/types.js.map +1 -0
  156. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js +10 -0
  157. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  158. package/lib/module/shared/factories/screen-topology/worklet.js +48 -0
  159. package/lib/module/shared/factories/screen-topology/worklet.js.map +1 -0
  160. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  161. package/lib/module/shared/hooks/navigation/use-stack.js +17 -18
  162. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  163. package/lib/module/shared/providers/screen/animation/animation.provider.js +25 -98
  164. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  165. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  166. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  167. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +16 -27
  168. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  169. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  170. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  171. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +9 -24
  172. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  173. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  174. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  175. package/lib/module/shared/providers/screen/animation/index.js +1 -1
  176. package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
  177. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +9 -8
  178. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  179. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +43 -27
  180. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  181. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
  182. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  183. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +21 -17
  184. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  185. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  186. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  187. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +3 -4
  188. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  189. package/lib/module/shared/providers/screen/gestures/index.js +1 -1
  190. package/lib/module/shared/providers/screen/gestures/index.js.map +1 -1
  191. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +13 -20
  192. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  193. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  194. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  195. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  196. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  197. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +4 -8
  198. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  199. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +7 -6
  200. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  201. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  202. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  203. package/lib/module/shared/providers/screen/gestures/shared/policy.js +4 -4
  204. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  205. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +5 -3
  206. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  207. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  208. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  209. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  210. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  211. package/lib/module/shared/providers/screen/styles/slot.provider.js +14 -16
  212. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  213. package/lib/module/shared/providers/screen/use-current-screen-relationships.js +9 -0
  214. package/lib/module/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  215. package/lib/module/shared/providers/stack/blank-stack.provider.js +12 -5
  216. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  217. package/lib/module/shared/providers/stack/core.provider.js +1 -3
  218. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  219. package/lib/module/shared/providers/stack/direct.provider.js +2 -5
  220. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  221. package/lib/module/shared/stores/animation.store.js +0 -2
  222. package/lib/module/shared/stores/animation.store.js.map +1 -1
  223. package/lib/module/shared/stores/bounds/internals/coordinator.js +18 -4
  224. package/lib/module/shared/stores/bounds/internals/coordinator.js.map +1 -1
  225. package/lib/module/shared/stores/bounds/internals/links.js +1 -1
  226. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  227. package/lib/module/shared/stores/bounds/internals/state.js +1 -1
  228. package/lib/module/shared/utils/create-provider.js +51 -100
  229. package/lib/module/shared/utils/create-provider.js.map +1 -1
  230. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +1 -1
  231. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  232. package/lib/typescript/shared/components/activity/helpers.d.ts +16 -0
  233. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -1
  234. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +2 -4
  235. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  236. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  237. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  238. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +2 -1
  239. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
  240. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  241. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  242. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +2 -2
  243. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
  244. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  245. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +3 -0
  246. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  247. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +1 -0
  248. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -1
  249. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  250. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +3 -2
  251. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  252. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  253. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  254. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
  255. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  256. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts +4 -0
  257. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts.map +1 -0
  258. package/lib/typescript/shared/factories/screen-topology/index.d.ts +5 -0
  259. package/lib/typescript/shared/factories/screen-topology/index.d.ts.map +1 -0
  260. package/lib/typescript/shared/factories/screen-topology/types.d.ts +20 -0
  261. package/lib/typescript/shared/factories/screen-topology/types.d.ts.map +1 -0
  262. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts +5 -0
  263. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts.map +1 -0
  264. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts +5 -0
  265. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts.map +1 -0
  266. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  267. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +2 -0
  268. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  269. package/lib/typescript/shared/index.d.ts +0 -6
  270. package/lib/typescript/shared/index.d.ts.map +1 -1
  271. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +14 -12
  272. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  273. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +4 -4
  274. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  275. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +0 -1
  276. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  277. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +1 -2
  278. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  279. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +2 -2
  280. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
  281. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +5 -2
  282. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
  283. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +0 -1
  284. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  285. package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
  286. package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
  287. package/lib/typescript/shared/providers/screen/animation/types.d.ts +1 -13
  288. package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
  289. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +5 -2
  290. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  291. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -4
  292. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  293. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +16 -4
  294. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  295. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  296. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  297. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
  298. package/lib/typescript/shared/providers/screen/gestures/index.d.ts +1 -1
  299. package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -1
  300. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -1
  301. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts +2 -3
  302. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  303. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  304. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +5 -3
  305. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
  306. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  307. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +2 -2
  308. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +3 -3
  310. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  311. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +4 -2
  312. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  313. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +4 -4
  314. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  315. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  316. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
  317. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  318. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  319. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +9 -4
  320. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  321. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts +5 -0
  322. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts.map +1 -0
  323. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +4 -1
  324. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  325. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  326. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  327. package/lib/typescript/shared/stores/animation.store.d.ts +0 -1
  328. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  329. package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts.map +1 -1
  330. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  331. package/lib/typescript/shared/stores/bounds/internals/state.d.ts +1 -1
  332. package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
  333. package/lib/typescript/shared/stores/bounds/types.d.ts +0 -1
  334. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  335. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +1 -0
  336. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  337. package/lib/typescript/shared/types/screen.types.d.ts +0 -9
  338. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  339. package/lib/typescript/shared/utils/create-provider.d.ts +24 -24
  340. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  341. package/package.json +2 -2
  342. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -2
  343. package/src/shared/components/activity/helpers.ts +59 -0
  344. package/src/shared/components/activity/variants/activity-screen.tsx +28 -93
  345. package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
  346. package/src/shared/components/boundary/create-boundary-component.tsx +10 -2
  347. package/src/shared/components/boundary/hooks/use-measurer.ts +3 -2
  348. package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +22 -0
  349. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +7 -3
  350. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
  351. package/src/shared/components/boundary/portal/teleport.ts +2 -23
  352. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +10 -6
  353. package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +14 -1
  354. package/src/shared/components/overlay/helpers/get-active-overlay.ts +29 -4
  355. package/src/shared/components/overlay/hooks/use-overlay-slot.ts +26 -8
  356. package/src/shared/components/overlay/variations/overlay-host.tsx +11 -6
  357. package/src/shared/components/screen-container/layers/content.tsx +3 -4
  358. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +8 -12
  359. package/src/shared/factories/screen-topology/create-screen-topology.ts +199 -0
  360. package/src/shared/factories/screen-topology/index.ts +16 -0
  361. package/src/shared/factories/screen-topology/types.ts +22 -0
  362. package/src/shared/factories/screen-topology/use-screen-relationships.ts +15 -0
  363. package/src/shared/factories/screen-topology/worklet.ts +60 -0
  364. package/src/shared/hooks/navigation/use-screen-state.ts +2 -7
  365. package/src/shared/hooks/navigation/use-stack.tsx +28 -31
  366. package/src/shared/providers/screen/animation/animation.provider.tsx +73 -212
  367. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +10 -81
  368. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +0 -1
  369. package/src/shared/providers/screen/animation/helpers/pipeline.ts +45 -70
  370. package/src/shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts +6 -30
  371. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +13 -32
  372. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +0 -2
  373. package/src/shared/providers/screen/animation/index.tsx +1 -0
  374. package/src/shared/providers/screen/animation/types.ts +1 -23
  375. package/src/shared/providers/screen/animation/use-screen-animation.tsx +10 -14
  376. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +56 -35
  377. package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -6
  378. package/src/shared/providers/screen/gestures/gestures.provider.tsx +96 -85
  379. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +4 -4
  380. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +3 -4
  381. package/src/shared/providers/screen/gestures/index.tsx +2 -1
  382. package/src/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +16 -29
  383. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +5 -8
  384. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +2 -3
  385. package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +6 -9
  386. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +11 -7
  387. package/src/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +12 -12
  388. package/src/shared/providers/screen/gestures/shared/policy.ts +7 -7
  389. package/src/shared/providers/screen/gestures/types.ts +5 -2
  390. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +10 -3
  391. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +7 -17
  392. package/src/shared/providers/screen/styles/index.tsx +2 -1
  393. package/src/shared/providers/screen/styles/slot.provider.tsx +25 -24
  394. package/src/shared/providers/screen/use-current-screen-relationships.ts +10 -0
  395. package/src/shared/providers/stack/blank-stack.provider.tsx +19 -6
  396. package/src/shared/providers/stack/core.provider.tsx +0 -1
  397. package/src/shared/providers/stack/direct.provider.tsx +2 -4
  398. package/src/shared/stores/animation.store.ts +0 -3
  399. package/src/shared/stores/bounds/internals/coordinator.ts +20 -8
  400. package/src/shared/stores/bounds/internals/links.ts +1 -1
  401. package/src/shared/stores/bounds/internals/state.ts +1 -1
  402. package/src/shared/stores/bounds/types.ts +0 -1
  403. package/src/shared/types/providers/blank-stack-provider.types.ts +1 -0
  404. package/src/shared/types/screen.types.ts +0 -10
  405. package/src/shared/utils/create-provider.tsx +135 -200
  406. package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -9
  407. package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
  408. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -12
  409. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js.map +0 -1
  410. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js +0 -23
  411. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  412. package/lib/commonjs/shared/stores/bounds/internals/screen-graph.js +0 -45
  413. package/lib/commonjs/shared/stores/bounds/internals/screen-graph.js.map +0 -1
  414. package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -4
  415. package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
  416. package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -7
  417. package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js.map +0 -1
  418. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js +0 -19
  419. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  420. package/lib/module/shared/stores/bounds/internals/screen-graph.js +0 -39
  421. package/lib/module/shared/stores/bounds/internals/screen-graph.js.map +0 -1
  422. package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts +0 -3
  423. package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts.map +0 -1
  424. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.d.ts +0 -5
  425. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.d.ts.map +0 -1
  426. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts +0 -11
  427. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +0 -1
  428. package/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts +0 -5
  429. package/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts.map +0 -1
  430. package/src/shared/providers/screen/animation/helpers/interpolator-participation.ts +0 -6
  431. package/src/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.ts +0 -13
  432. package/src/shared/providers/screen/gestures/shared/ancestors.ts +0 -27
  433. package/src/shared/stores/bounds/internals/screen-graph.ts +0 -45
@@ -4,8 +4,8 @@ import { useLayoutEffect, useMemo, useRef } from "react";
4
4
  import { useNavigationHelpers } from "../../../hooks/navigation/use-navigation-helpers";
5
5
  import useStableCallback from "../../../hooks/use-stable-callback";
6
6
  import { hasTransitionsEnabled } from "../../../providers/screen/animation/helpers/has-transitions-enabled";
7
- import { useDescriptorsStore } from "../../../providers/screen/descriptors";
8
- import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
7
+ import { useCurrentScreenRelationships } from "../../../providers/screen/use-current-screen-relationships";
8
+ import { useOptionalBlankStackStore } from "../../../providers/stack/blank-stack.provider";
9
9
  import { useStackCoreStore } from "../../../providers/stack/core.provider";
10
10
  import { GestureStore } from "../../../stores/gesture.store";
11
11
  import { StackType } from "../../../types/stack.types";
@@ -14,14 +14,16 @@ import { doesNavigatorOwnCloseAction, shouldInterceptClose } from "./helpers/clo
14
14
  import { resetStoresForScreen } from "./helpers/reset-stores-for-screen";
15
15
  export function useCloseTransitionIntent(current) {
16
16
  const routeKey = current.route.key;
17
+ const flags = useStackCoreStore(store => store.flags);
17
18
  const {
18
19
  STACK_TYPE: stackType,
19
20
  TRANSITIONS_ALWAYS_ON: transitionsAlwaysOn
20
- } = useStackCoreStore(store => store.flags);
21
- const handleCloseRoute = useBlankStackStore(store => store?.handleCloseRoute);
22
- const isBlankStackClosing = useBlankStackStore(store => store?.scenesByKey[routeKey]?.activity === "closing");
23
- const ancestorKeys = useDescriptorsStore(store => store.derivations.ancestorKeys);
24
- const parentScreenKey = ancestorKeys[0];
21
+ } = flags;
22
+ const handleCloseRoute = useOptionalBlankStackStore(store => store?.handleCloseRoute);
23
+ const isBlankStackClosing = useOptionalBlankStackStore(store => store?.scenesByKey[routeKey]?.activity === "closing");
24
+ const {
25
+ parentScreenKey
26
+ } = useCurrentScreenRelationships();
25
27
  const {
26
28
  dismissScreen,
27
29
  requestDismiss
@@ -1 +1 @@
1
- {"version":3,"names":["useLayoutEffect","useMemo","useRef","useNavigationHelpers","useStableCallback","hasTransitionsEnabled","useDescriptorsStore","useBlankStackStore","useStackCoreStore","GestureStore","StackType","dispatchCloseAction","isCloseActionReplay","doesNavigatorOwnCloseAction","shouldInterceptClose","resetStoresForScreen","useCloseTransitionIntent","current","routeKey","route","key","STACK_TYPE","stackType","TRANSITIONS_ALWAYS_ON","transitionsAlwaysOn","store","flags","handleCloseRoute","isBlankStackClosing","scenesByKey","activity","ancestorKeys","derivations","parentScreenKey","dismissScreen","requestDismiss","pendingActionRef","nearestAncestorDismissing","peekBag","dismissing","completeClose","pendingAction","action","navigation","dispatch","NATIVE","handleBeforeRemove","event","data","state","getState","routeIndex","routes","findIndex","ownsAction","shouldIntercept","enabled","options","ancestorDismissing","get","focusedIndex","index","preventDefault","addListener"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useLayoutEffect","useMemo","useRef","useNavigationHelpers","useStableCallback","hasTransitionsEnabled","useCurrentScreenRelationships","useOptionalBlankStackStore","useStackCoreStore","GestureStore","StackType","dispatchCloseAction","isCloseActionReplay","doesNavigatorOwnCloseAction","shouldInterceptClose","resetStoresForScreen","useCloseTransitionIntent","current","routeKey","route","key","flags","store","STACK_TYPE","stackType","TRANSITIONS_ALWAYS_ON","transitionsAlwaysOn","handleCloseRoute","isBlankStackClosing","scenesByKey","activity","parentScreenKey","dismissScreen","requestDismiss","pendingActionRef","nearestAncestorDismissing","peekBag","dismissing","completeClose","pendingAction","action","navigation","dispatch","NATIVE","handleBeforeRemove","event","data","state","getState","routeIndex","routes","findIndex","ownsAction","shouldIntercept","enabled","options","ancestorDismissing","get","focusedIndex","index","preventDefault","addListener"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ const EMPTY_RELATIONSHIPS = {
4
+ parentScreenKey: null,
5
+ activeChildScreenKey: null
6
+ };
7
+ const areRelationshipsEqual = (left, right) => left.parentScreenKey === right.parentScreenKey && left.activeChildScreenKey === right.activeChildScreenKey;
8
+ export const createScreenTopology = () => {
9
+ const nodes = new Map();
10
+ const listenersByScreenKey = new Map();
11
+ const relationshipCache = new Map();
12
+ const getNode = screenKey => nodes.get(screenKey);
13
+ const ensureNode = screenKey => {
14
+ const existing = getNode(screenKey);
15
+ if (existing) return existing;
16
+ const node = {
17
+ parentScreenKey: null,
18
+ activeChildScreenKeys: []
19
+ };
20
+ nodes.set(screenKey, node);
21
+ return node;
22
+ };
23
+ const removeNodeIfEmpty = screenKey => {
24
+ const node = getNode(screenKey);
25
+ if (node && !node.parentScreenKey && node.activeChildScreenKeys.length === 0) {
26
+ nodes.delete(screenKey);
27
+ }
28
+ };
29
+ const getParent = screenKey => getNode(screenKey)?.parentScreenKey ?? null;
30
+ const getActiveChild = screenKey => {
31
+ const activeChildScreenKeys = getNode(screenKey)?.activeChildScreenKeys;
32
+ return activeChildScreenKeys?.[activeChildScreenKeys.length - 1] ?? null;
33
+ };
34
+ const materializeRelationships = screenKey => {
35
+ const parentScreenKey = getParent(screenKey);
36
+ const activeChildScreenKey = getActiveChild(screenKey);
37
+ if (!parentScreenKey && !activeChildScreenKey) {
38
+ return EMPTY_RELATIONSHIPS;
39
+ }
40
+ return {
41
+ parentScreenKey,
42
+ activeChildScreenKey
43
+ };
44
+ };
45
+ const getRelationships = screenKey => {
46
+ const cached = relationshipCache.get(screenKey);
47
+ if (cached) return cached;
48
+ const relationships = materializeRelationships(screenKey);
49
+ relationshipCache.set(screenKey, relationships);
50
+ return relationships;
51
+ };
52
+ const mutate = (affectedScreenKeys, mutation) => {
53
+ const previousRelationships = new Map();
54
+ for (const screenKey of affectedScreenKeys) {
55
+ if (listenersByScreenKey.has(screenKey)) {
56
+ previousRelationships.set(screenKey, getRelationships(screenKey));
57
+ }
58
+ }
59
+ mutation();
60
+ for (const screenKey of affectedScreenKeys) {
61
+ relationshipCache.delete(screenKey);
62
+ }
63
+ for (const [screenKey, previous] of previousRelationships) {
64
+ const listeners = listenersByScreenKey.get(screenKey);
65
+ if (!listeners) continue;
66
+ const next = getRelationships(screenKey);
67
+ if (areRelationshipsEqual(previous, next)) {
68
+ relationshipCache.set(screenKey, previous);
69
+ continue;
70
+ }
71
+ for (const listener of listeners) listener();
72
+ }
73
+ };
74
+ const register = ({
75
+ screenKey,
76
+ parentScreenKey
77
+ }) => {
78
+ mutate(new Set([screenKey]), () => {
79
+ ensureNode(screenKey).parentScreenKey = parentScreenKey ?? null;
80
+ });
81
+ };
82
+ const unregister = screenKey => {
83
+ const node = getNode(screenKey);
84
+ if (!node) return;
85
+ const affectedScreenKeys = new Set([screenKey]);
86
+ if (node.parentScreenKey) {
87
+ affectedScreenKeys.add(node.parentScreenKey);
88
+ }
89
+ mutate(affectedScreenKeys, () => {
90
+ if (node.parentScreenKey) {
91
+ const parent = getNode(node.parentScreenKey);
92
+ if (parent) {
93
+ parent.activeChildScreenKeys = parent.activeChildScreenKeys.filter(activeScreenKey => activeScreenKey !== screenKey);
94
+ }
95
+ removeNodeIfEmpty(node.parentScreenKey);
96
+ }
97
+ nodes.delete(screenKey);
98
+ });
99
+ };
100
+ const activate = registration => {
101
+ if (getParent(registration.screenKey) !== registration.parentScreenKey) {
102
+ throw new Error("Screen topology can only activate a direct containment child.");
103
+ }
104
+ const affectedScreenKeys = new Set([registration.parentScreenKey]);
105
+ mutate(affectedScreenKeys, () => {
106
+ const parent = ensureNode(registration.parentScreenKey);
107
+ parent.activeChildScreenKeys = [...parent.activeChildScreenKeys.filter(screenKey => screenKey !== registration.screenKey), registration.screenKey];
108
+ });
109
+ return () => {
110
+ const parent = getNode(registration.parentScreenKey);
111
+ if (!parent?.activeChildScreenKeys.includes(registration.screenKey)) {
112
+ return;
113
+ }
114
+ mutate(affectedScreenKeys, () => {
115
+ parent.activeChildScreenKeys = parent.activeChildScreenKeys.filter(screenKey => screenKey !== registration.screenKey);
116
+ removeNodeIfEmpty(registration.parentScreenKey);
117
+ });
118
+ };
119
+ };
120
+ return {
121
+ register,
122
+ unregister,
123
+ activate,
124
+ getRelationships,
125
+ subscribe: (screenKey, listener) => {
126
+ const listeners = listenersByScreenKey.get(screenKey) ?? new Set();
127
+ listeners.add(listener);
128
+ listenersByScreenKey.set(screenKey, listeners);
129
+ return () => {
130
+ listeners.delete(listener);
131
+ if (listeners.size === 0) {
132
+ listenersByScreenKey.delete(screenKey);
133
+ if (!getNode(screenKey)) {
134
+ relationshipCache.delete(screenKey);
135
+ }
136
+ }
137
+ };
138
+ }
139
+ };
140
+ };
141
+ export const screenTopology = createScreenTopology();
142
+ //# sourceMappingURL=create-screen-topology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EMPTY_RELATIONSHIPS","parentScreenKey","activeChildScreenKey","areRelationshipsEqual","left","right","createScreenTopology","nodes","Map","listenersByScreenKey","relationshipCache","getNode","screenKey","get","ensureNode","existing","node","activeChildScreenKeys","set","removeNodeIfEmpty","length","delete","getParent","getActiveChild","materializeRelationships","getRelationships","cached","relationships","mutate","affectedScreenKeys","mutation","previousRelationships","has","previous","listeners","next","listener","register","Set","unregister","add","parent","filter","activeScreenKey","activate","registration","Error","includes","subscribe","size","screenTopology"],"sourceRoot":"../../../../../src","sources":["shared/factories/screen-topology/create-screen-topology.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ export { createScreenTopology, screenTopology } from "./create-screen-topology";
4
+ export { useScreenRelationships } from "./use-screen-relationships";
5
+ export { registerWorkletScreen, screenBelongsToScope, unregisterWorkletScreen } from "./worklet";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createScreenTopology","screenTopology","useScreenRelationships","registerWorkletScreen","screenBelongsToScope","unregisterWorkletScreen"],"sourceRoot":"../../../../../src","sources":["shared/factories/screen-topology/index.ts"],"mappings":";;AAAA,SACCA,oBAAoB,EACpBC,cAAc,QACR,0BAA0B;AAOjC,SAASC,sBAAsB,QAAQ,4BAA4B;AACnE,SACCC,qBAAqB,EACrBC,oBAAoB,EACpBC,uBAAuB,QACjB,WAAW","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["shared/factories/screen-topology/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useSyncExternalStore } from "react";
4
+ import { screenTopology } from "./create-screen-topology";
5
+ export const useScreenRelationships = screenKey => {
6
+ const subscribe = useCallback(listener => screenTopology.subscribe(screenKey, listener), [screenKey]);
7
+ const getSnapshot = useCallback(() => screenTopology.getRelationships(screenKey), [screenKey]);
8
+ return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
9
+ };
10
+ //# sourceMappingURL=use-screen-relationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","screenTopology","useScreenRelationships","screenKey","subscribe","listener","getSnapshot","getRelationships"],"sourceRoot":"../../../../../src","sources":["shared/factories/screen-topology/use-screen-relationships.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAASC,cAAc,QAAQ,0BAA0B;AAEzD,OAAO,MAAMC,sBAAsB,GAAIC,SAAiB,IAAK;EAC5D,MAAMC,SAAS,GAAGL,WAAW,CAC3BM,QAAoB,IAAKJ,cAAc,CAACG,SAAS,CAACD,SAAS,EAAEE,QAAQ,CAAC,EACvE,CAACF,SAAS,CACX,CAAC;EACD,MAAMG,WAAW,GAAGP,WAAW,CAC9B,MAAME,cAAc,CAACM,gBAAgB,CAACJ,SAAS,CAAC,EAChD,CAACA,SAAS,CACX,CAAC;EAED,OAAOH,oBAAoB,CAACI,SAAS,EAAEE,WAAW,EAAEA,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { makeMutable } from "react-native-reanimated";
4
+ const toStorageKey = screenKey => {
5
+ "worklet";
6
+
7
+ return `screen:${screenKey}`;
8
+ };
9
+ const workletScreenTopology = makeMutable({});
10
+ export const registerWorkletScreen = ({
11
+ screenKey,
12
+ parentScreenKey
13
+ }) => {
14
+ "worklet";
15
+
16
+ workletScreenTopology.modify(value => {
17
+ "worklet";
18
+
19
+ value[toStorageKey(screenKey)] = {
20
+ parentScreenKey
21
+ };
22
+ return value;
23
+ });
24
+ };
25
+ export const unregisterWorkletScreen = screenKey => {
26
+ "worklet";
27
+
28
+ workletScreenTopology.modify(value => {
29
+ "worklet";
30
+
31
+ const storageKey = toStorageKey(screenKey);
32
+ delete value[storageKey];
33
+ return value;
34
+ });
35
+ };
36
+ export const screenBelongsToScope = (screenKey, scopeScreenKey) => {
37
+ "worklet";
38
+
39
+ if (screenKey === scopeScreenKey) return true;
40
+ const state = workletScreenTopology.get();
41
+ let parentScreenKey = state[toStorageKey(screenKey)]?.parentScreenKey;
42
+ while (parentScreenKey) {
43
+ if (parentScreenKey === scopeScreenKey) return true;
44
+ parentScreenKey = state[toStorageKey(parentScreenKey)]?.parentScreenKey;
45
+ }
46
+ return false;
47
+ };
48
+ //# sourceMappingURL=worklet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["makeMutable","toStorageKey","screenKey","workletScreenTopology","registerWorkletScreen","parentScreenKey","modify","value","unregisterWorkletScreen","storageKey","screenBelongsToScope","scopeScreenKey","state","get"],"sourceRoot":"../../../../../src","sources":["shared/factories/screen-topology/worklet.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,yBAAyB;AASrD,MAAMC,YAAY,GAAIC,SAAiB,IAAK;EAC3C,SAAS;;EACT,OAAO,UAAUA,SAAS,EAAE;AAC7B,CAAC;AAED,MAAMC,qBAAqB,GAAGH,WAAW,CAAwB,CAAC,CAAC,CAAC;AAEpE,OAAO,MAAMI,qBAAqB,GAAGA,CAAC;EACrCF,SAAS;EACTG;AAC2B,CAAC,KAAK;EACjC,SAAS;;EACTF,qBAAqB,CAACG,MAAM,CACOC,KAAQ,IAAQ;IACjD,SAAS;;IACRA,KAAK,CAA2BN,YAAY,CAACC,SAAS,CAAC,CAAC,GAAG;MAC3DG;IACD,CAAC;IACD,OAAOE,KAAK;EACb,CACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAIN,SAAiB,IAAK;EAC7D,SAAS;;EACTC,qBAAqB,CAACG,MAAM,CACOC,KAAQ,IAAQ;IACjD,SAAS;;IACT,MAAME,UAAU,GAAGR,YAAY,CAACC,SAAS,CAAC;IAC1C,OAAOK,KAAK,CAACE,UAAU,CAAC;IACxB,OAAOF,KAAK;EACb,CACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMG,oBAAoB,GAAGA,CACnCR,SAAiB,EACjBS,cAAsB,KACT;EACb,SAAS;;EACT,IAAIT,SAAS,KAAKS,cAAc,EAAE,OAAO,IAAI;EAE7C,MAAMC,KAAK,GAAGT,qBAAqB,CAACU,GAAG,CAAC,CAAC;EACzC,IAAIR,eAAe,GAAGO,KAAK,CAACX,YAAY,CAACC,SAAS,CAAC,CAAC,EAAEG,eAAe;EACrE,OAAOA,eAAe,EAAE;IACvB,IAAIA,eAAe,KAAKM,cAAc,EAAE,OAAO,IAAI;IACnDN,eAAe,GAAGO,KAAK,CAACX,YAAY,CAACI,eAAe,CAAC,CAAC,EAAEA,eAAe;EACxE;EAEA,OAAO,KAAK;AACb,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","snapDescriptorToIndex","useDescriptorsStore","useStack","useScreenState","routes","scenes","routeKeys","focusedIndex","current","store","index","indexOf","route","key","focusedScene","length","snapTo","targetIndex","descriptor","options","focusedRoute","meta","navigation"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-screen-state.ts"],"mappings":";;AACA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAECC,mBAAmB,QACb,oCAAoC;AAG3C,SAAiCC,QAAQ,QAAQ,aAAa;AAgD9D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAEA;EAC7B,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC;EAAa,CAAC,GAChDL,QAAQ,CAAoB,CAAC;EAC9B,MAAMM,OAAO,GAAGP,mBAAmB,CACjCQ,KAAK,IAAKA,KAAK,CAACD,OAClB,CAAmB;EAEnB,MAAME,KAAK,GAAGX,OAAO,CACpB,MAAMO,SAAS,CAACK,OAAO,CAACH,OAAO,CAACI,KAAK,CAACC,GAAG,CAAC,EAC1C,CAACP,SAAS,EAAEE,OAAO,CAACI,KAAK,CAACC,GAAG,CAC9B,CAAC;EAED,MAAMC,YAAY,GAAGf,OAAO,CAAC,MAAM;IAClC,OAAOM,MAAM,CAACE,YAAY,CAAC,IAAIF,MAAM,CAACA,MAAM,CAACU,MAAM,GAAG,CAAC,CAAC;EACzD,CAAC,EAAE,CAACV,MAAM,EAAEE,YAAY,CAAC,CAAC;EAE1B,MAAMS,MAAM,GAAGlB,WAAW,CACxBmB,WAAmB,IAAK;IACxB,MAAMC,UAAU,GAAGJ,YAAY,EAAEI,UAAU;IAC3C,IAAI,CAACA,UAAU,EAAE;IACjBlB,qBAAqB,CAACkB,UAAU,EAAED,WAAW,CAAC;EAC/C,CAAC,EACD,CAACH,YAAY,CACd,CAAC;EAED,OAAOf,OAAO,CACb,OAAO;IACNW,KAAK;IACLS,OAAO,EAAEL,YAAY,EAAEI,UAAU,EAAEC,OAAO,IAAI,CAAC,CAAC;IAChDf,MAAM;IACNgB,YAAY,EAAEN,YAAY,EAAEF,KAAK,IAAIJ,OAAO,CAACI,KAAK;IAClDL,YAAY;IACZc,IAAI,EAAEP,YAAY,EAAEI,UAAU,EAAEC,OAAO,EAAEE,IAAI;IAC7CC,UAAU,EAAEd,OAAO,CAACc,UAAyB;IAC7CN;EACD,CAAC,CAAC,EACF,CACCN,KAAK,EACLI,YAAY,EACZV,MAAM,EACNG,YAAY,EACZC,OAAO,CAACc,UAAU,EAClBd,OAAO,CAACI,KAAK,EACbI,MAAM,CAER,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useMemo","snapDescriptorToIndex","useDescriptorsStore","useStack","useScreenState","routes","scenes","routeKeys","focusedIndex","current","store","index","indexOf","route","key","focusedScene","length","snapTo","targetIndex","descriptor","options","focusedRoute","meta","navigation"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-screen-state.ts"],"mappings":";;AACA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,mBAAmB,QAAQ,oCAAoC;AAGxE,SAAiCC,QAAQ,QAAQ,aAAa;AAgD9D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAEA;EAC7B,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC;EAAa,CAAC,GAChDL,QAAQ,CAAoB,CAAC;EAC9B,MAAMM,OAAO,GAAGP,mBAAmB,CAAEQ,KAAK,IAAKA,KAAK,CAACD,OAAO,CAAC;EAE7D,MAAME,KAAK,GAAGX,OAAO,CACpB,MAAMO,SAAS,CAACK,OAAO,CAACH,OAAO,CAACI,KAAK,CAACC,GAAG,CAAC,EAC1C,CAACP,SAAS,EAAEE,OAAO,CAACI,KAAK,CAACC,GAAG,CAC9B,CAAC;EAED,MAAMC,YAAY,GAAGf,OAAO,CAAC,MAAM;IAClC,OAAOM,MAAM,CAACE,YAAY,CAAC,IAAIF,MAAM,CAACA,MAAM,CAACU,MAAM,GAAG,CAAC,CAAC;EACzD,CAAC,EAAE,CAACV,MAAM,EAAEE,YAAY,CAAC,CAAC;EAE1B,MAAMS,MAAM,GAAGlB,WAAW,CACxBmB,WAAmB,IAAK;IACxB,MAAMC,UAAU,GAAGJ,YAAY,EAAEI,UAAU;IAC3C,IAAI,CAACA,UAAU,EAAE;IACjBlB,qBAAqB,CAACkB,UAAU,EAAED,WAAW,CAAC;EAC/C,CAAC,EACD,CAACH,YAAY,CACd,CAAC;EAED,OAAOf,OAAO,CACb,OAAO;IACNW,KAAK;IACLS,OAAO,EAAEL,YAAY,EAAEI,UAAU,EAAEC,OAAO,IAAI,CAAC,CAAC;IAChDf,MAAM;IACNgB,YAAY,EAAEN,YAAY,EAAEF,KAAK,IAAIJ,OAAO,CAACI,KAAK;IAClDL,YAAY;IACZc,IAAI,EAAEP,YAAY,EAAEI,UAAU,EAAEC,OAAO,EAAEE,IAAI;IAC7CC,UAAU,EAAEd,OAAO,CAACc,UAAyB;IAC7CN;EACD,CAAC,CAAC,EACF,CACCN,KAAK,EACLI,YAAY,EACZV,MAAM,EACNG,YAAY,EACZC,OAAO,CAACc,UAAU,EAClBd,OAAO,CAACI,KAAK,EACbI,MAAM,CAER,CAAC;AACF","ignoreList":[]}
@@ -1,15 +1,19 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, useCallback, useContext, useLayoutEffect, useMemo, useRef, useSyncExternalStore } from "react";
4
- import { useDerivedValue } from "react-native-reanimated";
5
- import { syncStackProgressValues } from "../../providers/screen/animation/helpers/stack-progress";
3
+ import { createContext, useCallback, useContext, useLayoutEffect, useRef, useSyncExternalStore } from "react";
6
4
  import { AnimationStore } from "../../stores/animation.store";
7
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const createStackProgressEntries = routeKeys => routeKeys.map(routeKey => ({
7
+ routeKey,
8
+ visualProgress: AnimationStore.getValue(routeKey, "visualProgress")
9
+ }));
8
10
  const createStackStore = initialSnapshot => {
9
11
  let snapshot = initialSnapshot;
12
+ let stackProgressEntries = createStackProgressEntries(snapshot.routeKeys);
10
13
  const listeners = new Set();
11
14
  return {
12
15
  getSnapshot: () => snapshot,
16
+ getStackProgressEntries: () => stackProgressEntries,
13
17
  notify: () => {
14
18
  for (const listener of listeners) {
15
19
  listener();
@@ -19,6 +23,9 @@ const createStackStore = initialSnapshot => {
19
23
  if (Object.is(snapshot, nextSnapshot)) {
20
24
  return false;
21
25
  }
26
+ if (!Object.is(snapshot.routeKeys, nextSnapshot.routeKeys)) {
27
+ stackProgressEntries = createStackProgressEntries(nextSnapshot.routeKeys);
28
+ }
22
29
  snapshot = nextSnapshot;
23
30
  return true;
24
31
  },
@@ -32,16 +39,6 @@ const createStackStore = initialSnapshot => {
32
39
  };
33
40
  const StackContext = /*#__PURE__*/createContext(null);
34
41
  StackContext.displayName = "Stack";
35
- function StackProgressOwner({
36
- routeKeys
37
- }) {
38
- const visualProgressValues = useMemo(() => routeKeys.map(routeKey => AnimationStore.getValue(routeKey, "visualProgress")), [routeKeys]);
39
- const stackProgressValues = useMemo(() => routeKeys.map(routeKey => AnimationStore.getValue(routeKey, "stackProgress")), [routeKeys]);
40
- useDerivedValue(() => {
41
- syncStackProgressValues(visualProgressValues, stackProgressValues);
42
- });
43
- return null;
44
- }
45
42
  export function StackProvider({
46
43
  children,
47
44
  value
@@ -61,13 +58,15 @@ export function StackProvider({
61
58
  pendingNotifyRef.current = false;
62
59
  store.notify();
63
60
  });
64
- return /*#__PURE__*/_jsxs(StackContext.Provider, {
61
+ return /*#__PURE__*/_jsx(StackContext.Provider, {
65
62
  value: store,
66
- children: [/*#__PURE__*/_jsx(StackProgressOwner, {
67
- routeKeys: value.routeKeys
68
- }), children]
63
+ children: children
69
64
  });
70
65
  }
66
+ export function useStackProgressEntries() {
67
+ const store = useStackStore();
68
+ return useSyncExternalStore(store.subscribe, store.getStackProgressEntries, store.getStackProgressEntries);
69
+ }
71
70
  function useStackStore() {
72
71
  const store = useContext(StackContext);
73
72
  if (store === null) {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useLayoutEffect","useMemo","useRef","useSyncExternalStore","useDerivedValue","syncStackProgressValues","AnimationStore","jsx","_jsx","jsxs","_jsxs","createStackStore","initialSnapshot","snapshot","listeners","Set","getSnapshot","notify","listener","setSnapshot","nextSnapshot","Object","is","subscribe","add","delete","StackContext","displayName","StackProgressOwner","routeKeys","visualProgressValues","map","routeKey","getValue","stackProgressValues","StackProvider","children","value","storeRef","pendingNotifyRef","store","current","Provider","useStackStore","Error","useStack","selector","selectorRef","stack","getSelectedSnapshot"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-stack.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useLayoutEffect","useRef","useSyncExternalStore","AnimationStore","jsx","_jsx","createStackProgressEntries","routeKeys","map","routeKey","visualProgress","getValue","createStackStore","initialSnapshot","snapshot","stackProgressEntries","listeners","Set","getSnapshot","getStackProgressEntries","notify","listener","setSnapshot","nextSnapshot","Object","is","subscribe","add","delete","StackContext","displayName","StackProvider","children","value","storeRef","pendingNotifyRef","store","current","Provider","useStackProgressEntries","useStackStore","Error","useStack","selector","selectorRef","stack","getSelectedSnapshot"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-stack.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,118 +1,45 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useLayoutEffect, useMemo } from "react";
4
- import { useSharedValue } from "react-native-reanimated";
3
+ import { useMemo } from "react";
5
4
  import { createBoundsAccessor } from "../../../utils/bounds";
6
5
  import createProvider from "../../../utils/create-provider";
7
6
  import { useDescriptorsStore } from "../descriptors";
7
+ import { useCurrentScreenRelationships } from "../use-current-screen-relationships";
8
8
  import { useScreenAnimationPipeline } from "./helpers/pipeline";
9
+ const EMPTY_TRANSITION_SOURCES = [];
10
+ const createScreenAnimationProvider = createProvider("ScreenAnimation", {
11
+ global: true
12
+ });
9
13
  export const {
10
14
  ScreenAnimationProvider,
15
+ useOptionalScreenAnimationStore,
11
16
  useScreenAnimationStore
12
- } = createProvider("ScreenAnimation", {
13
- guarded: true,
14
- global: true
15
- })((_props, {
16
- useParentStore
17
- }) => {
17
+ } = createScreenAnimationProvider(_props => {
18
18
  const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
19
- const parentScreenInterpolatorProps = useParentStore(parentContext => parentContext?.screenInterpolatorProps);
20
- const parentScreenInterpolatorPropsRevision = useParentStore(parentContext => parentContext?.screenInterpolatorPropsRevision);
21
- const parentAncestorScreenAnimationSources = useParentStore(parentContext => parentContext?.ancestorScreenAnimationSources);
22
- const parentRegisterDescendantScreenAnimationSource = useParentStore(parentContext => parentContext?.registerDescendantScreenAnimationSource);
23
- const parentAncestorDescendantScreenAnimationRegistrars = useParentStore(parentContext => parentContext?.ancestorDescendantScreenAnimationRegistrars);
24
- const parentInterpolatorUpdatesEnabled = useParentStore(parentContext => parentContext?.interpolatorUpdatesEnabled);
25
- const {
26
- interpolatorUpdatesEnabled,
27
- screenInterpolatorProps,
28
- screenInterpolatorPropsRevision,
29
- selectedInterpolatorOptions,
30
- nextInterpolator,
31
- currentInterpolator
32
- } = useScreenAnimationPipeline(parentInterpolatorUpdatesEnabled ?? true);
33
- const selfScreenAnimationSource = useMemo(() => ({
34
- screenInterpolatorProps,
35
- screenInterpolatorPropsRevision
36
- }), [screenInterpolatorProps, screenInterpolatorPropsRevision]);
37
- const selfScreenAnimationTransitionSource = useMemo(() => ({
38
- ...selfScreenAnimationSource,
19
+ const relationships = useCurrentScreenRelationships();
20
+ const pipeline = useScreenAnimationPipeline();
21
+ const screenAnimationSource = useMemo(() => ({
22
+ screenInterpolatorProps: pipeline.screenInterpolatorProps,
23
+ screenInterpolatorPropsRevision: pipeline.screenInterpolatorPropsRevision,
39
24
  boundsAccessor: createBoundsAccessor(() => {
40
25
  "worklet";
41
26
 
42
- return selfScreenAnimationSource.screenInterpolatorProps.get();
27
+ return pipeline.screenInterpolatorProps.get();
43
28
  })
44
- }), [selfScreenAnimationSource]);
45
- const descendantScreenAnimationSources = useSharedValue([]);
46
- const registerDescendantScreenAnimationSource = useCallback((source, depth) => {
47
- descendantScreenAnimationSources.modify(currentSources => {
48
- "worklet";
49
-
50
- const existingIndex = currentSources.findIndex(currentSource => currentSource.source === source);
51
- if (existingIndex !== -1 && currentSources[existingIndex]?.depth === depth) {
52
- return currentSources;
53
- }
54
- const nextSources = existingIndex === -1 ? [...currentSources, {
55
- source,
56
- depth
57
- }] : currentSources.map((currentSource, index) => index === existingIndex ? {
58
- source,
59
- depth
60
- } : currentSource);
61
- return nextSources.sort((a, b) => a.depth - b.depth);
62
- });
63
- return () => {
64
- descendantScreenAnimationSources.modify(currentSources => {
65
- "worklet";
66
-
67
- return currentSources.filter(currentSource => currentSource.source !== source);
68
- });
69
- };
70
- }, [descendantScreenAnimationSources]);
71
- const ancestorScreenAnimationSources = useMemo(() => {
72
- if (!parentScreenInterpolatorProps || !parentScreenInterpolatorPropsRevision || !parentAncestorScreenAnimationSources) {
73
- return [];
74
- }
75
- return [{
76
- screenInterpolatorProps: parentScreenInterpolatorProps,
77
- screenInterpolatorPropsRevision: parentScreenInterpolatorPropsRevision
78
- }, ...parentAncestorScreenAnimationSources];
79
- }, [parentScreenInterpolatorProps, parentScreenInterpolatorPropsRevision, parentAncestorScreenAnimationSources]);
80
- const ancestorDescendantScreenAnimationRegistrars = useMemo(() => {
81
- if (!parentRegisterDescendantScreenAnimationSource) {
82
- return [];
83
- }
84
-
85
- // Each provider exposes its own descendant registrar and forwards ancestor
86
- // registrars, letting a mounted child register with every ancestor scope.
87
- return [{
88
- register: parentRegisterDescendantScreenAnimationSource,
89
- depth: 1
90
- }, ...(parentAncestorDescendantScreenAnimationRegistrars ?? []).map(registrar => ({
91
- register: registrar.register,
92
- depth: registrar.depth + 1
93
- }))];
94
- }, [parentRegisterDescendantScreenAnimationSource, parentAncestorDescendantScreenAnimationRegistrars]);
95
- useLayoutEffect(() => {
96
- const cleanups = ancestorDescendantScreenAnimationRegistrars.map(registrar => registrar.register(selfScreenAnimationTransitionSource, registrar.depth));
97
- return () => {
98
- for (const cleanup of cleanups) {
99
- cleanup();
100
- }
101
- };
102
- }, [ancestorDescendantScreenAnimationRegistrars, selfScreenAnimationTransitionSource]);
29
+ }), [pipeline.screenInterpolatorProps, pipeline.screenInterpolatorPropsRevision]);
30
+ const ancestorSources = useOptionalScreenAnimationStore(relationships.parentScreenKey, store => store.transitionSourcesThroughSelf) ?? EMPTY_TRANSITION_SOURCES;
31
+ const descendantSources = useOptionalScreenAnimationStore(relationships.activeChildScreenKey, store => store.transitionSourcesFromSelf) ?? EMPTY_TRANSITION_SOURCES;
32
+ const transitionSourcesThroughSelf = useMemo(() => [...ancestorSources, screenAnimationSource], [ancestorSources, screenAnimationSource]);
33
+ const transitionSourcesFromSelf = useMemo(() => [screenAnimationSource, ...descendantSources], [screenAnimationSource, descendantSources]);
34
+ const transitionSources = useMemo(() => [...transitionSourcesThroughSelf, ...descendantSources], [transitionSourcesThroughSelf, descendantSources]);
103
35
  return {
104
36
  key: currentScreenKey,
105
37
  value: {
106
- interpolatorUpdatesEnabled,
107
- screenInterpolatorProps,
108
- screenInterpolatorPropsRevision,
109
- selectedInterpolatorOptions,
110
- nextInterpolator,
111
- currentInterpolator,
112
- ancestorScreenAnimationSources,
113
- descendantScreenAnimationSources,
114
- registerDescendantScreenAnimationSource,
115
- ancestorDescendantScreenAnimationRegistrars
38
+ ...pipeline,
39
+ transitionSources,
40
+ transitionOriginIndex: ancestorSources.length,
41
+ transitionSourcesThroughSelf,
42
+ transitionSourcesFromSelf
116
43
  }
117
44
  };
118
45
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useSharedValue","createBoundsAccessor","createProvider","useDescriptorsStore","useScreenAnimationPipeline","ScreenAnimationProvider","useScreenAnimationStore","guarded","global","_props","useParentStore","currentScreenKey","store","derivations","parentScreenInterpolatorProps","parentContext","screenInterpolatorProps","parentScreenInterpolatorPropsRevision","screenInterpolatorPropsRevision","parentAncestorScreenAnimationSources","ancestorScreenAnimationSources","parentRegisterDescendantScreenAnimationSource","registerDescendantScreenAnimationSource","parentAncestorDescendantScreenAnimationRegistrars","ancestorDescendantScreenAnimationRegistrars","parentInterpolatorUpdatesEnabled","interpolatorUpdatesEnabled","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","selfScreenAnimationSource","selfScreenAnimationTransitionSource","boundsAccessor","get","descendantScreenAnimationSources","source","depth","modify","currentSources","existingIndex","findIndex","currentSource","nextSources","map","index","sort","a","b","filter","register","registrar","cleanups","cleanup","key","value"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/animation.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","createBoundsAccessor","createProvider","useDescriptorsStore","useCurrentScreenRelationships","useScreenAnimationPipeline","EMPTY_TRANSITION_SOURCES","createScreenAnimationProvider","global","ScreenAnimationProvider","useOptionalScreenAnimationStore","useScreenAnimationStore","_props","currentScreenKey","store","derivations","relationships","pipeline","screenAnimationSource","screenInterpolatorProps","screenInterpolatorPropsRevision","boundsAccessor","get","ancestorSources","parentScreenKey","transitionSourcesThroughSelf","descendantSources","activeChildScreenKey","transitionSourcesFromSelf","transitionSources","key","value","transitionOriginIndex","length"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/animation.provider.tsx"],"mappings":";;AAAA,SAAyBA,OAAO,QAAQ,OAAO;AAC/C,SAASC,oBAAoB,QAAQ,uBAAuB;AAC5D,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,6BAA6B,QAAQ,qCAAqC;AACnF,SAASC,0BAA0B,QAAQ,oBAAoB;AAgB/D,MAAMC,wBAAoE,GAAG,EAAE;AAE/E,MAAMC,6BAA6B,GAAGL,cAAc,CAAC,iBAAiB,EAAE;EACvEM,MAAM,EAAE;AACT,CAAC,CAAqC;AAEtC,OAAO,MAAM;EACZC,uBAAuB;EACvBC,+BAA+B;EAC/BC;AACiD,CAAC,GAClDJ,6BAA6B,CAAEK,MAAM,IAAK;EACzC,MAAMC,gBAAgB,GAAGV,mBAAmB,CAC1CW,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,gBAC9B,CAAC;EACD,MAAMG,aAAa,GAAGZ,6BAA6B,CAAC,CAAC;EACrD,MAAMa,QAAQ,GAAGZ,0BAA0B,CAAC,CAAC;EAE7C,MAAMa,qBAAqB,GAAGlB,OAAO,CACpC,OAAO;IACNmB,uBAAuB,EAAEF,QAAQ,CAACE,uBAAuB;IACzDC,+BAA+B,EAC9BH,QAAQ,CAACG,+BAA+B;IACzCC,cAAc,EAAEpB,oBAAoB,CAAC,MAAM;MAC1C,SAAS;;MACT,OAAOgB,QAAQ,CAACE,uBAAuB,CAACG,GAAG,CAAC,CAAC;IAC9C,CAAC;EACF,CAAC,CAAC,EACF,CACCL,QAAQ,CAACE,uBAAuB,EAChCF,QAAQ,CAACG,+BAA+B,CAE1C,CAAC;EACD,MAAMG,eAAe,GACpBb,+BAA+B,CAC9BM,aAAa,CAACQ,eAAe,EAC5BV,KAAK,IAAKA,KAAK,CAACW,4BAClB,CAAC,IAAInB,wBAAwB;EAC9B,MAAMoB,iBAAiB,GACtBhB,+BAA+B,CAC9BM,aAAa,CAACW,oBAAoB,EACjCb,KAAK,IAAKA,KAAK,CAACc,yBAClB,CAAC,IAAItB,wBAAwB;EAC9B,MAAMmB,4BAA4B,GAAGzB,OAAO,CAC3C,MAAM,CAAC,GAAGuB,eAAe,EAAEL,qBAAqB,CAAC,EACjD,CAACK,eAAe,EAAEL,qBAAqB,CACxC,CAAC;EACD,MAAMU,yBAAyB,GAAG5B,OAAO,CACxC,MAAM,CAACkB,qBAAqB,EAAE,GAAGQ,iBAAiB,CAAC,EACnD,CAACR,qBAAqB,EAAEQ,iBAAiB,CAC1C,CAAC;EACD,MAAMG,iBAAiB,GAAG7B,OAAO,CAChC,MAAM,CAAC,GAAGyB,4BAA4B,EAAE,GAAGC,iBAAiB,CAAC,EAC7D,CAACD,4BAA4B,EAAEC,iBAAiB,CACjD,CAAC;EAED,OAAO;IACNI,GAAG,EAAEjB,gBAAgB;IACrBkB,KAAK,EAAE;MACN,GAAGd,QAAQ;MACXY,iBAAiB;MACjBG,qBAAqB,EAAET,eAAe,CAACU,MAAM;MAC7CR,4BAA4B;MAC5BG;IACD;EACD,CAAC;AACF,CAAC,CAAC","ignoreList":[]}