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
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import { useMemo } from "react";
4
- import { createBoundsAccessor } from "../../../../../utils/bounds";
5
4
  const resolveTargetIndex = (target, currentIndex, sourceCount) => {
6
5
  "worklet";
7
6
 
@@ -14,25 +13,9 @@ const resolveTargetIndex = (target, currentIndex, sourceCount) => {
14
13
  const resolvedIndex = currentIndex + depth;
15
14
  return resolvedIndex >= 0 && resolvedIndex < sourceCount ? resolvedIndex : -1;
16
15
  };
17
- export const createTransitionAccessor = (sources, originIndex = 0, descendantSources) => {
16
+ export const createTransitionAccessor = (sources, originIndex = 0) => {
18
17
  "worklet";
19
18
 
20
- const getSources = () => {
21
- "worklet";
22
-
23
- if (!descendantSources) {
24
- return sources;
25
- }
26
- const descendants = descendantSources.get();
27
- if (descendants.length === 0) {
28
- return sources;
29
- }
30
- const currentSources = sources.slice();
31
- for (let index = 0; index < descendants.length; index++) {
32
- currentSources.push(descendants[index].source);
33
- }
34
- return currentSources;
35
- };
36
19
  const buildScope = (sourceIndex, currentSources) => {
37
20
  "worklet";
38
21
 
@@ -57,46 +40,17 @@ export const createTransitionAccessor = (sources, originIndex = 0, descendantSou
57
40
  return target => {
58
41
  "worklet";
59
42
 
60
- const currentSources = getSources();
61
- const targetIndex = resolveTargetIndex(target, originIndex, currentSources.length);
43
+ const targetIndex = resolveTargetIndex(target, originIndex, sources.length);
62
44
  if (targetIndex === -1) {
63
45
  return null;
64
46
  }
65
- return buildScope(targetIndex, currentSources);
47
+ return buildScope(targetIndex, sources);
66
48
  };
67
49
  };
68
- const buildSourceBoundsAccessor = source => {
69
- "worklet";
70
-
71
- return createBoundsAccessor(() => {
72
- "worklet";
73
-
74
- return source.screenInterpolatorProps.get();
75
- });
76
- };
77
50
  export const useBuildTransitionAccessor = ({
78
- screenInterpolatorProps,
79
- screenInterpolatorPropsRevision,
80
- ancestorScreenAnimationSources,
81
- descendantScreenAnimationSources
51
+ transitionSources,
52
+ transitionOriginIndex
82
53
  }) => {
83
- return useMemo(() => {
84
- const selfSource = {
85
- screenInterpolatorProps,
86
- screenInterpolatorPropsRevision
87
- };
88
- const transitionSources = ancestorScreenAnimationSources.map(source => ({
89
- ...source,
90
- boundsAccessor: buildSourceBoundsAccessor(source)
91
- }));
92
- const selfTransitionSource = {
93
- ...selfSource,
94
- boundsAccessor: buildSourceBoundsAccessor(selfSource)
95
- };
96
- transitionSources.reverse();
97
- const originIndex = transitionSources.length;
98
- transitionSources.push(selfTransitionSource);
99
- return createTransitionAccessor(transitionSources, originIndex, descendantScreenAnimationSources);
100
- }, [screenInterpolatorProps, screenInterpolatorPropsRevision, ancestorScreenAnimationSources, descendantScreenAnimationSources]);
54
+ return useMemo(() => createTransitionAccessor(transitionSources, transitionOriginIndex), [transitionSources, transitionOriginIndex]);
101
55
  };
102
56
  //# sourceMappingURL=use-build-transition-accessor.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","createBoundsAccessor","resolveTargetIndex","target","currentIndex","sourceCount","undefined","depth","Number","isInteger","resolvedIndex","createTransitionAccessor","sources","originIndex","descendantSources","getSources","descendants","get","length","currentSources","slice","index","push","source","buildScope","sourceIndex","screenInterpolatorPropsRevision","frame","screenInterpolatorProps","bounds","boundsAccessor","transition","targetIndex","buildSourceBoundsAccessor","useBuildTransitionAccessor","ancestorScreenAnimationSources","descendantScreenAnimationSources","selfSource","transitionSources","map","selfTransitionSource","reverse"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","resolveTargetIndex","target","currentIndex","sourceCount","undefined","depth","Number","isInteger","resolvedIndex","createTransitionAccessor","sources","originIndex","buildScope","sourceIndex","currentSources","source","screenInterpolatorPropsRevision","get","frame","screenInterpolatorProps","bounds","boundsAccessor","transition","targetIndex","length","useBuildTransitionAccessor","transitionSources","transitionOriginIndex"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAiB/B,MAAMC,kBAAkB,GAAGA,CAC1BC,MAA0C,EAC1CC,YAAmC,EACnCC,WAAmB,KACQ;EAC3B,SAAS;;EACT,IAAIA,WAAW,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;EAE/B,IACCF,MAAM,KAAKG,SAAS,KACnB,OAAOH,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,EAAE,OAAO,IAAIA,MAAM,CAAC,CAAC,EACtE;IACD,OAAO,CAAC,CAAC;EACV;EAEA,MAAMI,KAAK,GAAGJ,MAAM,EAAEI,KAAK,IAAI,CAAC;EAChC,IAAI,CAACC,MAAM,CAACC,SAAS,CAACF,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EAEvC,MAAMG,aAAa,GAAGN,YAAY,GAAGG,KAAK;EAC1C,OAAOG,aAAa,IAAI,CAAC,IAAIA,aAAa,GAAGL,WAAW,GAAGK,aAAa,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,OAAO,MAAMC,wBAAwB,GAAGA,CACvCC,OAA4C,EAC5CC,WAAW,GAAG,CAAC,KACX;EACJ,SAAS;;EAET,MAAMC,UAAU,GAAGA,CAClBC,WAAkC,EAClCC,cAAmD,KACd;IACrC,SAAS;;IACT,MAAMC,MAAM,GAAGD,cAAc,CAACD,WAAW,CAAC;IAC1C,IAAI,CAACE,MAAM,EAAE,OAAO,IAAI;IAExBA,MAAM,CAACC,+BAA+B,CAACC,GAAG,CAAC,CAAC;IAC5C,MAAMC,KAAK,GAAGH,MAAM,CAACI,uBAAuB,CAACF,GAAG,CAAC,CAAC;IAElD,OAAO;MACN,GAAGC,KAAK;MACRE,MAAM,EAAEL,MAAM,CAACM,cAAc;MAC7BC,UAAU,EAAGrB,MAA+B,IAAK;QAChD,SAAS;;QACT,MAAMsB,WAAW,GAAGvB,kBAAkB,CACrCC,MAAM,EACNY,WAAW,EACXC,cAAc,CAACU,MAChB,CAAC;QAED,IAAID,WAAW,KAAK,CAAC,CAAC,EAAE;UACvB,OAAO,IAAI;QACZ;QAEA,OAAOX,UAAU,CAACW,WAAW,EAAET,cAAc,CAAC;MAC/C;IACD,CAAC;EACF,CAAC;EAED,OAAQb,MAA+B,IAAsC;IAC5E,SAAS;;IACT,MAAMsB,WAAW,GAAGvB,kBAAkB,CAACC,MAAM,EAAEU,WAAW,EAAED,OAAO,CAACc,MAAM,CAAC;IAC3E,IAAID,WAAW,KAAK,CAAC,CAAC,EAAE;MACvB,OAAO,IAAI;IACZ;IAEA,OAAOX,UAAU,CAACW,WAAW,EAAEb,OAAO,CAAC;EACxC,CAAC;AACF,CAAC;AAED,OAAO,MAAMe,0BAA0B,GAAGA,CAAC;EAC1CC,iBAAiB;EACjBC;AACwB,CAAC,KAAK;EAC9B,OAAO5B,OAAO,CACb,MAAMU,wBAAwB,CAACiB,iBAAiB,EAAEC,qBAAqB,CAAC,EACxE,CAACD,iBAAiB,EAAEC,qBAAqB,CAC1C,CAAC;AACF,CAAC","ignoreList":[]}
@@ -5,14 +5,13 @@ import { useWindowDimensions } from "react-native";
5
5
  import { useDerivedValue, useSharedValue } from "react-native-reanimated";
6
6
  import { useSafeAreaInsets } from "react-native-safe-area-context";
7
7
  import { createScreenTransitionState, DEFAULT_SCREEN_TRANSITION_STATE } from "../../../../constants";
8
- import { useStack } from "../../../../hooks/navigation/use-stack";
8
+ import { useStack, useStackProgressEntries } from "../../../../hooks/navigation/use-stack";
9
9
  import { useDescriptorsStore } from "../../descriptors";
10
10
  import { buildScreenTransitionOptions } from "./build-screen-transition-options";
11
11
  import { updateDerivations } from "./derivations";
12
12
  import { hasTransitionsEnabled } from "./has-transitions-enabled";
13
13
  import { hydrateTransitionState } from "./hydrate-transition-state";
14
- import { shouldUpdateScreenInterpolator } from "./interpolator-participation";
15
- import { resolveStackProgress } from "./stack-progress";
14
+ import { readStackProgress } from "./stack-progress";
16
15
  import { useBuildTransitionState } from "./use-build-transition-state";
17
16
  import { toPlainRoute, toPlainValue } from "./worklet";
18
17
  const getInitialSettledProgress = descriptor => {
@@ -130,39 +129,36 @@ const hydrateInterpolatorFrame = ({
130
129
  nextAnimation,
131
130
  prevAnimation,
132
131
  nextHasTransitions,
133
- interpolatorOptions
132
+ interpolatorOptions,
133
+ stackProgressEntries,
134
+ currentRouteKey
134
135
  }) => {
135
136
  "worklet";
136
137
 
137
138
  const shouldApplyOptionsToCurrent = interpolatorOptions.owner === "current";
138
139
  const shouldApplyOptionsToNext = interpolatorOptions.owner === "next" && !!nextAnimation && nextHasTransitions;
139
- const previousCurrentProgress = currentAnimation?.visualProgress.get();
140
- const previousNextProgress = nextAnimation && nextHasTransitions ? nextAnimation.visualProgress.get() : undefined;
141
140
  frame.previous = prevAnimation ? hydrateTransitionState(prevAnimation, dimensions) : undefined;
142
141
  frame.current = currentAnimation ? hydrateTransitionState(currentAnimation, dimensions, shouldApplyOptionsToCurrent ? interpolatorOptions.options : undefined) : DEFAULT_SCREEN_TRANSITION_STATE;
143
142
  frame.next = nextAnimation && nextHasTransitions ? hydrateTransitionState(nextAnimation, dimensions, shouldApplyOptionsToNext ? interpolatorOptions.options : undefined) : undefined;
144
143
  frame.layouts = frame.current.layouts;
145
144
  frame.insets = insets;
146
145
  updateDerivations(frame);
147
- frame.stackProgress = resolveStackProgress(currentAnimation?.stackProgress, frame.progress, frame.current.progress, previousCurrentProgress, frame.next?.progress, previousNextProgress);
146
+ frame.stackProgress = readStackProgress(stackProgressEntries, currentRouteKey, frame.progress);
148
147
  frame.logicallySettled = frame.active.settled;
149
148
  return frame;
150
149
  };
151
- export function useScreenAnimationPipeline(parentInterpolatorUpdatesEnabled = true) {
150
+ export function useScreenAnimationPipeline() {
152
151
  const transitionsAlwaysOn = useStack(stack => stack.flags.TRANSITIONS_ALWAYS_ON);
153
152
  const dimensions = useWindowDimensions();
154
153
  const insets = useSafeAreaInsets();
154
+ const stackProgressEntries = useStackProgressEntries();
155
155
  const currDescriptor = useDescriptorsStore(store => store.current);
156
156
  const nextDescriptor = useDescriptorsStore(store => store.next);
157
157
  const prevDescriptor = useDescriptorsStore(store => store.previous);
158
- const currentActivity = useStack(stack => {
159
- const routeIndex = stack.routeKeys.indexOf(currDescriptor.route.key);
160
- return stack.scenes[routeIndex]?.activity;
161
- });
162
- const interpolatorUpdatesEnabled = parentInterpolatorUpdatesEnabled && shouldUpdateScreenInterpolator(currentActivity ?? "active", currDescriptor.options.experimental_updateInactiveInterpolators === true);
163
158
  const currentAnimation = useBuildTransitionState(currDescriptor);
164
159
  const nextAnimation = useBuildTransitionState(nextDescriptor);
165
160
  const prevAnimation = useBuildTransitionState(prevDescriptor);
161
+ const currentRouteKey = currDescriptor.route.key;
166
162
  const nextRouteKey = nextDescriptor?.route?.key;
167
163
  const nextHasTransitions = !!nextRouteKey && hasTransitionsEnabled(nextDescriptor?.options, transitionsAlwaysOn);
168
164
  const initialInterpolatorProps = useMemo(() => createInitialInterpolatorProps({
@@ -179,7 +175,7 @@ export function useScreenAnimationPipeline(parentInterpolatorUpdatesEnabled = tr
179
175
  const propsRevisionState = useSharedValue({
180
176
  value: 0
181
177
  });
182
- const screenInterpolatorPropsRevision = useDerivedValue(interpolatorUpdatesEnabled ? () => {
178
+ const screenInterpolatorPropsRevision = useDerivedValue(() => {
183
179
  "worklet";
184
180
 
185
181
  screenInterpolatorProps.modify(frame => {
@@ -194,32 +190,25 @@ export function useScreenAnimationPipeline(parentInterpolatorUpdatesEnabled = tr
194
190
  nextAnimation,
195
191
  prevAnimation,
196
192
  nextHasTransitions,
197
- interpolatorOptions
193
+ interpolatorOptions,
194
+ stackProgressEntries,
195
+ currentRouteKey
198
196
  });
199
197
  }, false);
200
198
 
201
- // Critical reactive dependency for `screenInterpolatorProps`.
202
- //
203
- // `screenInterpolatorProps` is mutated in place to avoid allocating a large
204
- // interpolator frame every tick. Consumers must read this revision before
205
- // reading `screenInterpolatorProps`, otherwise Reanimated may not subscribe
206
- // to frame updates and can observe stale transition state.
199
+ // `screenInterpolatorProps` is mutated in place. Consumers read this
200
+ // revision first so Reanimated subscribes to the hydrated frame.
207
201
  propsRevisionState.modify(revision => {
208
202
  "worklet";
209
203
 
210
204
  revision.value += 1;
211
205
  return revision;
212
206
  }, false);
213
- return propsRevisionState.get().value;
214
- } : () => {
215
- "worklet";
216
-
217
207
  return propsRevisionState.get().value;
218
208
  });
219
209
  const nextInterpolator = nextDescriptor?.options.screenStyleInterpolator;
220
- const currentInterpolator = currDescriptor?.options.screenStyleInterpolator;
210
+ const currentInterpolator = currDescriptor.options.screenStyleInterpolator;
221
211
  return {
222
- interpolatorUpdatesEnabled,
223
212
  screenInterpolatorProps,
224
213
  screenInterpolatorPropsRevision,
225
214
  selectedInterpolatorOptions,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","useStack","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","shouldUpdateScreenInterpolator","resolveStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","logicallySettled","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","previousCurrentProgress","visualProgress","get","previousNextProgress","useScreenAnimationPipeline","parentInterpolatorUpdatesEnabled","transitionsAlwaysOn","stack","flags","TRANSITIONS_ALWAYS_ON","currDescriptor","store","currentActivity","routeIndex","routeKeys","indexOf","key","scenes","activity","interpolatorUpdatesEnabled","experimental_updateInactiveInterpolators","nextRouteKey","initialInterpolatorProps","screenInterpolatorProps","selectedInterpolatorOptions","propsRevisionState","value","screenInterpolatorPropsRevision","modify","revision","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/pipeline.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAGCC,eAAe,EACfC,cAAc,QACR,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SACCC,2BAA2B,EAC3BC,+BAA+B,QACzB,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,wCAAwC;AAOjE,SAA8BC,mBAAmB,QAAQ,mBAAmB;AAC5E,SAASC,4BAA4B,QAAQ,mCAAmC;AAChF,SAASC,iBAAiB,QAAQ,eAAe;AACjD,SAASC,qBAAqB,QAAQ,2BAA2B;AACjE,SAASC,sBAAsB,QAAQ,4BAA4B;AACnE,SAASC,8BAA8B,QAAQ,8BAA8B;AAE7E,SAASC,oBAAoB,QAAQ,kBAAkB;AACvD,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,YAAY,EAAEC,YAAY,QAAQ,WAAW;AAgBtD,MAAMC,yBAAyB,GAAIC,UAA0B,IAAK;EACjE,MAAM;IAAEC,UAAU;IAAEC,gBAAgB,GAAG;EAAE,CAAC,GAAGF,UAAU,CAACG,OAAO;EAE/D,IAAI,CAACF,UAAU,EAAEG,MAAM,EAAE;IACxB,OAAO,CAAC;EACT;EAEA,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC5BD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEN,gBAAgB,CAAC,EAC7BD,UAAU,CAACG,MAAM,GAAG,CACrB,CAAC;EACD,MAAMK,SAAS,GAAGR,UAAU,CAACI,YAAY,CAAC;EAE1C,OAAO,OAAOI,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,CAAC;AACrD,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CAAC;EAC7BC,KAAK;EACLC,UAAU;EACVC,QAAQ;EACRC,QAAQ,GAAG,CAAC;EACZC,OAAO,GAAG,CAAC;EACXC,SAAS,GAAG,CAAC;EACbC,WAAW,GAAG,CAAC;EACfC,OAAO,GAAGJ,QAAQ,IAAIC,OAAO,IAAIC,SAAS,GAAG,CAAC,GAAG;AAUlD,CAAC,KAAK;EACLL,KAAK,CAACE,QAAQ,GAAGA,QAAQ;EACzBF,KAAK,CAACQ,kBAAkB,GAAGN,QAAQ;EACnCF,KAAK,CAACG,QAAQ,GAAGA,QAAQ;EACzBH,KAAK,CAACI,OAAO,GAAGA,OAAO;EACvBJ,KAAK,CAACK,SAAS,GAAGA,SAAS;EAC3BL,KAAK,CAACM,WAAW,GAAGA,WAAW;EAC/BN,KAAK,CAACO,OAAO,GAAGA,OAAO;EACvBP,KAAK,CAACS,gBAAgB,GAAGF,OAAO;EAChCP,KAAK,CAACU,OAAO,CAACC,MAAM,GAAGV,UAAU;EAEjC,OAAOD,KAAK;AACb,CAAC;AAED,MAAMY,4BAA4B,GAAGA,CAAC;EACrCvB,UAAU;EACVY,UAAU;EACVC,QAAQ;EACRC,QAAQ;EACRE,SAAS;EACTC,WAAW;EACXC;AASD,CAAC,KAAK;EACL,MAAMM,IAAI,GAAGxB,UAAU,CAACG,OAAO,CAACqB,IAAI,GAChC1B,YAAY,CAACE,UAAU,CAACG,OAAO,CAACqB,IAAI,CAAC,GACtCC,SAAS;EACZ,MAAMd,KAAK,GAAGzB,2BAA2B,CACxCW,YAAY,CAACG,UAAU,CAAC0B,KAAK,CAAC,EAC9BF,IAAI,EACJlC,4BAA4B,CAACU,UAAU,CAACG,OAAO,CAChD,CAAC;EAED,OAAOO,oBAAoB,CAAC;IAC3BC,KAAK;IACLC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRE,SAAS;IACTC,WAAW;IACXC;EACD,CAAC,CAAC;AACH,CAAC;AAED,MAAMS,8BAA8B,GAAGA,CAAC;EACvCf,UAAU;EACVgB,MAAM;EACNC,iBAAiB;EACjBC,cAAc;EACdC;AAOD,CAAC,KAA8B;EAC9B,MAAMC,eAAe,GAAG,CAAC,CAACF,cAAc;EACxC,MAAMG,iBAAiB,GAAG,CAAC,CAACF,cAAc,IAAI,CAACD,cAAc;EAC7D,MAAMI,yBAAyB,GAC9B,CAACH,cAAc,IACf,CAACD,cAAc,IACf,CAAC,CAACD,iBAAiB,CAAC1B,OAAO,CAACgC,kCAAkC;EAC/D,MAAMC,eAAe,GACpBJ,eAAe,IAAK,CAACC,iBAAiB,IAAI,CAACC,yBAA0B,GAClEnC,yBAAyB,CAAC8B,iBAAiB,CAAC,GAC5C,CAAC;EACL,MAAMQ,eAAe,GACpBJ,iBAAiB,IAAIC,yBAAyB,GAAG,CAAC,GAAG,CAAC;EACvD,MAAMI,OAAO,GAAGf,4BAA4B,CAAC;IAC5CvB,UAAU,EAAE6B,iBAAiB;IAC7BjB,UAAU;IACVC,QAAQ,EAAEuB,eAAe;IACzBtB,QAAQ,EAAEuB,eAAe;IACzBrB,SAAS,EAAEqB,eAAe;IAC1BpB,WAAW,EAAE;EACd,CAAC,CAAC;EACF,MAAMsB,QAAQ,GAAGR,cAAc,GAC5BR,4BAA4B,CAAC;IAC7BvB,UAAU,EAAE+B,cAAc;IAC1BnB,UAAU;IACVC,QAAQ,EAAEd,yBAAyB,CAACgC,cAAc;EACnD,CAAC,CAAC,GACDN,SAAS;EACZ,MAAMe,IAAI,GAAGV,cAAc,GACxBP,4BAA4B,CAAC;IAC7BvB,UAAU,EAAE8B,cAAc;IAC1BlB,UAAU;IACVC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAE,CAAC;IACXE,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE,CAAC;IACdC,OAAO,EAAE;EACV,CAAC,CAAC,GACDO,SAAS;EACZ,MAAMgB,KAA8B,GAAG;IACtCpB,OAAO,EAAEiB,OAAO,CAACjB,OAAO;IACxBO,MAAM;IACNW,QAAQ;IACRD,OAAO;IACPE,IAAI;IACJ3B,QAAQ,EAAE,CAAC;IACXM,kBAAkB,EAAE,CAAC;IACrBuB,aAAa,EAAE,CAAC;IAChBtB,gBAAgB,EAAE,CAAC;IACnBuB,OAAO,EAAE,IAAI;IACbC,MAAM,EAAEN,OAAO;IACfO,QAAQ,EAAEpB;EACX,CAAC;EAEDlC,iBAAiB,CAACkD,KAAK,CAAC;EACxBA,KAAK,CAACC,aAAa,GAAGD,KAAK,CAAC5B,QAAQ;EACpC4B,KAAK,CAACrB,gBAAgB,GAAGqB,KAAK,CAACG,MAAM,CAAC1B,OAAO;EAE7C,OAAOuB,KAAK;AACb,CAAC;AAMD,MAAMK,wBAAwB,GAAGA,CAAyC;EACzEL,KAAK;EACL7B,UAAU;EACVgB,MAAM;EACNmB,gBAAgB;EAChBC,aAAa;EACbC,aAAa;EACbC,kBAAkB;EAClBC;AAUD,CAAC,KAAa;EACb,SAAS;;EACT,MAAMC,2BAA2B,GAAGD,mBAAmB,CAACE,KAAK,KAAK,SAAS;EAC3E,MAAMC,wBAAwB,GAC7BH,mBAAmB,CAACE,KAAK,KAAK,MAAM,IACpC,CAAC,CAACL,aAAa,IACfE,kBAAkB;EACnB,MAAMK,uBAAuB,GAAGR,gBAAgB,EAAES,cAAc,CAACC,GAAG,CAAC,CAAC;EACtE,MAAMC,oBAAoB,GACzBV,aAAa,IAAIE,kBAAkB,GAChCF,aAAa,CAACQ,cAAc,CAACC,GAAG,CAAC,CAAC,GAClChC,SAAS;EAEbgB,KAAK,CAACF,QAAQ,GAAGU,aAAa,GAC3BxD,sBAAsB,CAACwD,aAAa,EAAErC,UAAU,CAAC,GACjDa,SAAS;EAEZgB,KAAK,CAACH,OAAO,GAAGS,gBAAgB,GAC7BtD,sBAAsB,CACtBsD,gBAAgB,EAChBnC,UAAU,EACVwC,2BAA2B,GAAGD,mBAAmB,CAAChD,OAAO,GAAGsB,SAC7D,CAAC,GACAtC,+BAA+B;EAElCsD,KAAK,CAACD,IAAI,GACTQ,aAAa,IAAIE,kBAAkB,GAChCzD,sBAAsB,CACtBuD,aAAa,EACbpC,UAAU,EACV0C,wBAAwB,GAAGH,mBAAmB,CAAChD,OAAO,GAAGsB,SAC1D,CAAC,GACAA,SAAS;EAEbgB,KAAK,CAACpB,OAAO,GAAGoB,KAAK,CAACH,OAAO,CAACjB,OAAO;EACrCoB,KAAK,CAACb,MAAM,GAAGA,MAAM;EAErBrC,iBAAiB,CAACkD,KAAK,CAAC;EAExBA,KAAK,CAACC,aAAa,GAAG/C,oBAAoB,CACzCoD,gBAAgB,EAAEL,aAAa,EAC/BD,KAAK,CAAC5B,QAAQ,EACd4B,KAAK,CAACH,OAAO,CAACzB,QAAQ,EACtB0C,uBAAuB,EACvBd,KAAK,CAACD,IAAI,EAAE3B,QAAQ,EACpB6C,oBACD,CAAC;EACDjB,KAAK,CAACrB,gBAAgB,GAAGqB,KAAK,CAACG,MAAM,CAAC1B,OAAO;EAE7C,OAAOuB,KAAK;AACb,CAAC;AAED,OAAO,SAASkB,0BAA0BA,CACzCC,gCAAgC,GAAG,IAAI,EACb;EAC1B,MAAMC,mBAAmB,GAAGzE,QAAQ,CAClC0E,KAAK,IAAKA,KAAK,CAACC,KAAK,CAACC,qBACxB,CAAC;EACD,MAAMpD,UAAU,GAAG9B,mBAAmB,CAAC,CAAC;EACxC,MAAM8C,MAAM,GAAG3C,iBAAiB,CAAC,CAAC;EAElC,MAAMgF,cAAc,GAAG5E,mBAAmB,CAAE6E,KAAK,IAAKA,KAAK,CAAC5B,OAAO,CAAC;EACpE,MAAMR,cAAc,GAAGzC,mBAAmB,CAAE6E,KAAK,IAAKA,KAAK,CAAC1B,IAAI,CAAC;EACjE,MAAMT,cAAc,GAAG1C,mBAAmB,CAAE6E,KAAK,IAAKA,KAAK,CAAC3B,QAAQ,CAAC;EACrE,MAAM4B,eAAe,GAAG/E,QAAQ,CAAE0E,KAAK,IAAK;IAC3C,MAAMM,UAAU,GAAGN,KAAK,CAACO,SAAS,CAACC,OAAO,CAACL,cAAc,CAACvC,KAAK,CAAC6C,GAAG,CAAC;IACpE,OAAOT,KAAK,CAACU,MAAM,CAACJ,UAAU,CAAC,EAAEK,QAAQ;EAC1C,CAAC,CAAC;EACF,MAAMC,0BAA0B,GAC/Bd,gCAAgC,IAChClE,8BAA8B,CAC7ByE,eAAe,IAAI,QAAQ,EAC3BF,cAAc,CAAC9D,OAAO,CAACwE,wCAAwC,KAAK,IACrE,CAAC;EAEF,MAAM5B,gBAAgB,GAAGnD,uBAAuB,CAACqE,cAAc,CAAC;EAChE,MAAMjB,aAAa,GAAGpD,uBAAuB,CAACkC,cAAc,CAAC;EAC7D,MAAMmB,aAAa,GAAGrD,uBAAuB,CAACmC,cAAc,CAAC;EAE7D,MAAM6C,YAAY,GAAG9C,cAAc,EAAEJ,KAAK,EAAE6C,GAAG;EAC/C,MAAMrB,kBAAkB,GACvB,CAAC,CAAC0B,YAAY,IACdpF,qBAAqB,CAACsC,cAAc,EAAE3B,OAAO,EAAE0D,mBAAmB,CAAC;EAEpE,MAAMgB,wBAAwB,GAAGhG,OAAO,CACvC,MACC8C,8BAA8B,CAAC;IAC9Bf,UAAU;IACVgB,MAAM;IACNC,iBAAiB,EAAEoC,cAAc;IACjCnC,cAAc;IACdC;EACD,CAAC,CAAC,EACH,CAACnB,UAAU,EAAEgB,MAAM,EAAEqC,cAAc,EAAEnC,cAAc,EAAEC,cAAc,CACpE,CAAC;EAED,MAAM+C,uBAAuB,GAAG9F,cAAc,CAAC6F,wBAAwB,CAAC;EACxE,MAAME,2BAA2B,GAChC/F,cAAc,CAA8B;IAC3CqE,KAAK,EAAE;EACR,CAAC,CAAC;EAEH,MAAM2B,kBAAkB,GAAGhG,cAAc,CAAC;IAAEiG,KAAK,EAAE;EAAE,CAAC,CAAC;EACvD,MAAMC,+BAA+B,GAAGnG,eAAe,CACtD2F,0BAA0B,GACvB,MAAM;IACN,SAAS;;IACTI,uBAAuB,CAACK,MAAM,CAAE1C,KAAK,IAAK;MACzC,SAAS;;MACT,MAAMU,mBAAmB,GAAG4B,2BAA2B,CAACtB,GAAG,CAAC,CAAC;MAC7D,OAAOX,wBAAwB,CAAC;QAC/BL,KAAK;QACL7B,UAAU;QACVgB,MAAM;QACNmB,gBAAgB;QAChBC,aAAa;QACbC,aAAa;QACbC,kBAAkB;QAClBC;MACD,CAAC,CAAC;IACH,CAAC,EAAE,KAAK,CAAC;;IAET;IACA;IACA;IACA;IACA;IACA;IACA6B,kBAAkB,CAACG,MAAM,CAAEC,QAAQ,IAAK;MACvC,SAAS;;MACTA,QAAQ,CAACH,KAAK,IAAI,CAAC;MACnB,OAAOG,QAAQ;IAChB,CAAC,EAAE,KAAK,CAAC;IAET,OAAOJ,kBAAkB,CAACvB,GAAG,CAAC,CAAC,CAACwB,KAAK;EACtC,CAAC,GACA,MAAM;IACN,SAAS;;IACT,OAAOD,kBAAkB,CAACvB,GAAG,CAAC,CAAC,CAACwB,KAAK;EACtC,CACH,CAAC;EAED,MAAMI,gBAAgB,GAAGvD,cAAc,EAAE3B,OAAO,CAACmF,uBAAuB;EACxE,MAAMC,mBAAmB,GAAGtB,cAAc,EAAE9D,OAAO,CAACmF,uBAAuB;EAE3E,OAAO;IACNZ,0BAA0B;IAC1BI,uBAAuB;IACvBI,+BAA+B;IAC/BH,2BAA2B;IAC3BM,gBAAgB;IAChBE;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","useStack","useStackProgressEntries","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","readStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","logicallySettled","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","stackProgressEntries","currentRouteKey","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","useScreenAnimationPipeline","transitionsAlwaysOn","stack","flags","TRANSITIONS_ALWAYS_ON","currDescriptor","store","key","nextRouteKey","initialInterpolatorProps","screenInterpolatorProps","selectedInterpolatorOptions","propsRevisionState","value","screenInterpolatorPropsRevision","modify","get","revision","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,11 @@
1
1
  "use strict";
2
2
 
3
- export const readScreenAnimationRevisions = (screenInterpolatorPropsRevision, ancestorScreenAnimationSources, descendantScreenAnimationSources, screenInterpolatorExternalDeps) => {
3
+ export const readScreenAnimationRevisions = (sources, externalRevisions = []) => {
4
4
  "worklet";
5
5
 
6
- screenInterpolatorPropsRevision.get();
7
- for (let index = 0; index < ancestorScreenAnimationSources.length; index++) {
8
- ancestorScreenAnimationSources[index]?.screenInterpolatorPropsRevision.get();
9
- }
10
- const descendantSources = descendantScreenAnimationSources.get();
11
- for (let index = 0; index < descendantSources.length; index++) {
12
- descendantSources[index]?.source.screenInterpolatorPropsRevision.get();
13
- }
14
- if (screenInterpolatorExternalDeps) {
15
- for (let index = 0; index < screenInterpolatorExternalDeps.length; index++) {
16
- screenInterpolatorExternalDeps[index]?.get();
17
- }
6
+ for (const source of sources) {
7
+ source.screenInterpolatorPropsRevision.get();
18
8
  }
9
+ for (const revision of externalRevisions) revision.get();
19
10
  };
20
11
  //# sourceMappingURL=read-screen-animation-revisions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["readScreenAnimationRevisions","screenInterpolatorPropsRevision","ancestorScreenAnimationSources","descendantScreenAnimationSources","screenInterpolatorExternalDeps","get","index","length","descendantSources","source"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts"],"mappings":";;AASA,OAAO,MAAMA,4BAA4B,GAAGA,CAC3CC,+BAAgE,EAChEC,8BAAuD,EACvDC,gCAAkE,EAClEC,8BAA+D,KAC3D;EACJ,SAAS;;EACTH,+BAA+B,CAACI,GAAG,CAAC,CAAC;EAErC,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGJ,8BAA8B,CAACK,MAAM,EAAED,KAAK,EAAE,EAAE;IAC3EJ,8BAA8B,CAC7BI,KAAK,CACL,EAAEL,+BAA+B,CAACI,GAAG,CAAC,CAAC;EACzC;EAEA,MAAMG,iBAAiB,GAAGL,gCAAgC,CAACE,GAAG,CAAC,CAAC;EAChE,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGE,iBAAiB,CAACD,MAAM,EAAED,KAAK,EAAE,EAAE;IAC9DE,iBAAiB,CAACF,KAAK,CAAC,EAAEG,MAAM,CAACR,+BAA+B,CAACI,GAAG,CAAC,CAAC;EACvE;EAEA,IAAID,8BAA8B,EAAE;IACnC,KACC,IAAIE,KAAK,GAAG,CAAC,EACbA,KAAK,GAAGF,8BAA8B,CAACG,MAAM,EAC7CD,KAAK,EAAE,EACN;MACDF,8BAA8B,CAACE,KAAK,CAAC,EAAED,GAAG,CAAC,CAAC;IAC7C;EACD;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["readScreenAnimationRevisions","sources","externalRevisions","source","screenInterpolatorPropsRevision","get","revision"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts"],"mappings":";;AAKA,OAAO,MAAMA,4BAA4B,GAAGA,CAC3CC,OAAmD,EACnDC,iBAAiD,GAAG,EAAE,KAClD;EACJ,SAAS;;EACT,KAAK,MAAMC,MAAM,IAAIF,OAAO,EAAE;IAC7BE,MAAM,CAACC,+BAA+B,CAACC,GAAG,CAAC,CAAC;EAC7C;EACA,KAAK,MAAMC,QAAQ,IAAIJ,iBAAiB,EAAEI,QAAQ,CAACD,GAAG,CAAC,CAAC;AACzD,CAAC","ignoreList":[]}
@@ -1,30 +1,15 @@
1
1
  "use strict";
2
2
 
3
- export const syncStackProgressValues = (visualProgressValues, stackProgressValues) => {
3
+ export const readStackProgress = (entries, routeKey, fallbackProgress) => {
4
4
  "worklet";
5
5
 
6
- let total = 0;
7
- for (let i = visualProgressValues.length - 1; i >= 0; i--) {
8
- total += visualProgressValues[i]?.get() ?? 0;
9
- const stackProgress = stackProgressValues[i];
10
- if (stackProgress && stackProgress.get() !== total) {
11
- stackProgress.set(total);
12
- }
13
- }
14
- };
15
- export const resolveStackProgress = (stackProgress, fallbackProgress, currentProgress, previousCurrentProgress, nextProgress, previousNextProgress) => {
16
- "worklet";
17
-
18
- if (!stackProgress) {
19
- return fallbackProgress;
20
- }
21
- let total = stackProgress.get();
22
- if (previousCurrentProgress !== undefined) {
23
- total += currentProgress - previousCurrentProgress;
24
- }
25
- if (nextProgress !== undefined && previousNextProgress !== undefined) {
26
- total += nextProgress - previousNextProgress;
27
- }
28
- return total;
6
+ let progress = 0;
7
+ for (let index = entries.length - 1; index >= 0; index--) {
8
+ const entry = entries[index];
9
+ if (!entry) continue;
10
+ progress += entry.visualProgress.get();
11
+ if (entry.routeKey === routeKey) return progress;
12
+ }
13
+ return fallbackProgress;
29
14
  };
30
15
  //# sourceMappingURL=stack-progress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["syncStackProgressValues","visualProgressValues","stackProgressValues","total","i","length","get","stackProgress","set","resolveStackProgress","fallbackProgress","currentProgress","previousCurrentProgress","nextProgress","previousNextProgress","undefined"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/stack-progress.ts"],"mappings":";;AAEA,OAAO,MAAMA,uBAAuB,GAAGA,CACtCC,oBAA2C,EAC3CC,mBAA0C,KACtC;EACJ,SAAS;;EACT,IAAIC,KAAK,GAAG,CAAC;EAEb,KAAK,IAAIC,CAAC,GAAGH,oBAAoB,CAACI,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1DD,KAAK,IAAIF,oBAAoB,CAACG,CAAC,CAAC,EAAEE,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5C,MAAMC,aAAa,GAAGL,mBAAmB,CAACE,CAAC,CAAC;IAE5C,IAAIG,aAAa,IAAIA,aAAa,CAACD,GAAG,CAAC,CAAC,KAAKH,KAAK,EAAE;MACnDI,aAAa,CAACC,GAAG,CAACL,KAAK,CAAC;IACzB;EACD;AACD,CAAC;AAED,OAAO,MAAMM,oBAAoB,GAAGA,CACnCF,aAA8C,EAC9CG,gBAAwB,EACxBC,eAAuB,EACvBC,uBAA2C,EAC3CC,YAAgC,EAChCC,oBAAwC,KACpC;EACJ,SAAS;;EACT,IAAI,CAACP,aAAa,EAAE;IACnB,OAAOG,gBAAgB;EACxB;EAEA,IAAIP,KAAK,GAAGI,aAAa,CAACD,GAAG,CAAC,CAAC;EAE/B,IAAIM,uBAAuB,KAAKG,SAAS,EAAE;IAC1CZ,KAAK,IAAIQ,eAAe,GAAGC,uBAAuB;EACnD;EAEA,IAAIC,YAAY,KAAKE,SAAS,IAAID,oBAAoB,KAAKC,SAAS,EAAE;IACrEZ,KAAK,IAAIU,YAAY,GAAGC,oBAAoB;EAC7C;EAEA,OAAOX,KAAK;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["readStackProgress","entries","routeKey","fallbackProgress","progress","index","length","entry","visualProgress","get"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/stack-progress.ts"],"mappings":";;AAOA,OAAO,MAAMA,iBAAiB,GAAGA,CAChCC,OAAsC,EACtCC,QAAgB,EAChBC,gBAAwB,KACpB;EACJ,SAAS;;EACT,IAAIC,QAAQ,GAAG,CAAC;EAEhB,KAAK,IAAIC,KAAK,GAAGJ,OAAO,CAACK,MAAM,GAAG,CAAC,EAAED,KAAK,IAAI,CAAC,EAAEA,KAAK,EAAE,EAAE;IACzD,MAAME,KAAK,GAAGN,OAAO,CAACI,KAAK,CAAC;IAC5B,IAAI,CAACE,KAAK,EAAE;IAEZH,QAAQ,IAAIG,KAAK,CAACC,cAAc,CAACC,GAAG,CAAC,CAAC;IACtC,IAAIF,KAAK,CAACL,QAAQ,KAAKA,QAAQ,EAAE,OAAOE,QAAQ;EACjD;EAEA,OAAOD,gBAAgB;AACxB,CAAC","ignoreList":[]}
@@ -22,7 +22,6 @@ export const useBuildTransitionState = descriptor => {
22
22
  return {
23
23
  transitionProgress: AnimationStore.getValue(key, "transitionProgress"),
24
24
  visualProgress: AnimationStore.getValue(key, "visualProgress"),
25
- stackProgress: AnimationStore.getValue(key, "stackProgress"),
26
25
  willAnimate: AnimationStore.getValue(key, "willAnimate"),
27
26
  closing: AnimationStore.getValue(key, "closing"),
28
27
  entering: AnimationStore.getValue(key, "entering"),
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","createScreenTransitionState","AnimationStore","GestureStore","ScrollStore","SystemStore","buildScreenTransitionOptions","toPlainRoute","toPlainValue","useBuildTransitionState","descriptor","key","route","meta","options","snapPoints","undefined","plainRoute","plainMeta","sortedNumericSnapPoints","filter","p","sort","a","b","transitionOptions","transitionProgress","getValue","visualProgress","stackProgress","willAnimate","closing","entering","progressAnimating","progressSettled","targetProgress","resolvedAutoSnapPoint","measuredContentLayout","scrollMetadata","contentLayoutSlot","width","height","hasAutoSnapPoint","includes","gesture","getBag","optionsSlot","unwrapped"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/use-build-transition-state.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","createScreenTransitionState","AnimationStore","GestureStore","ScrollStore","SystemStore","buildScreenTransitionOptions","toPlainRoute","toPlainValue","useBuildTransitionState","descriptor","key","route","meta","options","snapPoints","undefined","plainRoute","plainMeta","sortedNumericSnapPoints","filter","p","sort","a","b","transitionOptions","transitionProgress","getValue","visualProgress","willAnimate","closing","entering","progressAnimating","progressSettled","targetProgress","resolvedAutoSnapPoint","measuredContentLayout","scrollMetadata","contentLayoutSlot","width","height","hasAutoSnapPoint","includes","gesture","getBag","optionsSlot","unwrapped"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/use-build-transition-state.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- export { ScreenAnimationProvider, useScreenAnimationStore } from "./animation.provider";
3
+ export { ScreenAnimationProvider, useOptionalScreenAnimationStore, useScreenAnimationStore } from "./animation.provider";
4
4
  export { useScreenAnimation } from "./use-screen-animation";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ScreenAnimationProvider","useScreenAnimationStore","useScreenAnimation"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/index.tsx"],"mappings":";;AAAA,SACCA,uBAAuB,EACvBC,uBAAuB,QACjB,sBAAsB;AAC7B,SAECC,kBAAkB,QACZ,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["ScreenAnimationProvider","useOptionalScreenAnimationStore","useScreenAnimationStore","useScreenAnimation"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/index.tsx"],"mappings":";;AAAA,SACCA,uBAAuB,EACvBC,+BAA+B,EAC/BC,uBAAuB,QACjB,sBAAsB;AAC7B,SAECC,kBAAkB,QACZ,wBAAwB","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { useRoute } from "@react-navigation/native";
4
4
  import { useDerivedValue } from "react-native-reanimated";
5
- import { useScreenAnimationStore } from "./animation.provider";
5
+ import { useOptionalScreenAnimationStore } from "./animation.provider";
6
6
  import { useBuildTransitionAccessor } from "./helpers/accessors/use-build-transition-accessor";
7
7
  import { readScreenAnimationRevisions } from "./helpers/read-screen-animation-revisions";
8
8
 
@@ -12,21 +12,22 @@ import { readScreenAnimationRevisions } from "./helpers/read-screen-animation-re
12
12
 
13
13
  export function useScreenAnimation(target) {
14
14
  const route = useRoute();
15
- const screenAnimationStore = useScreenAnimationStore(route.key);
15
+ const localAnimationStore = useOptionalScreenAnimationStore();
16
+ const keyedAnimationStore = useOptionalScreenAnimationStore(localAnimationStore ? null : route.key);
17
+ const screenAnimationStore = localAnimationStore ?? keyedAnimationStore;
16
18
  if (!screenAnimationStore) {
17
- throw new Error(`ScreenAnimation store for route "${route.key}" was not found`);
19
+ throw new Error(`ScreenAnimationStore is unavailable for route "${route.key}"`);
18
20
  }
19
21
  const {
20
- screenInterpolatorPropsRevision,
21
- ancestorScreenAnimationSources,
22
- descendantScreenAnimationSources
22
+ transitionSources,
23
+ transitionOriginIndex
23
24
  } = screenAnimationStore;
24
25
  const transition = useBuildTransitionAccessor(screenAnimationStore);
25
- const transitionTarget = normalizeScreenAnimationTarget(target, ancestorScreenAnimationSources.length);
26
+ const transitionTarget = normalizeScreenAnimationTarget(target, transitionOriginIndex);
26
27
  const animation = useDerivedValue(() => {
27
28
  "worklet";
28
29
 
29
- readScreenAnimationRevisions(screenInterpolatorPropsRevision, ancestorScreenAnimationSources, descendantScreenAnimationSources);
30
+ readScreenAnimationRevisions(transitionSources);
30
31
  return transition(transitionTarget);
31
32
  });
32
33
  return animation;
@@ -1 +1 @@
1
- {"version":3,"names":["useRoute","useDerivedValue","useScreenAnimationStore","useBuildTransitionAccessor","readScreenAnimationRevisions","useScreenAnimation","target","route","screenAnimationStore","key","Error","screenInterpolatorPropsRevision","ancestorScreenAnimationSources","descendantScreenAnimationSources","transition","transitionTarget","normalizeScreenAnimationTarget","length","animation","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,SAA4BC,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,0BAA0B,QAAQ,mDAAmD;AAC9F,SAASC,4BAA4B,QAAQ,2CAA2C;;AAYxF;;AAOA;;AAIA,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,KAAK,GAAGP,QAAQ,CAAC,CAAC;EACxB,MAAMQ,oBAAoB,GAAGN,uBAAuB,CAACK,KAAK,CAACE,GAAG,CAAC;EAE/D,IAAI,CAACD,oBAAoB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACd,oCAAoCH,KAAK,CAACE,GAAG,iBAC9C,CAAC;EACF;EAEA,MAAM;IACLE,+BAA+B;IAC/BC,8BAA8B;IAC9BC;EACD,CAAC,GAAGL,oBAAoB;EACxB,MAAMM,UAAU,GAAGX,0BAA0B,CAACK,oBAAoB,CAAC;EACnE,MAAMO,gBAAgB,GAAGC,8BAA8B,CACtDV,MAAM,EACNM,8BAA8B,CAACK,MAChC,CAAC;EAED,MAAMC,SAAS,GAAGjB,eAAe,CAAkC,MAAM;IACxE,SAAS;;IACTG,4BAA4B,CAC3BO,+BAA+B,EAC/BC,8BAA8B,EAC9BC,gCACD,CAAC;IACD,OAAOC,UAAU,CAACC,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOG,SAAS;AACjB;AAEA,MAAMC,kBAAkB,GACvBb,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMU,8BAA8B,GAAGA,CACtCV,MAAyC,EACzCc,aAAqB,KACmB;EACxC,IAAId,MAAM,KAAKe,SAAS,IAAIF,kBAAkB,CAACb,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIhB,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEgB,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIhB,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAAClB,MAAM,CAACmB,QAAQ,CAAC,IAAInB,MAAM,CAACmB,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAAChB,MAAM,CAACmB;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRoute","useDerivedValue","useOptionalScreenAnimationStore","useBuildTransitionAccessor","readScreenAnimationRevisions","useScreenAnimation","target","route","localAnimationStore","keyedAnimationStore","key","screenAnimationStore","Error","transitionSources","transitionOriginIndex","transition","transitionTarget","normalizeScreenAnimationTarget","animation","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,SAA4BC,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,+BAA+B,QAAQ,sBAAsB;AACtE,SAASC,0BAA0B,QAAQ,mDAAmD;AAC9F,SAASC,4BAA4B,QAAQ,2CAA2C;;AAYxF;;AAOA;;AAIA,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,KAAK,GAAGP,QAAQ,CAAC,CAAC;EACxB,MAAMQ,mBAAmB,GAAGN,+BAA+B,CAAC,CAAC;EAC7D,MAAMO,mBAAmB,GAAGP,+BAA+B,CAC1DM,mBAAmB,GAAG,IAAI,GAAGD,KAAK,CAACG,GACpC,CAAC;EACD,MAAMC,oBAAoB,GAAGH,mBAAmB,IAAIC,mBAAmB;EAEvE,IAAI,CAACE,oBAAoB,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACd,kDAAkDL,KAAK,CAACG,GAAG,GAC5D,CAAC;EACF;EAEA,MAAM;IAAEG,iBAAiB;IAAEC;EAAsB,CAAC,GAAGH,oBAAoB;EACzE,MAAMI,UAAU,GAAGZ,0BAA0B,CAACQ,oBAAoB,CAAC;EACnE,MAAMK,gBAAgB,GAAGC,8BAA8B,CACtDX,MAAM,EACNQ,qBACD,CAAC;EAED,MAAMI,SAAS,GAAGjB,eAAe,CAAkC,MAAM;IACxE,SAAS;;IACTG,4BAA4B,CAACS,iBAAiB,CAAC;IAC/C,OAAOE,UAAU,CAACC,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOE,SAAS;AACjB;AAEA,MAAMC,kBAAkB,GACvBb,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMW,8BAA8B,GAAGA,CACtCX,MAAyC,EACzCc,aAAqB,KACmB;EACxC,IAAId,MAAM,KAAKe,SAAS,IAAIF,kBAAkB,CAACb,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIhB,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEgB,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIhB,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAAClB,MAAM,CAACmB,QAAQ,CAAC,IAAInB,MAAM,CAACmB,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAAChB,MAAM,CAACmB;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
@@ -3,12 +3,13 @@
3
3
  import { useLayoutEffect, useMemo } from "react";
4
4
  import { runOnUI } from "react-native-reanimated";
5
5
  import { useScreenTransitionsAdapterOptionalContext } from "../../../adapters/with-screen-transitions/context";
6
- import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
6
+ import { screenTopology } from "../../../factories/screen-topology";
7
+ import { useStack } from "../../../hooks/navigation/use-stack";
8
+ import { useOptionalBlankStackStore } from "../../../providers/stack/blank-stack.provider";
7
9
  import { registerScreen, unregisterScreen } from "../../../stores/bounds/internals/coordinator";
8
10
  import { SystemStore } from "../../../stores/system.store";
9
11
  import createProvider from "../../../utils/create-provider";
10
12
  import { deriveDescriptorDerivations } from "./helpers/derive-descriptor-derivations";
11
- import { deriveStructuralAncestorKeys } from "./helpers/derive-structural-ancestor-keys";
12
13
 
13
14
  /**
14
15
  * Base descriptor interface - minimal contract for all stack types.
@@ -16,32 +17,36 @@ import { deriveStructuralAncestorKeys } from "./helpers/derive-structural-ancest
16
17
  * tight coupling to React Navigation.
17
18
  */
18
19
 
19
- export const {
20
+ const createDescriptorsProvider = createProvider("Descriptors", {
21
+ global: true
22
+ });
23
+ const {
20
24
  DescriptorsProvider,
21
- useDescriptorsStore
22
- } = createProvider("Descriptors", {
23
- guarded: true
24
- })(({
25
+ useDescriptorsStore,
26
+ useOptionalDescriptorsStore
27
+ } = createDescriptorsProvider(({
25
28
  previous,
26
29
  current,
27
30
  next,
28
31
  routeKey,
29
32
  children
30
- }, {
31
- useParentStore
32
33
  }) => {
33
- const parentScreenKey = useParentStore(store => store?.derivations.currentScreenKey);
34
- const parentAncestorKeys = useParentStore(store => store?.derivations.ancestorKeys);
35
- const parentTransitionSourcePairKey = useParentStore(store => store?.derivations.transitionSourcePairKey);
36
- const parentTransitionDestinationScreenKey = useParentStore(store => store?.derivations.transitionDestinationScreenKey);
37
- const blankStackCurrent = useBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.descriptor : undefined);
38
- const blankStackPrevious = useBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.previousDescriptor : undefined);
39
- const blankStackNext = useBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.nextDescriptor : undefined);
34
+ const parentScreenKey = useOptionalDescriptorsStore(store => store?.derivations.currentScreenKey);
35
+ const parentTransitionSourcePairKey = useOptionalDescriptorsStore(store => store?.derivations.transitionSourcePairKey);
36
+ const parentTransitionDestinationScreenKey = useOptionalDescriptorsStore(store => store?.derivations.transitionDestinationScreenKey);
37
+ const blankStackCurrent = useOptionalBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.descriptor : undefined);
38
+ const blankStackPrevious = useOptionalBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.previousDescriptor : undefined);
39
+ const blankStackNext = useOptionalBlankStackStore(store => routeKey ? store?.scenesByKey[routeKey]?.nextDescriptor : undefined);
40
40
  const adapterContext = useScreenTransitionsAdapterOptionalContext();
41
41
  const adapterScene = routeKey ? adapterContext?.scenesByKey?.[routeKey] ?? adapterContext?.scenes[adapterContext.routeIndexByKey.get(routeKey) ?? -1] : undefined;
42
42
  const resolvedCurrent = current ?? blankStackCurrent ?? adapterScene?.descriptor;
43
43
  const resolvedPrevious = previous ?? blankStackPrevious ?? adapterScene?.previousDescriptor;
44
44
  const resolvedNext = next ?? blankStackNext ?? adapterScene?.nextDescriptor;
45
+ const currentScreenKey = current?.route.key ?? routeKey;
46
+ const isActiveScreen = useStack(store => {
47
+ const focusedScene = store.scenes[store.focusedIndex];
48
+ return focusedScene.route.key === currentScreenKey && focusedScene.activity === "active";
49
+ });
45
50
  if (!resolvedCurrent) {
46
51
  throw new Error(`Descriptors scene "${routeKey ?? "unknown"}" was not found.`);
47
52
  }
@@ -50,37 +55,47 @@ export const {
50
55
  current: resolvedCurrent,
51
56
  next: resolvedNext
52
57
  }), [resolvedPrevious, resolvedCurrent, resolvedNext]);
53
- const ancestorKeys = useMemo(() => deriveStructuralAncestorKeys(parentScreenKey ? {
54
- currentScreenKey: parentScreenKey,
55
- ancestorKeys: parentAncestorKeys ?? []
56
- } : null), [parentAncestorKeys, parentScreenKey]);
57
58
  const derivations = useMemo(() => {
58
59
  const localDerivations = deriveDescriptorDerivations({
59
60
  previous: resolvedPrevious,
60
61
  current: resolvedCurrent,
61
- next: resolvedNext,
62
- ancestorKeys
62
+ next: resolvedNext
63
63
  });
64
64
  return {
65
65
  ...localDerivations,
66
- transitionSourcePairKey: localDerivations.sourcePairKey ?? parentTransitionSourcePairKey,
67
- transitionDestinationScreenKey: localDerivations.nextScreenKey ?? parentTransitionDestinationScreenKey
66
+ transitionSourcePairKey: localDerivations.sourcePairKey ?? parentTransitionSourcePairKey ?? undefined,
67
+ transitionDestinationScreenKey: localDerivations.nextScreenKey ?? parentTransitionDestinationScreenKey ?? undefined
68
68
  };
69
- }, [resolvedPrevious, resolvedCurrent, resolvedNext, ancestorKeys, parentTransitionSourcePairKey, parentTransitionDestinationScreenKey]);
69
+ }, [resolvedPrevious, resolvedCurrent, resolvedNext, parentTransitionSourcePairKey, parentTransitionDestinationScreenKey]);
70
70
  const animationProgress = SystemStore.getValue(derivations.currentScreenKey, "animationProgress");
71
71
  const pendingLifecycleStartBlockCount = SystemStore.getValue(derivations.currentScreenKey, "pendingLifecycleStartBlockCount");
72
72
  useLayoutEffect(() => {
73
+ screenTopology.register({
74
+ screenKey: derivations.currentScreenKey,
75
+ parentScreenKey
76
+ });
73
77
  runOnUI(registerScreen)({
74
78
  screenKey: derivations.currentScreenKey,
75
- parentScreenKey: derivations.parentScreenKey,
79
+ parentScreenKey,
76
80
  animationProgress,
77
81
  pendingLifecycleStartBlockCount
78
82
  });
79
83
  return () => {
84
+ screenTopology.unregister(derivations.currentScreenKey);
80
85
  runOnUI(unregisterScreen)(derivations.currentScreenKey);
81
86
  };
82
- }, [animationProgress, derivations.currentScreenKey, derivations.parentScreenKey, pendingLifecycleStartBlockCount]);
87
+ }, [animationProgress, derivations.currentScreenKey, parentScreenKey, pendingLifecycleStartBlockCount]);
88
+ useLayoutEffect(() => {
89
+ if (!isActiveScreen || !parentScreenKey) {
90
+ return;
91
+ }
92
+ return screenTopology.activate({
93
+ screenKey: derivations.currentScreenKey,
94
+ parentScreenKey
95
+ });
96
+ }, [isActiveScreen, derivations.currentScreenKey, parentScreenKey]);
83
97
  return {
98
+ key: derivations.currentScreenKey,
84
99
  value: {
85
100
  previous: resolvedPrevious,
86
101
  current: resolvedCurrent,
@@ -92,4 +107,5 @@ export const {
92
107
  children
93
108
  };
94
109
  });
110
+ export { DescriptorsProvider, useDescriptorsStore };
95
111
  //# sourceMappingURL=descriptors.provider.js.map