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
@@ -1 +1 @@
1
- {"version":3,"names":["_animation","require","_useScreenAnimation"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_animation","require","_useScreenAnimation"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAKA,IAAAC,mBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -15,21 +15,22 @@ var _readScreenAnimationRevisions = require("./helpers/read-screen-animation-rev
15
15
 
16
16
  function useScreenAnimation(target) {
17
17
  const route = (0, _native.useRoute)();
18
- const screenAnimationStore = (0, _animation.useScreenAnimationStore)(route.key);
18
+ const localAnimationStore = (0, _animation.useOptionalScreenAnimationStore)();
19
+ const keyedAnimationStore = (0, _animation.useOptionalScreenAnimationStore)(localAnimationStore ? null : route.key);
20
+ const screenAnimationStore = localAnimationStore ?? keyedAnimationStore;
19
21
  if (!screenAnimationStore) {
20
- throw new Error(`ScreenAnimation store for route "${route.key}" was not found`);
22
+ throw new Error(`ScreenAnimationStore is unavailable for route "${route.key}"`);
21
23
  }
22
24
  const {
23
- screenInterpolatorPropsRevision,
24
- ancestorScreenAnimationSources,
25
- descendantScreenAnimationSources
25
+ transitionSources,
26
+ transitionOriginIndex
26
27
  } = screenAnimationStore;
27
28
  const transition = (0, _useBuildTransitionAccessor.useBuildTransitionAccessor)(screenAnimationStore);
28
- const transitionTarget = normalizeScreenAnimationTarget(target, ancestorScreenAnimationSources.length);
29
+ const transitionTarget = normalizeScreenAnimationTarget(target, transitionOriginIndex);
29
30
  const animation = (0, _reactNativeReanimated.useDerivedValue)(() => {
30
31
  "worklet";
31
32
 
32
- (0, _readScreenAnimationRevisions.readScreenAnimationRevisions)(screenInterpolatorPropsRevision, ancestorScreenAnimationSources, descendantScreenAnimationSources);
33
+ (0, _readScreenAnimationRevisions.readScreenAnimationRevisions)(transitionSources);
33
34
  return transition(transitionTarget);
34
35
  });
35
36
  return animation;
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_reactNativeReanimated","_animation","_useBuildTransitionAccessor","_readScreenAnimationRevisions","useScreenAnimation","target","route","useRoute","screenAnimationStore","useScreenAnimationStore","key","Error","screenInterpolatorPropsRevision","ancestorScreenAnimationSources","descendantScreenAnimationSources","transition","useBuildTransitionAccessor","transitionTarget","normalizeScreenAnimationTarget","length","animation","useDerivedValue","readScreenAnimationRevisions","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA;AAYA;;AAOA;;AAIO,SAASK,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAMC,oBAAoB,GAAG,IAAAC,kCAAuB,EAACH,KAAK,CAACI,GAAG,CAAC;EAE/D,IAAI,CAACF,oBAAoB,EAAE;IAC1B,MAAM,IAAIG,KAAK,CACd,oCAAoCL,KAAK,CAACI,GAAG,iBAC9C,CAAC;EACF;EAEA,MAAM;IACLE,+BAA+B;IAC/BC,8BAA8B;IAC9BC;EACD,CAAC,GAAGN,oBAAoB;EACxB,MAAMO,UAAU,GAAG,IAAAC,sDAA0B,EAACR,oBAAoB,CAAC;EACnE,MAAMS,gBAAgB,GAAGC,8BAA8B,CACtDb,MAAM,EACNQ,8BAA8B,CAACM,MAChC,CAAC;EAED,MAAMC,SAAS,GAAG,IAAAC,sCAAe,EAAkC,MAAM;IACxE,SAAS;;IACT,IAAAC,0DAA4B,EAC3BV,+BAA+B,EAC/BC,8BAA8B,EAC9BC,gCACD,CAAC;IACD,OAAOC,UAAU,CAACE,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOG,SAAS;AACjB;AAEA,MAAMG,kBAAkB,GACvBlB,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMa,8BAA8B,GAAGA,CACtCb,MAAyC,EACzCmB,aAAqB,KACmB;EACxC,IAAInB,MAAM,KAAKoB,SAAS,IAAIF,kBAAkB,CAAClB,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEqB,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIrB,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEqB,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIrB,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEqB,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAACvB,MAAM,CAACwB,QAAQ,CAAC,IAAIxB,MAAM,CAACwB,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAACrB,MAAM,CAACwB;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_reactNativeReanimated","_animation","_useBuildTransitionAccessor","_readScreenAnimationRevisions","useScreenAnimation","target","route","useRoute","localAnimationStore","useOptionalScreenAnimationStore","keyedAnimationStore","key","screenAnimationStore","Error","transitionSources","transitionOriginIndex","transition","useBuildTransitionAccessor","transitionTarget","normalizeScreenAnimationTarget","animation","useDerivedValue","readScreenAnimationRevisions","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA;AAYA;;AAOA;;AAIO,SAASK,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,KAAK,GAAG,IAAAC,gBAAQ,EAAC,CAAC;EACxB,MAAMC,mBAAmB,GAAG,IAAAC,0CAA+B,EAAC,CAAC;EAC7D,MAAMC,mBAAmB,GAAG,IAAAD,0CAA+B,EAC1DD,mBAAmB,GAAG,IAAI,GAAGF,KAAK,CAACK,GACpC,CAAC;EACD,MAAMC,oBAAoB,GAAGJ,mBAAmB,IAAIE,mBAAmB;EAEvE,IAAI,CAACE,oBAAoB,EAAE;IAC1B,MAAM,IAAIC,KAAK,CACd,kDAAkDP,KAAK,CAACK,GAAG,GAC5D,CAAC;EACF;EAEA,MAAM;IAAEG,iBAAiB;IAAEC;EAAsB,CAAC,GAAGH,oBAAoB;EACzE,MAAMI,UAAU,GAAG,IAAAC,sDAA0B,EAACL,oBAAoB,CAAC;EACnE,MAAMM,gBAAgB,GAAGC,8BAA8B,CACtDd,MAAM,EACNU,qBACD,CAAC;EAED,MAAMK,SAAS,GAAG,IAAAC,sCAAe,EAAkC,MAAM;IACxE,SAAS;;IACT,IAAAC,0DAA4B,EAACR,iBAAiB,CAAC;IAC/C,OAAOE,UAAU,CAACE,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOE,SAAS;AACjB;AAEA,MAAMG,kBAAkB,GACvBlB,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMc,8BAA8B,GAAGA,CACtCd,MAAyC,EACzCmB,aAAqB,KACmB;EACxC,IAAInB,MAAM,KAAKoB,SAAS,IAAIF,kBAAkB,CAAClB,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEqB,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIrB,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEqB,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIrB,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEqB,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAACvB,MAAM,CAACwB,QAAQ,CAAC,IAAIxB,MAAM,CAACwB,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAACrB,MAAM,CAACwB;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
@@ -7,12 +7,13 @@ exports.useDescriptorsStore = exports.DescriptorsProvider = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNativeReanimated = require("react-native-reanimated");
9
9
  var _context = require("../../../adapters/with-screen-transitions/context");
10
+ var _screenTopology = require("../../../factories/screen-topology");
11
+ var _useStack = require("../../../hooks/navigation/use-stack");
10
12
  var _blankStack = require("../../../providers/stack/blank-stack.provider");
11
13
  var _coordinator = require("../../../stores/bounds/internals/coordinator");
12
14
  var _system = require("../../../stores/system.store");
13
15
  var _createProvider = _interopRequireDefault(require("../../../utils/create-provider"));
14
16
  var _deriveDescriptorDerivations = require("./helpers/derive-descriptor-derivations");
15
- var _deriveStructuralAncestorKeys = require("./helpers/derive-structural-ancestor-keys");
16
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
18
  /**
18
19
  * Base descriptor interface - minimal contract for all stack types.
@@ -20,32 +21,36 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
20
21
  * tight coupling to React Navigation.
21
22
  */
22
23
 
24
+ const createDescriptorsProvider = (0, _createProvider.default)("Descriptors", {
25
+ global: true
26
+ });
23
27
  const {
24
28
  DescriptorsProvider,
25
- useDescriptorsStore
26
- } = (0, _createProvider.default)("Descriptors", {
27
- guarded: true
28
- })(({
29
+ useDescriptorsStore,
30
+ useOptionalDescriptorsStore
31
+ } = createDescriptorsProvider(({
29
32
  previous,
30
33
  current,
31
34
  next,
32
35
  routeKey,
33
36
  children
34
- }, {
35
- useParentStore
36
37
  }) => {
37
- const parentScreenKey = useParentStore(store => store?.derivations.currentScreenKey);
38
- const parentAncestorKeys = useParentStore(store => store?.derivations.ancestorKeys);
39
- const parentTransitionSourcePairKey = useParentStore(store => store?.derivations.transitionSourcePairKey);
40
- const parentTransitionDestinationScreenKey = useParentStore(store => store?.derivations.transitionDestinationScreenKey);
41
- const blankStackCurrent = (0, _blankStack.useBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.descriptor : undefined);
42
- const blankStackPrevious = (0, _blankStack.useBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.previousDescriptor : undefined);
43
- const blankStackNext = (0, _blankStack.useBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.nextDescriptor : undefined);
38
+ const parentScreenKey = useOptionalDescriptorsStore(store => store?.derivations.currentScreenKey);
39
+ const parentTransitionSourcePairKey = useOptionalDescriptorsStore(store => store?.derivations.transitionSourcePairKey);
40
+ const parentTransitionDestinationScreenKey = useOptionalDescriptorsStore(store => store?.derivations.transitionDestinationScreenKey);
41
+ const blankStackCurrent = (0, _blankStack.useOptionalBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.descriptor : undefined);
42
+ const blankStackPrevious = (0, _blankStack.useOptionalBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.previousDescriptor : undefined);
43
+ const blankStackNext = (0, _blankStack.useOptionalBlankStackStore)(store => routeKey ? store?.scenesByKey[routeKey]?.nextDescriptor : undefined);
44
44
  const adapterContext = (0, _context.useScreenTransitionsAdapterOptionalContext)();
45
45
  const adapterScene = routeKey ? adapterContext?.scenesByKey?.[routeKey] ?? adapterContext?.scenes[adapterContext.routeIndexByKey.get(routeKey) ?? -1] : undefined;
46
46
  const resolvedCurrent = current ?? blankStackCurrent ?? adapterScene?.descriptor;
47
47
  const resolvedPrevious = previous ?? blankStackPrevious ?? adapterScene?.previousDescriptor;
48
48
  const resolvedNext = next ?? blankStackNext ?? adapterScene?.nextDescriptor;
49
+ const currentScreenKey = current?.route.key ?? routeKey;
50
+ const isActiveScreen = (0, _useStack.useStack)(store => {
51
+ const focusedScene = store.scenes[store.focusedIndex];
52
+ return focusedScene.route.key === currentScreenKey && focusedScene.activity === "active";
53
+ });
49
54
  if (!resolvedCurrent) {
50
55
  throw new Error(`Descriptors scene "${routeKey ?? "unknown"}" was not found.`);
51
56
  }
@@ -54,37 +59,47 @@ const {
54
59
  current: resolvedCurrent,
55
60
  next: resolvedNext
56
61
  }), [resolvedPrevious, resolvedCurrent, resolvedNext]);
57
- const ancestorKeys = (0, _react.useMemo)(() => (0, _deriveStructuralAncestorKeys.deriveStructuralAncestorKeys)(parentScreenKey ? {
58
- currentScreenKey: parentScreenKey,
59
- ancestorKeys: parentAncestorKeys ?? []
60
- } : null), [parentAncestorKeys, parentScreenKey]);
61
62
  const derivations = (0, _react.useMemo)(() => {
62
63
  const localDerivations = (0, _deriveDescriptorDerivations.deriveDescriptorDerivations)({
63
64
  previous: resolvedPrevious,
64
65
  current: resolvedCurrent,
65
- next: resolvedNext,
66
- ancestorKeys
66
+ next: resolvedNext
67
67
  });
68
68
  return {
69
69
  ...localDerivations,
70
- transitionSourcePairKey: localDerivations.sourcePairKey ?? parentTransitionSourcePairKey,
71
- transitionDestinationScreenKey: localDerivations.nextScreenKey ?? parentTransitionDestinationScreenKey
70
+ transitionSourcePairKey: localDerivations.sourcePairKey ?? parentTransitionSourcePairKey ?? undefined,
71
+ transitionDestinationScreenKey: localDerivations.nextScreenKey ?? parentTransitionDestinationScreenKey ?? undefined
72
72
  };
73
- }, [resolvedPrevious, resolvedCurrent, resolvedNext, ancestorKeys, parentTransitionSourcePairKey, parentTransitionDestinationScreenKey]);
73
+ }, [resolvedPrevious, resolvedCurrent, resolvedNext, parentTransitionSourcePairKey, parentTransitionDestinationScreenKey]);
74
74
  const animationProgress = _system.SystemStore.getValue(derivations.currentScreenKey, "animationProgress");
75
75
  const pendingLifecycleStartBlockCount = _system.SystemStore.getValue(derivations.currentScreenKey, "pendingLifecycleStartBlockCount");
76
76
  (0, _react.useLayoutEffect)(() => {
77
+ _screenTopology.screenTopology.register({
78
+ screenKey: derivations.currentScreenKey,
79
+ parentScreenKey
80
+ });
77
81
  (0, _reactNativeReanimated.runOnUI)(_coordinator.registerScreen)({
78
82
  screenKey: derivations.currentScreenKey,
79
- parentScreenKey: derivations.parentScreenKey,
83
+ parentScreenKey,
80
84
  animationProgress,
81
85
  pendingLifecycleStartBlockCount
82
86
  });
83
87
  return () => {
88
+ _screenTopology.screenTopology.unregister(derivations.currentScreenKey);
84
89
  (0, _reactNativeReanimated.runOnUI)(_coordinator.unregisterScreen)(derivations.currentScreenKey);
85
90
  };
86
- }, [animationProgress, derivations.currentScreenKey, derivations.parentScreenKey, pendingLifecycleStartBlockCount]);
91
+ }, [animationProgress, derivations.currentScreenKey, parentScreenKey, pendingLifecycleStartBlockCount]);
92
+ (0, _react.useLayoutEffect)(() => {
93
+ if (!isActiveScreen || !parentScreenKey) {
94
+ return;
95
+ }
96
+ return _screenTopology.screenTopology.activate({
97
+ screenKey: derivations.currentScreenKey,
98
+ parentScreenKey
99
+ });
100
+ }, [isActiveScreen, derivations.currentScreenKey, parentScreenKey]);
87
101
  return {
102
+ key: derivations.currentScreenKey,
88
103
  value: {
89
104
  previous: resolvedPrevious,
90
105
  current: resolvedCurrent,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_context","_blankStack","_coordinator","_system","_createProvider","_interopRequireDefault","_deriveDescriptorDerivations","_deriveStructuralAncestorKeys","e","__esModule","default","DescriptorsProvider","useDescriptorsStore","createProvider","guarded","previous","current","next","routeKey","children","useParentStore","parentScreenKey","store","derivations","currentScreenKey","parentAncestorKeys","ancestorKeys","parentTransitionSourcePairKey","transitionSourcePairKey","parentTransitionDestinationScreenKey","transitionDestinationScreenKey","blankStackCurrent","useBlankStackStore","scenesByKey","descriptor","undefined","blankStackPrevious","previousDescriptor","blankStackNext","nextDescriptor","adapterContext","useScreenTransitionsAdapterOptionalContext","adapterScene","scenes","routeIndexByKey","get","resolvedCurrent","resolvedPrevious","resolvedNext","Error","descriptors","useMemo","deriveStructuralAncestorKeys","localDerivations","deriveDescriptorDerivations","sourcePairKey","nextScreenKey","animationProgress","SystemStore","getValue","pendingLifecycleStartBlockCount","useLayoutEffect","runOnUI","registerScreen","screenKey","unregisterScreen","value","options","exports"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/descriptors/descriptors.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_context","_screenTopology","_useStack","_blankStack","_coordinator","_system","_createProvider","_interopRequireDefault","_deriveDescriptorDerivations","e","__esModule","default","createDescriptorsProvider","createProvider","global","DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore","previous","current","next","routeKey","children","parentScreenKey","store","derivations","currentScreenKey","parentTransitionSourcePairKey","transitionSourcePairKey","parentTransitionDestinationScreenKey","transitionDestinationScreenKey","blankStackCurrent","useOptionalBlankStackStore","scenesByKey","descriptor","undefined","blankStackPrevious","previousDescriptor","blankStackNext","nextDescriptor","adapterContext","useScreenTransitionsAdapterOptionalContext","adapterScene","scenes","routeIndexByKey","get","resolvedCurrent","resolvedPrevious","resolvedNext","route","key","isActiveScreen","useStack","focusedScene","focusedIndex","activity","Error","descriptors","useMemo","localDerivations","deriveDescriptorDerivations","sourcePairKey","nextScreenKey","animationProgress","SystemStore","getValue","pendingLifecycleStartBlockCount","useLayoutEffect","screenTopology","register","screenKey","runOnUI","registerScreen","unregister","unregisterScreen","activate","value","options","exports"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/descriptors/descriptors.provider.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAIA,IAAAO,OAAA,GAAAP,OAAA;AAEA,IAAAQ,eAAA,GAAAC,sBAAA,CAAAT,OAAA;AAEA,IAAAU,4BAAA,GAAAV,OAAA;AAAsF,SAAAS,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtF;AACA;AACA;AACA;AACA;;AA6BA,MAAMG,yBAAyB,GAAG,IAAAC,uBAAc,EAAC,aAAa,EAAE;EAC/DC,MAAM,EAAE;AACT,CAAC,CAAiE;AAElE,MAAM;EACLC,mBAAmB;EACnBC,mBAAmB;EACnBC;AAC6C,CAAC,GAAGL,yBAAyB,CAC1E,CAAC;EAAEM,QAAQ;EAAEC,OAAO;EAAEC,IAAI;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAK;EACpD,MAAMC,eAAe,GAAGN,2BAA2B,CACjDO,KAAK,IAAKA,KAAK,EAAEC,WAAW,CAACC,gBAC/B,CAAC;EACD,MAAMC,6BAA6B,GAAGV,2BAA2B,CAC/DO,KAAK,IAAKA,KAAK,EAAEC,WAAW,CAACG,uBAC/B,CAAC;EACD,MAAMC,oCAAoC,GAAGZ,2BAA2B,CACtEO,KAAK,IAAKA,KAAK,EAAEC,WAAW,CAACK,8BAC/B,CAAC;EACD,MAAMC,iBAAiB,GAAG,IAAAC,sCAA0B,EAAER,KAAK,IAC1DH,QAAQ,GAAGG,KAAK,EAAES,WAAW,CAACZ,QAAQ,CAAC,EAAEa,UAAU,GAAGC,SACvD,CAAC;EACD,MAAMC,kBAAkB,GAAG,IAAAJ,sCAA0B,EAAER,KAAK,IAC3DH,QAAQ,GAAGG,KAAK,EAAES,WAAW,CAACZ,QAAQ,CAAC,EAAEgB,kBAAkB,GAAGF,SAC/D,CAAC;EACD,MAAMG,cAAc,GAAG,IAAAN,sCAA0B,EAAER,KAAK,IACvDH,QAAQ,GAAGG,KAAK,EAAES,WAAW,CAACZ,QAAQ,CAAC,EAAEkB,cAAc,GAAGJ,SAC3D,CAAC;EACD,MAAMK,cAAc,GAAG,IAAAC,mDAA0C,EAAC,CAAC;EACnE,MAAMC,YAAY,GAAGrB,QAAQ,GACzBmB,cAAc,EAAEP,WAAW,GAAGZ,QAAQ,CAAC,IACzCmB,cAAc,EAAEG,MAAM,CACrBH,cAAc,CAACI,eAAe,CAACC,GAAG,CAACxB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAClD,GACAc,SAAS;EAEZ,MAAMW,eAAe,GACpB3B,OAAO,IAAIY,iBAAiB,IAAIW,YAAY,EAAER,UAAU;EACzD,MAAMa,gBAAgB,GACrB7B,QAAQ,IAAIkB,kBAAkB,IAAIM,YAAY,EAAEL,kBAAkB;EACnE,MAAMW,YAAY,GAAG5B,IAAI,IAAIkB,cAAc,IAAII,YAAY,EAAEH,cAAc;EAC3E,MAAMb,gBAAgB,GAAGP,OAAO,EAAE8B,KAAK,CAACC,GAAG,IAAI7B,QAAQ;EACvD,MAAM8B,cAAc,GAAG,IAAAC,kBAAQ,EAAE5B,KAAK,IAAK;IAC1C,MAAM6B,YAAY,GAAG7B,KAAK,CAACmB,MAAM,CAChCnB,KAAK,CAAC8B,YAAY,CACe;IAElC,OACCD,YAAY,CAACJ,KAAK,CAACC,GAAG,KAAKxB,gBAAgB,IAC3C2B,YAAY,CAACE,QAAQ,KAAK,QAAQ;EAEpC,CAAC,CAAC;EAEF,IAAI,CAACT,eAAe,EAAE;IACrB,MAAM,IAAIU,KAAK,CACd,sBAAsBnC,QAAQ,IAAI,SAAS,kBAC5C,CAAC;EACF;EAEA,MAAMoC,WAAW,GAAG,IAAAC,cAAO,EAC1B,OAAO;IACNxC,QAAQ,EAAE6B,gBAAgB;IAC1B5B,OAAO,EAAE2B,eAAe;IACxB1B,IAAI,EAAE4B;EACP,CAAC,CAAC,EACF,CAACD,gBAAgB,EAAED,eAAe,EAAEE,YAAY,CACjD,CAAC;EAED,MAAMvB,WAAW,GAAG,IAAAiC,cAAO,EAAC,MAAM;IACjC,MAAMC,gBAAgB,GAAG,IAAAC,wDAA2B,EAAC;MACpD1C,QAAQ,EAAE6B,gBAAgB;MAC1B5B,OAAO,EAAE2B,eAAe;MACxB1B,IAAI,EAAE4B;IACP,CAAC,CAAC;IAEF,OAAO;MACN,GAAGW,gBAAgB;MACnB/B,uBAAuB,EACtB+B,gBAAgB,CAACE,aAAa,IAC9BlC,6BAA6B,IAC7BQ,SAAS;MACVL,8BAA8B,EAC7B6B,gBAAgB,CAACG,aAAa,IAC9BjC,oCAAoC,IACpCM;IACF,CAAC;EACF,CAAC,EAAE,CACFY,gBAAgB,EAChBD,eAAe,EACfE,YAAY,EACZrB,6BAA6B,EAC7BE,oCAAoC,CACpC,CAAC;EACF,MAAMkC,iBAAiB,GAAGC,mBAAW,CAACC,QAAQ,CAC7CxC,WAAW,CAACC,gBAAgB,EAC5B,mBACD,CAAC;EACD,MAAMwC,+BAA+B,GAAGF,mBAAW,CAACC,QAAQ,CAC3DxC,WAAW,CAACC,gBAAgB,EAC5B,iCACD,CAAC;EAED,IAAAyC,sBAAe,EAAC,MAAM;IACrBC,8BAAc,CAACC,QAAQ,CAAC;MACvBC,SAAS,EAAE7C,WAAW,CAACC,gBAAgB;MACvCH;IACD,CAAC,CAAC;IACF,IAAAgD,8BAAO,EAACC,2BAAc,CAAC,CAAC;MACvBF,SAAS,EAAE7C,WAAW,CAACC,gBAAgB;MACvCH,eAAe;MACfwC,iBAAiB;MACjBG;IACD,CAAC,CAAC;IAEF,OAAO,MAAM;MACZE,8BAAc,CAACK,UAAU,CAAChD,WAAW,CAACC,gBAAgB,CAAC;MACvD,IAAA6C,8BAAO,EAACG,6BAAgB,CAAC,CAACjD,WAAW,CAACC,gBAAgB,CAAC;IACxD,CAAC;EACF,CAAC,EAAE,CACFqC,iBAAiB,EACjBtC,WAAW,CAACC,gBAAgB,EAC5BH,eAAe,EACf2C,+BAA+B,CAC/B,CAAC;EAEF,IAAAC,sBAAe,EAAC,MAAM;IACrB,IAAI,CAAChB,cAAc,IAAI,CAAC5B,eAAe,EAAE;MACxC;IACD;IAEA,OAAO6C,8BAAc,CAACO,QAAQ,CAAC;MAC9BL,SAAS,EAAE7C,WAAW,CAACC,gBAAgB;MACvCH;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAAC4B,cAAc,EAAE1B,WAAW,CAACC,gBAAgB,EAAEH,eAAe,CAAC,CAAC;EAEnE,OAAO;IACN2B,GAAG,EAAEzB,WAAW,CAACC,gBAAgB;IACjCkD,KAAK,EAAE;MACN1D,QAAQ,EAAE6B,gBAAgB;MAC1B5B,OAAO,EAAE2B,eAAe;MACxB1B,IAAI,EAAE4B,YAAY;MAClBS,WAAW;MACXhC,WAAW;MACXoD,OAAO,EAAE/B,eAAe,CAAC+B;IAC1B,CAAC;IACDvD;EACD,CAAC;AACF,CACD,CAAC;AAACwD,OAAA,CAAA9D,mBAAA,GAAAA,mBAAA;AAAA8D,OAAA,CAAA/D,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -8,8 +8,7 @@ var _linkPairs = require("../../../../stores/bounds/helpers/link-pairs.helpers")
8
8
  function deriveDescriptorDerivations({
9
9
  previous,
10
10
  current,
11
- next,
12
- ancestorKeys
11
+ next
13
12
  }) {
14
13
  const previousScreenKey = previous?.route.key;
15
14
  const currentScreenKey = current.route.key;
@@ -29,10 +28,8 @@ function deriveDescriptorDerivations({
29
28
  transitionSourcePairKey: sourcePairKey,
30
29
  transitionDestinationScreenKey: nextScreenKey,
31
30
  destinationPairKey,
32
- parentScreenKey: ancestorKeys[0],
33
31
  isFirstKey,
34
32
  isTopMostScreen,
35
- ancestorKeys,
36
33
  hasConfiguredInterpolator
37
34
  };
38
35
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_linkPairs","require","deriveDescriptorDerivations","previous","current","next","ancestorKeys","previousScreenKey","route","key","currentScreenKey","nextScreenKey","sourcePairKey","createScreenPairKey","undefined","destinationPairKey","navigationState","navigation","getState","routes","isFirstKey","findIndex","isTopMostScreen","hasConfiguredInterpolator","options","screenStyleInterpolator","transitionSourcePairKey","transitionDestinationScreenKey","parentScreenKey"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AA4BO,SAASC,2BAA2BA,CAAC;EAC3CC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACO,CAAC,EAAyB;EACjC,MAAMC,iBAAiB,GAAGJ,QAAQ,EAAEK,KAAK,CAACC,GAAG;EAC7C,MAAMC,gBAAgB,GAAGN,OAAO,CAACI,KAAK,CAACC,GAAG;EAC1C,MAAME,aAAa,GAAGN,IAAI,EAAEG,KAAK,CAACC,GAAG;EACrC,MAAMG,aAAa,GAAGD,aAAa,GAChC,IAAAE,8BAAmB,EAACH,gBAAgB,EAAEC,aAAa,CAAC,GACpDG,SAAS;EACZ,MAAMC,kBAAkB,GAAGR,iBAAiB,GACzC,IAAAM,8BAAmB,EAACN,iBAAiB,EAAEG,gBAAgB,CAAC,GACxDI,SAAS;EAEZ,MAAME,eAAe,GAAGZ,OAAO,CAACa,UAAU,CAACC,QAAQ,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAGH,eAAe,EAAEG,MAAM,IAAI,EAAE;EAC5C,MAAMC,UAAU,GACfD,MAAM,CAACE,SAAS,CAAEb,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKL,OAAO,CAACI,KAAK,CAACC,GAAG,CAAC,KAAK,CAAC;EACnE,MAAMa,eAAe,GAAG,CAACjB,IAAI;EAC7B,MAAMkB,yBAAyB,GAC9B,CAAC,CAACnB,OAAO,CAACoB,OAAO,CAACC,uBAAuB,IACzC,CAAC,CAACpB,IAAI,EAAEmB,OAAO,EAAEC,uBAAuB;EAEzC,OAAO;IACNlB,iBAAiB;IACjBG,gBAAgB;IAChBC,aAAa;IACbC,aAAa;IACbc,uBAAuB,EAAEd,aAAa;IACtCe,8BAA8B,EAAEhB,aAAa;IAC7CI,kBAAkB;IAClBa,eAAe,EAAEtB,YAAY,CAAC,CAAC,CAAC;IAChCc,UAAU;IACVE,eAAe;IACfhB,YAAY;IACZiB;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_linkPairs","require","deriveDescriptorDerivations","previous","current","next","previousScreenKey","route","key","currentScreenKey","nextScreenKey","sourcePairKey","createScreenPairKey","undefined","destinationPairKey","navigationState","navigation","getState","routes","isFirstKey","findIndex","isTopMostScreen","hasConfiguredInterpolator","options","screenStyleInterpolator","transitionSourcePairKey","transitionDestinationScreenKey"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/descriptors/helpers/derive-descriptor-derivations.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAyBO,SAASC,2BAA2BA,CAAC;EAC3CC,QAAQ;EACRC,OAAO;EACPC;AACO,CAAC,EAAyB;EACjC,MAAMC,iBAAiB,GAAGH,QAAQ,EAAEI,KAAK,CAACC,GAAG;EAC7C,MAAMC,gBAAgB,GAAGL,OAAO,CAACG,KAAK,CAACC,GAAG;EAC1C,MAAME,aAAa,GAAGL,IAAI,EAAEE,KAAK,CAACC,GAAG;EACrC,MAAMG,aAAa,GAAGD,aAAa,GAChC,IAAAE,8BAAmB,EAACH,gBAAgB,EAAEC,aAAa,CAAC,GACpDG,SAAS;EACZ,MAAMC,kBAAkB,GAAGR,iBAAiB,GACzC,IAAAM,8BAAmB,EAACN,iBAAiB,EAAEG,gBAAgB,CAAC,GACxDI,SAAS;EAEZ,MAAME,eAAe,GAAGX,OAAO,CAACY,UAAU,CAACC,QAAQ,CAAC,CAAC;EACrD,MAAMC,MAAM,GAAGH,eAAe,EAAEG,MAAM,IAAI,EAAE;EAC5C,MAAMC,UAAU,GACfD,MAAM,CAACE,SAAS,CAAEb,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKJ,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC,KAAK,CAAC;EACnE,MAAMa,eAAe,GAAG,CAAChB,IAAI;EAC7B,MAAMiB,yBAAyB,GAC9B,CAAC,CAAClB,OAAO,CAACmB,OAAO,CAACC,uBAAuB,IACzC,CAAC,CAACnB,IAAI,EAAEkB,OAAO,EAAEC,uBAAuB;EAEzC,OAAO;IACNlB,iBAAiB;IACjBG,gBAAgB;IAChBC,aAAa;IACbC,aAAa;IACbc,uBAAuB,EAAEd,aAAa;IACtCe,8BAA8B,EAAEhB,aAAa;IAC7CI,kBAAkB;IAClBK,UAAU;IACVE,eAAe;IACfC;EACD,CAAC;AACF","ignoreList":[]}
@@ -3,13 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useGestureStore = exports.ScreenGestureProvider = void 0;
6
+ exports.useScreenGestureStore = exports.useOptionalScreenGestureStore = exports.ScreenGestureProvider = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
9
9
  var _reactNativeReanimated = require("react-native-reanimated");
10
10
  var _scroll = require("../../../stores/scroll.store");
11
11
  var _createProvider = _interopRequireDefault(require("../../../utils/create-provider"));
12
12
  var _descriptors = require("../descriptors");
13
+ var _useCurrentScreenRelationships = require("../use-current-screen-relationships");
13
14
  var _useScreenGestureConfig = require("./hooks/use-screen-gesture-config");
14
15
  var _gestureOwnershipBridge = require("./ownership/gesture-ownership-bridge");
15
16
  var _useBuildPanGesture = require("./pan/use-build-pan-gesture");
@@ -17,28 +18,25 @@ var _useBuildPinchGesture = require("./pinch/use-build-pinch-gesture");
17
18
  var _types = require("./types");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
+ const EMPTY_GESTURE_SOURCES = [];
22
+ const createScreenGestureProvider = (0, _createProvider.default)("ScreenGesture", {
23
+ global: true
24
+ });
20
25
  const {
21
26
  ScreenGestureProvider,
22
- useScreenGestureStore: useGestureStore
23
- } = (0, _createProvider.default)("ScreenGesture", {
24
- guarded: false
25
- })(({
27
+ useOptionalScreenGestureStore,
28
+ useScreenGestureStore
29
+ } = createScreenGestureProvider(({
26
30
  children
27
- }, {
28
- useParentStore
29
31
  }) => {
30
32
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.currentScreenKey);
31
33
  const isTopMostScreen = (0, _descriptors.useDescriptorsStore)(store => store.derivations.isTopMostScreen);
32
- const gestureContext = useParentStore(parentContext => isTopMostScreen ? parentContext : null);
33
- const gestureConfig = (0, _useScreenGestureConfig.useScreenGestureConfig)(gestureContext);
34
+ const relationships = (0, _useCurrentScreenRelationships.useCurrentScreenRelationships)();
35
+ const relationshipAncestorGestures = useOptionalScreenGestureStore(relationships.parentScreenKey, store => store.relationshipGestureSources) ?? EMPTY_GESTURE_SOURCES;
36
+ const ancestorGestures = isTopMostScreen ? relationshipAncestorGestures : EMPTY_GESTURE_SOURCES;
37
+ const gestureConfig = (0, _useScreenGestureConfig.useScreenGestureConfig)(ancestorGestures);
34
38
  const scrollState = _scroll.ScrollStore.getValue(currentScreenKey, "coordination");
35
-
36
- // Ancestors read this before activating. If a nested screen claims the same
37
- // direction, it writes here so the ancestor can fail and let it take priority.
38
39
  const childDirectionClaims = (0, _reactNativeReanimated.useSharedValue)(_types.NO_DIRECTION_CLAIMS);
39
-
40
- // The first gesture to activate owns navigation release. Other gestures may
41
- // still join as companion trackers during the same simultaneous composition.
42
40
  const gestureCompositionOwner = (0, _reactNativeReanimated.useSharedValue)(null);
43
41
  const panGesture = (0, _useBuildPanGesture.useBuildPanGesture)({
44
42
  scrollState,
@@ -51,24 +49,31 @@ const {
51
49
  gestureCompositionOwner
52
50
  });
53
51
  const detectorGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Simultaneous(panGesture, pinchGesture), [panGesture, pinchGesture]);
54
- const value = (0, _react.useMemo)(() => ({
52
+ const source = (0, _react.useMemo)(() => ({
55
53
  routeKey: currentScreenKey,
56
54
  detectorGesture,
57
55
  panGesture,
58
56
  pinchGesture,
59
57
  scrollState,
60
- gestureContext,
61
58
  claimedDirections: gestureConfig.participation.claimedDirections,
62
59
  childDirectionClaims
63
- }), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState, gestureContext, gestureConfig.participation.claimedDirections, childDirectionClaims]);
60
+ }), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState, gestureConfig.participation.claimedDirections, childDirectionClaims]);
61
+ const relationshipGestureSources = (0, _react.useMemo)(() => [source, ...ancestorGestures], [source, ancestorGestures]);
62
+ const value = (0, _react.useMemo)(() => ({
63
+ ...source,
64
+ ancestorGestures,
65
+ relationshipGestureSources
66
+ }), [source, ancestorGestures, relationshipGestureSources]);
64
67
  const content = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
65
68
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_gestureOwnershipBridge.GestureOwnershipBridge, {}), children]
66
69
  }), [children]);
67
70
  return {
71
+ key: currentScreenKey,
68
72
  value,
69
73
  children: content
70
74
  };
71
75
  });
