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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  2. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  3. package/lib/commonjs/shared/components/activity/helpers.js +50 -1
  4. package/lib/commonjs/shared/components/activity/helpers.js.map +1 -1
  5. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +16 -67
  6. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
  7. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
  8. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +2 -1
  10. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +2 -4
  12. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +1 -6
  14. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -6
  16. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  17. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +9 -2
  18. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  19. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  20. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  21. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +11 -6
  22. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  23. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +5 -4
  24. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -3
  26. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  27. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -6
  28. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  29. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js +147 -0
  30. package/lib/commonjs/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  31. package/lib/commonjs/shared/factories/screen-topology/index.js +45 -0
  32. package/lib/commonjs/shared/factories/screen-topology/index.js.map +1 -0
  33. package/lib/commonjs/shared/factories/screen-topology/types.js +2 -0
  34. package/lib/commonjs/shared/factories/screen-topology/types.js.map +1 -0
  35. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js +15 -0
  36. package/lib/commonjs/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  37. package/lib/commonjs/shared/factories/screen-topology/worklet.js +55 -0
  38. package/lib/commonjs/shared/factories/screen-topology/worklet.js.map +1 -0
  39. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  40. package/lib/commonjs/shared/hooks/navigation/use-stack.js +16 -16
  41. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  42. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +26 -98
  43. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  44. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  45. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  46. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +14 -25
  47. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  48. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  49. package/lib/commonjs/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  50. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +10 -26
  51. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  52. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  53. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  54. package/lib/commonjs/shared/providers/screen/animation/index.js +6 -0
  55. package/lib/commonjs/shared/providers/screen/animation/index.js.map +1 -1
  56. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -7
  57. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  58. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +40 -25
  59. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  60. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
  61. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  62. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +24 -19
  63. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  64. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  65. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  66. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -3
  67. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  68. package/lib/commonjs/shared/providers/screen/gestures/index.js +8 -2
  69. package/lib/commonjs/shared/providers/screen/gestures/index.js.map +1 -1
  70. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +11 -18
  71. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  72. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  73. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  74. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  75. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -8
  77. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +5 -4
  79. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  81. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +4 -4
  83. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  84. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +4 -2
  85. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  86. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  87. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/styles/index.js +8 -2
  89. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  90. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +17 -19
  91. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  92. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js +14 -0
  93. package/lib/commonjs/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  94. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +13 -5
  95. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  96. package/lib/commonjs/shared/providers/stack/core.provider.js +1 -3
  97. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  98. package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -5
  99. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  100. package/lib/commonjs/shared/stores/animation.store.js +0 -2
  101. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  102. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js +23 -9
  103. package/lib/commonjs/shared/stores/bounds/internals/coordinator.js.map +1 -1
  104. package/lib/commonjs/shared/stores/bounds/internals/links.js +2 -2
  105. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  106. package/lib/commonjs/shared/stores/bounds/internals/state.js +1 -1
  107. package/lib/commonjs/shared/utils/create-provider.js +51 -100
  108. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  109. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -2
  110. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  111. package/lib/module/shared/components/activity/helpers.js +48 -0
  112. package/lib/module/shared/components/activity/helpers.js.map +1 -1
  113. package/lib/module/shared/components/activity/variants/activity-screen.js +17 -68
  114. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
  115. package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
  116. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  117. package/lib/module/shared/components/boundary/hooks/use-measurer.js +3 -2
  118. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  119. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +3 -5
  120. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  121. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -7
  122. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  123. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +5 -6
  124. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  125. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +7 -1
  126. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -1
  127. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +16 -4
  128. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  129. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +12 -7
  130. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  131. package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -6
  132. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  133. package/lib/module/shared/components/screen-container/layers/content.js +2 -3
  134. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  135. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +9 -7
  136. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  137. package/lib/module/shared/factories/screen-topology/create-screen-topology.js +142 -0
  138. package/lib/module/shared/factories/screen-topology/create-screen-topology.js.map +1 -0
  139. package/lib/module/shared/factories/screen-topology/index.js +6 -0
  140. package/lib/module/shared/factories/screen-topology/index.js.map +1 -0
  141. package/lib/module/shared/factories/screen-topology/types.js +2 -0
  142. package/lib/module/shared/factories/screen-topology/types.js.map +1 -0
  143. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js +10 -0
  144. package/lib/module/shared/factories/screen-topology/use-screen-relationships.js.map +1 -0
  145. package/lib/module/shared/factories/screen-topology/worklet.js +48 -0
  146. package/lib/module/shared/factories/screen-topology/worklet.js.map +1 -0
  147. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  148. package/lib/module/shared/hooks/navigation/use-stack.js +17 -18
  149. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  150. package/lib/module/shared/providers/screen/animation/animation.provider.js +25 -98
  151. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  152. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -52
  153. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  154. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +16 -27
  155. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  156. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js +4 -13
  157. package/lib/module/shared/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +1 -1
  158. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +9 -24
  159. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  160. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +0 -1
  161. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  162. package/lib/module/shared/providers/screen/animation/index.js +1 -1
  163. package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
  164. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +9 -8
  165. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  166. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +43 -27
  167. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  168. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js +1 -4
  169. package/lib/module/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.js.map +1 -1
  170. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +21 -17
  171. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  172. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -3
  173. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  174. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +3 -4
  175. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  176. package/lib/module/shared/providers/screen/gestures/index.js +1 -1
  177. package/lib/module/shared/providers/screen/gestures/index.js.map +1 -1
  178. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js +13 -20
  179. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -1
  180. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +5 -7
  181. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  182. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +4 -1
  183. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  184. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +4 -8
  185. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  186. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +7 -6
  187. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  188. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +1 -3
  189. package/lib/module/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +1 -1
  190. package/lib/module/shared/providers/screen/gestures/shared/policy.js +4 -4
  191. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  192. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +5 -3
  193. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  194. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -8
  195. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  196. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  197. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  198. package/lib/module/shared/providers/screen/styles/slot.provider.js +14 -16
  199. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  200. package/lib/module/shared/providers/screen/use-current-screen-relationships.js +9 -0
  201. package/lib/module/shared/providers/screen/use-current-screen-relationships.js.map +1 -0
  202. package/lib/module/shared/providers/stack/blank-stack.provider.js +12 -5
  203. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  204. package/lib/module/shared/providers/stack/core.provider.js +1 -3
  205. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  206. package/lib/module/shared/providers/stack/direct.provider.js +2 -5
  207. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  208. package/lib/module/shared/stores/animation.store.js +0 -2
  209. package/lib/module/shared/stores/animation.store.js.map +1 -1
  210. package/lib/module/shared/stores/bounds/internals/coordinator.js +18 -4
  211. package/lib/module/shared/stores/bounds/internals/coordinator.js.map +1 -1
  212. package/lib/module/shared/stores/bounds/internals/links.js +1 -1
  213. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  214. package/lib/module/shared/stores/bounds/internals/state.js +1 -1
  215. package/lib/module/shared/utils/create-provider.js +51 -100
  216. package/lib/module/shared/utils/create-provider.js.map +1 -1
  217. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +1 -1
  218. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  219. package/lib/typescript/shared/components/activity/helpers.d.ts +16 -0
  220. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -1
  221. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +2 -4
  222. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  223. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  224. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  225. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  226. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +2 -2
  227. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +3 -0
  228. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  229. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +6 -5
  230. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  231. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +1 -0
  232. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -1
  233. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  234. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +3 -2
  235. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  236. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  237. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  238. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -1
  239. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  240. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts +4 -0
  241. package/lib/typescript/shared/factories/screen-topology/create-screen-topology.d.ts.map +1 -0
  242. package/lib/typescript/shared/factories/screen-topology/index.d.ts +5 -0
  243. package/lib/typescript/shared/factories/screen-topology/index.d.ts.map +1 -0
  244. package/lib/typescript/shared/factories/screen-topology/types.d.ts +20 -0
  245. package/lib/typescript/shared/factories/screen-topology/types.d.ts.map +1 -0
  246. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts +5 -0
  247. package/lib/typescript/shared/factories/screen-topology/use-screen-relationships.d.ts.map +1 -0
  248. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts +5 -0
  249. package/lib/typescript/shared/factories/screen-topology/worklet.d.ts.map +1 -0
  250. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  251. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +2 -0
  252. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  253. package/lib/typescript/shared/index.d.ts +703 -651
  254. package/lib/typescript/shared/index.d.ts.map +1 -1
  255. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +14 -12
  256. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  257. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +4 -4
  258. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  259. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +0 -1
  260. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  261. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts +1 -2
  262. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  263. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +2 -2
  264. package/lib/typescript/shared/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +1 -1
  265. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +5 -2
  266. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
  267. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +0 -1
  268. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  269. package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
  270. package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
  271. package/lib/typescript/shared/providers/screen/animation/types.d.ts +1 -13
  272. package/lib/typescript/shared/providers/screen/animation/types.d.ts.map +1 -1
  273. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +5 -2
  274. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  275. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts +1 -4
  276. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.d.ts.map +1 -1
  277. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +16 -4
  278. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  279. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  280. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  281. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
  282. package/lib/typescript/shared/providers/screen/gestures/index.d.ts +1 -1
  283. package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -1
  284. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -1
  285. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts +2 -3
  286. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  287. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  288. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +5 -3
  289. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
  290. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  291. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +2 -2
  292. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +1 -1
  293. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +3 -3
  294. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  295. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +4 -2
  296. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  297. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +4 -4
  298. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  299. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  300. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
  301. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  302. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  303. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +9 -4
  304. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  305. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts +5 -0
  306. package/lib/typescript/shared/providers/screen/use-current-screen-relationships.d.ts.map +1 -0
  307. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +4 -1
  308. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  310. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  311. package/lib/typescript/shared/stores/animation.store.d.ts +0 -1
  312. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  313. package/lib/typescript/shared/stores/bounds/internals/coordinator.d.ts.map +1 -1
  314. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  315. package/lib/typescript/shared/stores/bounds/internals/state.d.ts +1 -1
  316. package/lib/typescript/shared/stores/bounds/internals/state.d.ts.map +1 -1
  317. package/lib/typescript/shared/stores/bounds/types.d.ts +0 -1
  318. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  319. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +1 -0
  320. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  321. package/lib/typescript/shared/types/screen.types.d.ts +0 -9
  322. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  323. package/lib/typescript/shared/utils/create-provider.d.ts +24 -24
  324. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  325. package/package.json +1 -1
  326. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -2
  327. package/src/shared/components/activity/helpers.ts +59 -0
  328. package/src/shared/components/activity/variants/activity-screen.tsx +28 -93
  329. package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
  330. package/src/shared/components/boundary/hooks/use-measurer.ts +3 -2
  331. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +6 -3
  332. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
  333. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +10 -6
  334. package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +14 -1
  335. package/src/shared/components/overlay/helpers/get-active-overlay.ts +29 -4
  336. package/src/shared/components/overlay/hooks/use-overlay-slot.ts +26 -8
  337. package/src/shared/components/overlay/variations/overlay-host.tsx +11 -6
  338. package/src/shared/components/screen-container/layers/content.tsx +3 -4
  339. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +8 -12
  340. package/src/shared/factories/screen-topology/create-screen-topology.ts +199 -0
  341. package/src/shared/factories/screen-topology/index.ts +16 -0
  342. package/src/shared/factories/screen-topology/types.ts +22 -0
  343. package/src/shared/factories/screen-topology/use-screen-relationships.ts +15 -0
  344. package/src/shared/factories/screen-topology/worklet.ts +60 -0
  345. package/src/shared/hooks/navigation/use-screen-state.ts +2 -7
  346. package/src/shared/hooks/navigation/use-stack.tsx +28 -31
  347. package/src/shared/providers/screen/animation/animation.provider.tsx +73 -212
  348. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +10 -81
  349. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +0 -1
  350. package/src/shared/providers/screen/animation/helpers/pipeline.ts +45 -70
  351. package/src/shared/providers/screen/animation/helpers/read-screen-animation-revisions.ts +6 -30
  352. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +13 -32
  353. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +0 -2
  354. package/src/shared/providers/screen/animation/index.tsx +1 -0
  355. package/src/shared/providers/screen/animation/types.ts +1 -23
  356. package/src/shared/providers/screen/animation/use-screen-animation.tsx +10 -14
  357. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +56 -35
  358. package/src/shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts +0 -6
  359. package/src/shared/providers/screen/gestures/gestures.provider.tsx +96 -85
  360. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +4 -4
  361. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +3 -4
  362. package/src/shared/providers/screen/gestures/index.tsx +2 -1
  363. package/src/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +16 -29
  364. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +5 -8
  365. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +2 -3
  366. package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +6 -9
  367. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +11 -7
  368. package/src/shared/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +12 -12
  369. package/src/shared/providers/screen/gestures/shared/policy.ts +7 -7
  370. package/src/shared/providers/screen/gestures/types.ts +5 -2
  371. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +10 -3
  372. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +7 -17
  373. package/src/shared/providers/screen/styles/index.tsx +2 -1
  374. package/src/shared/providers/screen/styles/slot.provider.tsx +25 -24
  375. package/src/shared/providers/screen/use-current-screen-relationships.ts +10 -0
  376. package/src/shared/providers/stack/blank-stack.provider.tsx +19 -6
  377. package/src/shared/providers/stack/core.provider.tsx +0 -1
  378. package/src/shared/providers/stack/direct.provider.tsx +2 -4
  379. package/src/shared/stores/animation.store.ts +0 -3
  380. package/src/shared/stores/bounds/internals/coordinator.ts +20 -8
  381. package/src/shared/stores/bounds/internals/links.ts +1 -1
  382. package/src/shared/stores/bounds/internals/state.ts +1 -1
  383. package/src/shared/stores/bounds/types.ts +0 -1
  384. package/src/shared/types/providers/blank-stack-provider.types.ts +1 -0
  385. package/src/shared/types/screen.types.ts +0 -10
  386. package/src/shared/utils/create-provider.tsx +135 -200
  387. package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -9
  388. package/lib/commonjs/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
  389. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -12
  390. package/lib/commonjs/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js.map +0 -1
  391. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js +0 -23
  392. package/lib/commonjs/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  393. package/lib/commonjs/shared/stores/bounds/internals/screen-graph.js +0 -45
  394. package/lib/commonjs/shared/stores/bounds/internals/screen-graph.js.map +0 -1
  395. package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js +0 -4
  396. package/lib/module/shared/providers/screen/animation/helpers/interpolator-participation.js.map +0 -1
  397. package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js +0 -7
  398. package/lib/module/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.js.map +0 -1
  399. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js +0 -19
  400. package/lib/module/shared/providers/screen/gestures/shared/ancestors.js.map +0 -1
  401. package/lib/module/shared/stores/bounds/internals/screen-graph.js +0 -39
  402. package/lib/module/shared/stores/bounds/internals/screen-graph.js.map +0 -1
  403. package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts +0 -3
  404. package/lib/typescript/shared/providers/screen/animation/helpers/interpolator-participation.d.ts.map +0 -1
  405. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.d.ts +0 -5
  406. package/lib/typescript/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.d.ts.map +0 -1
  407. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts +0 -11
  408. package/lib/typescript/shared/providers/screen/gestures/shared/ancestors.d.ts.map +0 -1
  409. package/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts +0 -5
  410. package/lib/typescript/shared/stores/bounds/internals/screen-graph.d.ts.map +0 -1
  411. package/src/shared/providers/screen/animation/helpers/interpolator-participation.ts +0 -6
  412. package/src/shared/providers/screen/descriptors/helpers/derive-structural-ancestor-keys.ts +0 -13
  413. package/src/shared/providers/screen/gestures/shared/ancestors.ts +0 -27
  414. package/src/shared/stores/bounds/internals/screen-graph.ts +0 -45