72
- exports.useGestureStore = useGestureStore;
76
+ exports.useScreenGestureStore = useScreenGestureStore;
77
+ exports.useOptionalScreenGestureStore = useOptionalScreenGestureStore;
73
78
  exports.ScreenGestureProvider = ScreenGestureProvider;
74
79
  //# sourceMappingURL=gestures.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_scroll","_createProvider","_interopRequireDefault","_descriptors","_useScreenGestureConfig","_gestureOwnershipBridge","_useBuildPanGesture","_useBuildPinchGesture","_types","_jsxRuntime","e","__esModule","default","ScreenGestureProvider","useScreenGestureStore","useGestureStore","createProvider","guarded","children","useParentStore","currentScreenKey","useDescriptorsStore","store","derivations","isTopMostScreen","gestureContext","parentContext","gestureConfig","useScreenGestureConfig","scrollState","ScrollStore","getValue","childDirectionClaims","useSharedValue","NO_DIRECTION_CLAIMS","gestureCompositionOwner","panGesture","useBuildPanGesture","pinchGesture","useBuildPinchGesture","detectorGesture","useMemo","Gesture","Simultaneous","value","routeKey","claimedDirections","participation","content","jsxs","Fragment","jsx","GestureOwnershipBridge","exports"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/gestures/gestures.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_scroll","_createProvider","_interopRequireDefault","_descriptors","_useCurrentScreenRelationships","_useScreenGestureConfig","_gestureOwnershipBridge","_useBuildPanGesture","_useBuildPinchGesture","_types","_jsxRuntime","e","__esModule","default","EMPTY_GESTURE_SOURCES","createScreenGestureProvider","createProvider","global","ScreenGestureProvider","useOptionalScreenGestureStore","useScreenGestureStore","children","currentScreenKey","useDescriptorsStore","store","derivations","isTopMostScreen","relationships","useCurrentScreenRelationships","relationshipAncestorGestures","parentScreenKey","relationshipGestureSources","ancestorGestures","gestureConfig","useScreenGestureConfig","scrollState","ScrollStore","getValue","childDirectionClaims","useSharedValue","NO_DIRECTION_CLAIMS","gestureCompositionOwner","panGesture","useBuildPanGesture","pinchGesture","useBuildPinchGesture","detectorGesture","useMemo","Gesture","Simultaneous","source","routeKey","claimedDirections","participation","value","content","jsxs","Fragment","jsx","GestureOwnershipBridge","key","exports"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/gestures/gestures.provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ var _native = require("@react-navigation/native");