@@ -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":";;AAYA,MAAMA,mBAAwC,GAAG;EAChDC,eAAe,EAAE,IAAI;EACrBC,oBAAoB,EAAE;AACvB,CAAC;AAED,MAAMC,qBAAqB,GAAGA,CAC7BC,IAAyB,EACzBC,KAA0B,KAE1BD,IAAI,CAACH,eAAe,KAAKI,KAAK,CAACJ,eAAe,IAC9CG,IAAI,CAACF,oBAAoB,KAAKG,KAAK,CAACH,oBAAoB;AAEzD,OAAO,MAAMI,oBAAoB,GAAGA,CAAA,KAAsB;EACzD,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAAqB,CAAC;EAC3C,MAAMC,oBAAoB,GAAG,IAAID,GAAG,CAA0B,CAAC;EAC/D,MAAME,iBAAiB,GAAG,IAAIF,GAAG,CAA8B,CAAC;EAEhE,MAAMG,OAAO,GAAIC,SAAiB,IAAKL,KAAK,CAACM,GAAG,CAACD,SAAS,CAAC;EAC3D,MAAME,UAAU,GAAIF,SAAiB,IAAK;IACzC,MAAMG,QAAQ,GAAGJ,OAAO,CAACC,SAAS,CAAC;IACnC,IAAIG,QAAQ,EAAE,OAAOA,QAAQ;IAE7B,MAAMC,IAAgB,GAAG;MACxBf,eAAe,EAAE,IAAI;MACrBgB,qBAAqB,EAAE;IACxB,CAAC;IACDV,KAAK,CAACW,GAAG,CAACN,SAAS,EAAEI,IAAI,CAAC;IAC1B,OAAOA,IAAI;EACZ,CAAC;EAED,MAAMG,iBAAiB,GAAIP,SAAiB,IAAK;IAChD,MAAMI,IAAI,GAAGL,OAAO,CAACC,SAAS,CAAC;IAC/B,IACCI,IAAI,IACJ,CAACA,IAAI,CAACf,eAAe,IACrBe,IAAI,CAACC,qBAAqB,CAACG,MAAM,KAAK,CAAC,EACtC;MACDb,KAAK,CAACc,MAAM,CAACT,SAAS,CAAC;IACxB;EACD,CAAC;EAED,MAAMU,SAAS,GAAIV,SAAiB,IACnCD,OAAO,CAACC,SAAS,CAAC,EAAEX,eAAe,IAAI,IAAI;EAE5C,MAAMsB,cAAc,GAAIX,SAAiB,IAAK;IAC7C,MAAMK,qBAAqB,GAAGN,OAAO,CAACC,SAAS,CAAC,EAAEK,qBAAqB;IACvE,OAAOA,qBAAqB,GAAGA,qBAAqB,CAACG,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;EACzE,CAAC;EAED,MAAMI,wBAAwB,GAAIZ,SAAiB,IAA0B;IAC5E,MAAMX,eAAe,GAAGqB,SAAS,CAACV,SAAS,CAAC;IAC5C,MAAMV,oBAAoB,GAAGqB,cAAc,CAACX,SAAS,CAAC;IAEtD,IAAI,CAACX,eAAe,IAAI,CAACC,oBAAoB,EAAE;MAC9C,OAAOF,mBAAmB;IAC3B;IAEA,OAAO;MAAEC,eAAe;MAAEC;IAAqB,CAAC;EACjD,CAAC;EAED,MAAMuB,gBAAgB,GAAIb,SAAiB,IAAK;IAC/C,MAAMc,MAAM,GAAGhB,iBAAiB,CAACG,GAAG,CAACD,SAAS,CAAC;IAC/C,IAAIc,MAAM,EAAE,OAAOA,MAAM;IAEzB,MAAMC,aAAa,GAAGH,wBAAwB,CAACZ,SAAS,CAAC;IACzDF,iBAAiB,CAACQ,GAAG,CAACN,SAAS,EAAEe,aAAa,CAAC;IAC/C,OAAOA,aAAa;EACrB,CAAC;EAED,MAAMC,MAAM,GAAGA,CAACC,kBAA+B,EAAEC,QAAoB,KAAK;IACzE,MAAMC,qBAAqB,GAAG,IAAIvB,GAAG,CAA8B,CAAC;IACpE,KAAK,MAAMI,SAAS,IAAIiB,kBAAkB,EAAE;MAC3C,IAAIpB,oBAAoB,CAACuB,GAAG,CAACpB,SAAS,CAAC,EAAE;QACxCmB,qBAAqB,CAACb,GAAG,CAACN,SAAS,EAAEa,gBAAgB,CAACb,SAAS,CAAC,CAAC;MAClE;IACD;IAEAkB,QAAQ,CAAC,CAAC;IACV,KAAK,MAAMlB,SAAS,IAAIiB,kBAAkB,EAAE;MAC3CnB,iBAAiB,CAACW,MAAM,CAACT,SAAS,CAAC;IACpC;IAEA,KAAK,MAAM,CAACA,SAAS,EAAEqB,QAAQ,CAAC,IAAIF,qBAAqB,EAAE;MAC1D,MAAMG,SAAS,GAAGzB,oBAAoB,CAACI,GAAG,CAACD,SAAS,CAAC;MACrD,IAAI,CAACsB,SAAS,EAAE;MAEhB,MAAMC,IAAI,GAAGV,gBAAgB,CAACb,SAAS,CAAC;MACxC,IAAIT,qBAAqB,CAAC8B,QAAQ,EAAEE,IAAI,CAAC,EAAE;QAC1CzB,iBAAiB,CAACQ,GAAG,CAACN,SAAS,EAAEqB,QAAQ,CAAC;QAC1C;MACD;MAEA,KAAK,MAAMG,QAAQ,IAAIF,SAAS,EAAEE,QAAQ,CAAC,CAAC;IAC7C;EACD,CAAC;EAED,MAAMC,QAAQ,GAAGA,CAAC;IACjBzB,SAAS;IACTX;EAC2B,CAAC,KAAK;IACjC2B,MAAM,CAAC,IAAIU,GAAG,CAAC,CAAC1B,SAAS,CAAC,CAAC,EAAE,MAAM;MAClCE,UAAU,CAACF,SAAS,CAAC,CAACX,eAAe,GAAGA,eAAe,IAAI,IAAI;IAChE,CAAC,CAAC;EACH,CAAC;EAED,MAAMsC,UAAU,GAAI3B,SAAiB,IAAK;IACzC,MAAMI,IAAI,GAAGL,OAAO,CAACC,SAAS,CAAC;IAC/B,IAAI,CAACI,IAAI,EAAE;IAEX,MAAMa,kBAAkB,GAAG,IAAIS,GAAG,CAAC,CAAC1B,SAAS,CAAC,CAAC;IAC/C,IAAII,IAAI,CAACf,eAAe,EAAE;MACzB4B,kBAAkB,CAACW,GAAG,CAACxB,IAAI,CAACf,eAAe,CAAC;IAC7C;IAEA2B,MAAM,CAACC,kBAAkB,EAAE,MAAM;MAChC,IAAIb,IAAI,CAACf,eAAe,EAAE;QACzB,MAAMwC,MAAM,GAAG9B,OAAO,CAACK,IAAI,CAACf,eAAe,CAAC;QAC5C,IAAIwC,MAAM,EAAE;UACXA,MAAM,CAACxB,qBAAqB,GAAGwB,MAAM,CAACxB,qBAAqB,CAACyB,MAAM,CAChEC,eAAe,IAAKA,eAAe,KAAK/B,SAC1C,CAAC;QACF;QACAO,iBAAiB,CAACH,IAAI,CAACf,eAAe,CAAC;MACxC;MAEAM,KAAK,CAACc,MAAM,CAACT,SAAS,CAAC;IACxB,CAAC,CAAC;EACH,CAAC;EAED,MAAMgC,QAAQ,GAAIC,YAAsC,IAAK;IAC5D,IAAIvB,SAAS,CAACuB,YAAY,CAACjC,SAAS,CAAC,KAAKiC,YAAY,CAAC5C,eAAe,EAAE;MACvE,MAAM,IAAI6C,KAAK,CACd,+DACD,CAAC;IACF;IAEA,MAAMjB,kBAAkB,GAAG,IAAIS,GAAG,CAAC,CAACO,YAAY,CAAC5C,eAAe,CAAC,CAAC;IAClE2B,MAAM,CAACC,kBAAkB,EAAE,MAAM;MAChC,MAAMY,MAAM,GAAG3B,UAAU,CAAC+B,YAAY,CAAC5C,eAAe,CAAC;MACvDwC,MAAM,CAACxB,qBAAqB,GAAG,CAC9B,GAAGwB,MAAM,CAACxB,qBAAqB,CAACyB,MAAM,CACpC9B,SAAS,IAAKA,SAAS,KAAKiC,YAAY,CAACjC,SAC3C,CAAC,EACDiC,YAAY,CAACjC,SAAS,CACtB;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACZ,MAAM6B,MAAM,GAAG9B,OAAO,CAACkC,YAAY,CAAC5C,eAAe,CAAC;MACpD,IAAI,CAACwC,MAAM,EAAExB,qBAAqB,CAAC8B,QAAQ,CAACF,YAAY,CAACjC,SAAS,CAAC,EAAE;QACpE;MACD;MAEAgB,MAAM,CAACC,kBAAkB,EAAE,MAAM;QAChCY,MAAM,CAACxB,qBAAqB,GAAGwB,MAAM,CAACxB,qBAAqB,CAACyB,MAAM,CAChE9B,SAAS,IAAKA,SAAS,KAAKiC,YAAY,CAACjC,SAC3C,CAAC;QACDO,iBAAiB,CAAC0B,YAAY,CAAC5C,eAAe,CAAC;MAChD,CAAC,CAAC;IACH,CAAC;EACF,CAAC;EAED,OAAO;IACNoC,QAAQ;IACRE,UAAU;IACVK,QAAQ;IACRnB,gBAAgB;IAChBuB,SAAS,EAAEA,CAACpC,SAAS,EAAEwB,QAAQ,KAAK;MACnC,MAAMF,SAAS,GACdzB,oBAAoB,CAACI,GAAG,CAACD,SAAS,CAAC,IAAI,IAAI0B,GAAG,CAAa,CAAC;MAC7DJ,SAAS,CAACM,GAAG,CAACJ,QAAQ,CAAC;MACvB3B,oBAAoB,CAACS,GAAG,CAACN,SAAS,EAAEsB,SAAS,CAAC;MAE9C,OAAO,MAAM;QACZA,SAAS,CAACb,MAAM,CAACe,QAAQ,CAAC;QAC1B,IAAIF,SAAS,CAACe,IAAI,KAAK,CAAC,EAAE;UACzBxC,oBAAoB,CAACY,MAAM,CAACT,SAAS,CAAC;UACtC,IAAI,CAACD,OAAO,CAACC,SAAS,CAAC,EAAE;YACxBF,iBAAiB,CAACW,MAAM,CAACT,SAAS,CAAC;UACpC;QACD;MACD,CAAC;IACF;EACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMsC,cAAc,GAAG5C,oBAAoB,CAAC,CAAC","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":[]}
@@ -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":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAK/B,SAASC,oBAAoB,QAAQ,6BAA6B;AAoBlE,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,EACfC,iBAAoD,KAChD;EACJ,SAAS;;EAET,MAAMC,UAAU,GAAGA,CAAA,KAA2C;IAC7D,SAAS;;IACT,IAAI,CAACD,iBAAiB,EAAE;MACvB,OAAOF,OAAO;IACf;IAEA,MAAMI,WAAW,GAAGF,iBAAiB,CAACG,GAAG,CAAC,CAAC;IAC3C,IAAID,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;MAC7B,OAAON,OAAO;IACf;IAEA,MAAMO,cAAc,GAAGP,OAAO,CAACQ,KAAK,CAAC,CAAC;IACtC,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGL,WAAW,CAACE,MAAM,EAAEG,KAAK,EAAE,EAAE;MACxDF,cAAc,CAACG,IAAI,CAACN,WAAW,CAACK,KAAK,CAAC,CAACE,MAAM,CAAC;IAC/C;IAEA,OAAOJ,cAAc;EACtB,CAAC;EAED,MAAMK,UAAU,GAAGA,CAClBC,WAAkC,EAClCN,cAAmD,KACd;IACrC,SAAS;;IACT,MAAMI,MAAM,GAAGJ,cAAc,CAACM,WAAW,CAAC;IAC1C,IAAI,CAACF,MAAM,EAAE,OAAO,IAAI;IAExBA,MAAM,CAACG,+BAA+B,CAACT,GAAG,CAAC,CAAC;IAC5C,MAAMU,KAAK,GAAGJ,MAAM,CAACK,uBAAuB,CAACX,GAAG,CAAC,CAAC;IAElD,OAAO;MACN,GAAGU,KAAK;MACRE,MAAM,EAAEN,MAAM,CAACO,cAAc;MAC7BC,UAAU,EAAG5B,MAA+B,IAAK;QAChD,SAAS;;QACT,MAAM6B,WAAW,GAAG9B,kBAAkB,CACrCC,MAAM,EACNsB,WAAW,EACXN,cAAc,CAACD,MAChB,CAAC;QAED,IAAIc,WAAW,KAAK,CAAC,CAAC,EAAE;UACvB,OAAO,IAAI;QACZ;QAEA,OAAOR,UAAU,CAACQ,WAAW,EAAEb,cAAc,CAAC;MAC/C;IACD,CAAC;EACF,CAAC;EAED,OAAQhB,MAA+B,IAAsC;IAC5E,SAAS;;IACT,MAAMgB,cAAc,GAAGJ,UAAU,CAAC,CAAC;IACnC,MAAMiB,WAAW,GAAG9B,kBAAkB,CACrCC,MAAM,EACNU,WAAW,EACXM,cAAc,CAACD,MAChB,CAAC;IACD,IAAIc,WAAW,KAAK,CAAC,CAAC,EAAE;MACvB,OAAO,IAAI;IACZ;IAEA,OAAOR,UAAU,CAACQ,WAAW,EAAEb,cAAc,CAAC;EAC/C,CAAC;AACF,CAAC;AAED,MAAMc,yBAAyB,GAAIV,MAA6B,IAAK;EACpE,SAAS;;EACT,OAAOtB,oBAAoB,CAAC,MAAM;IACjC,SAAS;;IACT,OAAOsB,MAAM,CAACK,uBAAuB,CAACX,GAAG,CAAC,CAAC;EAC5C,CAAC,CAAC;AACH,CAAC;AAED,OAAO,MAAMiB,0BAA0B,GAAGA,CAAC;EAC1CN,uBAAuB;EACvBF,+BAA+B;EAC/BS,8BAA8B;EAC9BC;AACwB,CAAC,KAAK;EAC9B,OAAOpC,OAAO,CAAC,MAAM;IACpB,MAAMqC,UAAU,GAAG;MAClBT,uBAAuB;MACvBF;IACD,CAAC;IAED,MAAMY,iBAA6C,GAClDH,8BAA8B,CAACI,GAAG,CAAEhB,MAAM,KAAM;MAC/C,GAAGA,MAAM;MACTO,cAAc,EAAEG,yBAAyB,CAACV,MAAM;IACjD,CAAC,CAAC,CAAC;IAEJ,MAAMiB,oBAAoB,GAAG;MAC5B,GAAGH,UAAU;MACbP,cAAc,EAAEG,yBAAyB,CAACI,UAAU;IACrD,CAAC;IAEDC,iBAAiB,CAACG,OAAO,CAAC,CAAC;IAC3B,MAAM5B,WAAW,GAAGyB,iBAAiB,CAACpB,MAAM;IAC5CoB,iBAAiB,CAAChB,IAAI,CAACkB,oBAAoB,CAAC;IAE5C,OAAO7B,wBAAwB,CAC9B2B,iBAAiB,EACjBzB,WAAW,EACXuB,gCACD,CAAC;EACF,CAAC,EAAE,CACFR,uBAAuB,EACvBF,+BAA+B,EAC/BS,8BAA8B,EAC9BC,gCAAgC,CAChC,CAAC;AACH,CAAC","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":[]}