8
8
  var _react = require("react");
9
9
  var _descriptors = require("../../descriptors");
10
10
  var _policy = require("../shared/policy");
11
- function useScreenGestureConfig(gestureContext) {
11
+ function useScreenGestureConfig(ancestorGestures) {
12
12
  const options = (0, _descriptors.useDescriptorsStore)(store => store.options);
13
13
  const isFirstKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.isFirstKey);
14
14
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.currentScreenKey);
@@ -19,8 +19,8 @@ function useScreenGestureConfig(gestureContext) {
19
19
  return (0, _react.useMemo)(() => (0, _policy.resolveScreenGestureConfig)({
20
20
  options,
21
21
  isFirstKey,
22
- gestureContext,
22
+ ancestorGestures,
23
23
  isRemovePrevented
24
- }), [isFirstKey, options, gestureContext, isRemovePrevented]);
24
+ }), [isFirstKey, options, ancestorGestures, isRemovePrevented]);
25
25
  }
26
26
  //# sourceMappingURL=use-screen-gesture-config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_descriptors","_policy","useScreenGestureConfig","gestureContext","options","useDescriptorsStore","store","isFirstKey","derivations","currentScreenKey","preventedRoutes","usePreventRemoveContext","isRemovePrevented","preventRemove","useMemo","resolveScreenGestureConfig"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAGO,SAASI,sBAAsBA,CACrCC,cAAyC,EACnB;EACtB,MAAMC,OAAO,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,IAAKA,KAAK,CAACF,OAAO,CAAC;EAC7D,MAAMG,UAAU,GAAG,IAAAF,gCAAmB,EACpCC,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EACD,MAAME,gBAAgB,GAAG,IAAAJ,gCAAmB,EAC1CC,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACC,gBAC9B,CAAC;EACD,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,+BAAuB,EAAC,CAAC;EACrD,MAAMC,iBAAiB,GACtBF,eAAe,CAACD,gBAAgB,CAAC,EAAEI,aAAa,KAAK,IAAI;EAE1D,OAAO,IAAAC,cAAO,EACb,MACC,IAAAC,kCAA0B,EAAC;IAC1BX,OAAO;IACPG,UAAU;IACVJ,cAAc;IACdS;EACD,CAAC,CAAC,EACH,CAACL,UAAU,EAAEH,OAAO,EAAED,cAAc,EAAES,iBAAiB,CACxD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_react","_descriptors","_policy","useScreenGestureConfig","ancestorGestures","options","useDescriptorsStore","store","isFirstKey","derivations","currentScreenKey","preventedRoutes","usePreventRemoveContext","isRemovePrevented","preventRemove","useMemo","resolveScreenGestureConfig"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAGO,SAASI,sBAAsBA,CACrCC,gBAAgD,EAC1B;EACtB,MAAMC,OAAO,GAAG,IAAAC,gCAAmB,EAAEC,KAAK,IAAKA,KAAK,CAACF,OAAO,CAAC;EAC7D,MAAMG,UAAU,GAAG,IAAAF,gCAAmB,EACpCC,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EACD,MAAME,gBAAgB,GAAG,IAAAJ,gCAAmB,EAC1CC,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACC,gBAC9B,CAAC;EACD,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,+BAAuB,EAAC,CAAC;EACrD,MAAMC,iBAAiB,GACtBF,eAAe,CAACD,gBAAgB,CAAC,EAAEI,aAAa,KAAK,IAAI;EAE1D,OAAO,IAAAC,cAAO,EACb,MACC,IAAAC,kCAA0B,EAAC;IAC1BX,OAAO;IACPG,UAAU;IACVJ,gBAAgB;IAChBS;EACD,CAAC,CAAC,EACH,CAACL,UAAU,EAAEH,OAAO,EAAED,gBAAgB,EAAES,iBAAiB,CAC1D,CAAC;AACF","ignoreList":[]}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useScreenGesture = void 0;
7
7
  var _resolveChainTarget = require("../../../../utils/resolve-chain-target");
8
8
  var _gestures = require("../gestures.provider");
9
- var _ancestors = require("../shared/ancestors");
10
9
  /**
11
10
  * Returns a screen navigation pan gesture.
12
11
  * Use this to coordinate child gestures with the navigation gesture.
@@ -21,11 +20,11 @@ var _ancestors = require("../shared/ancestors");
21
20
  * ```
22
21
  */
23
22
  const useScreenGesture = target => {
24
- const ctx = (0, _gestures.useGestureStore)();
23
+ const ctx = (0, _gestures.useOptionalScreenGestureStore)();
25
24
  return (0, _resolveChainTarget.resolveChainTarget)({
26
25
  target,
27
26
  self: ctx,
28
- ancestors: (0, _ancestors.walkGestureAncestors)(ctx?.gestureContext)
27
+ ancestors: ctx?.ancestorGestures ?? []
29
28
  })?.panGesture ?? null;
30
29
  };
31
30
  exports.useScreenGesture = useScreenGesture;
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveChainTarget","require","_gestures","_ancestors","useScreenGesture","target","ctx","useGestureStore","resolveChainTarget","self","ancestors","walkGestureAncestors","gestureContext","panGesture","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture.ts"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAIC,MAA4B,IAAK;EACjE,MAAMC,GAAG,GAAG,IAAAC,yBAAe,EAAC,CAAC;EAE7B,OACC,IAAAC,sCAAkB,EAAC;IAClBH,MAAM;IACNI,IAAI,EAAEH,GAAG;IACTI,SAAS,EAAE,IAAAC,+BAAoB,EAACL,GAAG,EAAEM,cAAc;EACpD,CAAC,CAAC,EAAEC,UAAU,IAAI,IAAI;AAExB,CAAC;AAACC,OAAA,CAAAV,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_resolveChainTarget","require","_gestures","useScreenGesture","target","ctx","useOptionalScreenGestureStore","resolveChainTarget","self","ancestors","ancestorGestures","panGesture","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture.ts"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,gBAAgB,GAAIC,MAA4B,IAAK;EACjE,MAAMC,GAAG,GAAG,IAAAC,uCAA6B,EAAC,CAAC;EAE3C,OACC,IAAAC,sCAAkB,EAAC;IAClBH,MAAM;IACNI,IAAI,EAAEH,GAAG;IACTI,SAAS,EAAEJ,GAAG,EAAEK,gBAAgB,IAAI;EACrC,CAAC,CAAC,EAAEC,UAAU,IAAI,IAAI;AAExB,CAAC;AAACC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -9,10 +9,16 @@ Object.defineProperty(exports, "ScreenGestureProvider", {
9
9
  return _gestures.ScreenGestureProvider;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "useGestureStore", {
12
+ Object.defineProperty(exports, "useOptionalScreenGestureStore", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _gestures.useGestureStore;
15
+ return _gestures.useOptionalScreenGestureStore;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useScreenGestureStore", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _gestures.useScreenGestureStore;
16
22
  }
17
23
  });
18
24
  var _gestures = require("./gestures.provider");
@@ -1 +1 @@
1
- {"version":3,"names":["_gestures","require"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/gestures/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_gestures","require"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/gestures/index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
@@ -10,7 +10,6 @@ var _ownership = require("../../../../types/ownership.types");
10
10
  var _descriptors = require("../../../screen/descriptors");
11
11
  var _blankStack = require("../../../stack/blank-stack.provider");
12
12
  var _gestures = require("../gestures.provider");
13
- var _ancestors = require("../shared/ancestors");
14
13
  var _policy = require("../shared/policy");
15
14
  var _shadowingClaims = require("./shadowing-claims");
16
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -24,12 +23,12 @@ const findShadowedDirections = (claimedDirections, ancestorDirections) => {
24
23
  }
25
24
  return shadowedDirections;
26
25
  };
27
- const findShadowedAncestors = (parentContext, claimedDirections) => {
28
- if (!parentContext) {
26
+ const findShadowedAncestors = (ancestorGestures, claimedDirections) => {
27
+ if (ancestorGestures.length === 0) {
29
28
  return NO_SHADOWED_ANCESTORS;
30
29
  }
31
30
  const ancestors = [];
32
- for (const ancestor of (0, _ancestors.walkGestureAncestors)(parentContext)) {
31
+ for (const ancestor of ancestorGestures) {
33
32
  const directions = findShadowedDirections(claimedDirections, ancestor.claimedDirections);
34
33
  if (directions.length > 0) {
35
34
  ancestors.push({
@@ -84,29 +83,23 @@ const getDescriptorIsFirstKey = descriptor => {
84
83
  const routes = navigationState?.routes ?? [];
85
84
  return routes.findIndex(route => route.key === descriptor.route.key) === 0;
86
85
  };
87
- const getDescriptorClaimedDirections = (descriptor, gestureContext) => {
86
+ const getDescriptorClaimedDirections = (descriptor, ancestorGestures) => {
88
87
  if (!descriptor) {
89
88
  return _ownership.NO_CLAIMS;
90
89
  }
91
90
  return (0, _policy.resolveScreenGestureConfig)({
92
91
  options: descriptor.options,
93
92
  isFirstKey: getDescriptorIsFirstKey(descriptor),
94
- gestureContext
93
+ ancestorGestures
95
94
  }).participation.claimedDirections;
96
95
  };
97
- const requireGestureContext = gestureContext => {
98
- if (!gestureContext) {
99
- throw new Error("GestureOwnershipBridge must be rendered within a ScreenGestureProvider");
100
- }
101
- return gestureContext;
102
- };
103
96
  function ActiveGestureOwnershipBridge() {
104
- const gestureContext = requireGestureContext((0, _gestures.useGestureStore)());
97
+ const gestureContext = (0, _gestures.useScreenGestureStore)();
105
98
  const previous = (0, _descriptors.useDescriptorsStore)(store => store.previous);
106
- const isCurrentScreenClosing = (0, _blankStack.useBlankStackStore)(store => store?.scenesByKey[gestureContext.routeKey]?.activity === "closing");
99
+ const isCurrentScreenClosing = (0, _blankStack.useOptionalBlankStackStore)(store => store?.scenesByKey[gestureContext.routeKey]?.activity === "closing");
107
100
  const {
108
101
  claimedDirections,
109
- gestureContext: parentContext,
102
+ ancestorGestures,
110
103
  routeKey: currentScreenKey
111
104
  } = gestureContext;
112
105
  // A retained closing screen cannot receive touches, so its ownership must
@@ -114,9 +107,9 @@ function ActiveGestureOwnershipBridge() {
114
107
  const effectiveClaimedDirections = (0, _react.useMemo)(() => (0, _shadowingClaims.resolveShadowingClaimDirections)({
115
108
  isCurrentScreenClosing,
116
109
  currentClaimedDirections: claimedDirections,
117
- previousClaimedDirections: getDescriptorClaimedDirections(previous, parentContext)
118
- }), [isCurrentScreenClosing, claimedDirections, previous, parentContext]);
119
- const shadowedAncestors = (0, _react.useMemo)(() => findShadowedAncestors(parentContext, effectiveClaimedDirections), [parentContext, effectiveClaimedDirections]);
110
+ previousClaimedDirections: getDescriptorClaimedDirections(previous, ancestorGestures)
111
+ }), [isCurrentScreenClosing, claimedDirections, previous, ancestorGestures]);
112
+ const shadowedAncestors = (0, _react.useMemo)(() => findShadowedAncestors(ancestorGestures, effectiveClaimedDirections), [ancestorGestures, effectiveClaimedDirections]);
120
113
  (0, _react.useLayoutEffect)(() => {
121
114
  if (!shadowedAncestors.length) {
122
115
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_gesture","_ownership","_descriptors","_blankStack","_gestures","_ancestors","_policy","_shadowingClaims","_jsxRuntime","NO_SHADOWED_ANCESTORS","findShadowedDirections","claimedDirections","ancestorDirections","shadowedDirections","direction","DIRECTIONS","push","findShadowedAncestors","parentContext","ancestors","ancestor","walkGestureAncestors","directions","length","registerShadowingClaims","shadowedAncestors","currentScreenKey","isDismissing","GestureStore","getValue","newClaims","childDirectionClaims","get","routeKey","set","clearShadowingClaims","currentClaims","needsUpdate","getDescriptorIsFirstKey","descriptor","navigationState","navigation","getState","routes","findIndex","route","key","getDescriptorClaimedDirections","gestureContext","NO_CLAIMS","resolveScreenGestureConfig","options","isFirstKey","participation","requireGestureContext","Error","ActiveGestureOwnershipBridge","useGestureStore","previous","useDescriptorsStore","store","isCurrentScreenClosing","useBlankStackStore","scenesByKey","activity","effectiveClaimedDirections","useMemo","resolveShadowingClaimDirections","currentClaimedDirections","previousClaimedDirections","useLayoutEffect","GestureOwnershipBridge","isTopMostScreen","derivations","jsx"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_gesture","_ownership","_descriptors","_blankStack","_gestures","_policy","_shadowingClaims","_jsxRuntime","NO_SHADOWED_ANCESTORS","findShadowedDirections","claimedDirections","ancestorDirections","shadowedDirections","direction","DIRECTIONS","push","findShadowedAncestors","ancestorGestures","length","ancestors","ancestor","directions","registerShadowingClaims","shadowedAncestors","currentScreenKey","isDismissing","GestureStore","getValue","newClaims","childDirectionClaims","get","routeKey","set","clearShadowingClaims","currentClaims","needsUpdate","getDescriptorIsFirstKey","descriptor","navigationState","navigation","getState","routes","findIndex","route","key","getDescriptorClaimedDirections","NO_CLAIMS","resolveScreenGestureConfig","options","isFirstKey","participation","ActiveGestureOwnershipBridge","gestureContext","useScreenGestureStore","previous","useDescriptorsStore","store","isCurrentScreenClosing","useOptionalBlankStackStore","scenesByKey","activity","effectiveClaimedDirections","useMemo","resolveShadowingClaimDirections","currentClaimedDirections","previousClaimedDirections","useLayoutEffect","GestureOwnershipBridge","isTopMostScreen","derivations","jsx"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx"],"mappings":"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","ignoreList":[]}
@@ -23,15 +23,15 @@ var _ownership = require("../../../../types/ownership.types");
23
23
  * used in worklets since it's a plain object.
24
24
  *
25
25
  * @param selfClaims - The directions claimed by the current screen
26
- * @param gestureContext - The gesture context chain (can be null if no ancestors)
26
+ * @param ancestors - Nearest-first ancestor gesture values from screen topology.
27
27
  * @returns Ownership status for all four directions
28
28
  */
29
- function resolveOwnership(selfClaims, gestureContext) {
29
+ function resolveOwnership(selfClaims, ancestors) {
30
30
  const result = {
31
31
  ..._ownership.NO_OWNERSHIP
32
32
  };
33
33
  for (const direction of _ownership.DIRECTIONS) {
34
- result[direction] = resolveDirectionOwnership(direction, selfClaims, gestureContext);
34
+ result[direction] = resolveDirectionOwnership(direction, selfClaims, ancestors);
35
35
  }
36
36
  return result;
37
37
  }
@@ -39,19 +39,17 @@ function resolveOwnership(selfClaims, gestureContext) {
39
39
  /**
40
40
  * Resolves ownership for a single direction.
41
41
  */
42
- function resolveDirectionOwnership(direction, selfClaims, gestureContext) {
42
+ function resolveDirectionOwnership(direction, selfClaims, ancestors) {
43
43
  // Check self first
44
44
  if (selfClaims[direction]) {
45
45
  return "self";
46
46
  }
47
47
 
48
48
  // Walk ancestors looking for a claim
49
- let ancestor = gestureContext;
50
- while (ancestor) {
49
+ for (const ancestor of ancestors) {
51
50
  if (ancestor.claimedDirections?.[direction]) {
52
51
  return "ancestor";
53
52
  }
54
- ancestor = ancestor.gestureContext;
55
53
  }
56
54
 
57
55
  // No one claims this direction