react-native-screen-transitions 4.0.0 → 4.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js +1 -3
  2. package/lib/commonjs/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  3. package/lib/commonjs/components/blank-stack-host.js +21 -0
  4. package/lib/commonjs/components/blank-stack-host.js.map +1 -0
  5. package/lib/commonjs/components/blank-stack-runtime.js +33 -0
  6. package/lib/commonjs/components/blank-stack-runtime.js.map +1 -0
  7. package/lib/commonjs/components/blank-stack-scene.js +31 -0
  8. package/lib/commonjs/components/blank-stack-scene.js.map +1 -0
  9. package/lib/commonjs/components/blank-stack-view.js +23 -0
  10. package/lib/commonjs/components/blank-stack-view.js.map +1 -0
  11. package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js +2 -4
  12. package/lib/commonjs/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -1
  13. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js +1 -16
  14. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  15. package/lib/commonjs/components/overlay/variations/overlay-host.js +0 -1
  16. package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
  17. package/lib/commonjs/components/screen-lifecycle/index.js +2 -2
  18. package/lib/commonjs/components/screen-lifecycle/index.js.map +1 -1
  19. package/lib/commonjs/custom-navigator.js +41 -0
  20. package/lib/commonjs/custom-navigator.js.map +1 -0
  21. package/lib/commonjs/hooks/navigation/use-blank-stack-state.js +26 -0
  22. package/lib/commonjs/hooks/navigation/use-blank-stack-state.js.map +1 -0
  23. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +2 -2
  24. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
  25. package/lib/commonjs/hooks/navigation/use-screen-state.js +1 -1
  26. package/lib/commonjs/hooks/navigation/use-screen-state.js.map +1 -1
  27. package/lib/commonjs/providers/screen/animation/animation.provider.js +11 -24
  28. package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
  29. package/lib/commonjs/providers/screen/animation/helpers/pipeline.js +19 -36
  30. package/lib/commonjs/providers/screen/animation/helpers/pipeline.js.map +1 -1
  31. package/lib/commonjs/providers/screen/animation/use-screen-animation.js +16 -12
  32. package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
  33. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js +31 -64
  34. package/lib/commonjs/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  35. package/lib/commonjs/providers/screen/descriptors/index.js +6 -0
  36. package/lib/commonjs/providers/screen/descriptors/index.js.map +1 -1
  37. package/lib/commonjs/providers/screen/gestures/gestures.provider.js +14 -25
  38. package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
  39. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -4
  40. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  41. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js +6 -7
  42. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  43. package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-coordinator.js +149 -0
  44. package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-coordinator.js.map +1 -0
  45. package/lib/commonjs/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js +15 -0
  46. package/lib/commonjs/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js.map +1 -0
  47. package/lib/commonjs/providers/screen/gestures/ownership/use-register-gesture-ownership.js +52 -0
  48. package/lib/commonjs/providers/screen/gestures/ownership/use-register-gesture-ownership.js.map +1 -0
  49. package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js +4 -9
  50. package/lib/commonjs/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  51. package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -3
  52. package/lib/commonjs/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  53. package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
  54. package/lib/commonjs/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  55. package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +13 -11
  56. package/lib/commonjs/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  57. package/lib/commonjs/providers/screen/gestures/shared/policy.js +4 -9
  58. package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
  59. package/lib/commonjs/providers/screen/gestures/types.js +2 -2
  60. package/lib/commonjs/providers/screen/gestures/types.js.map +1 -1
  61. package/lib/commonjs/providers/screen/screen-composer.js +10 -13
  62. package/lib/commonjs/providers/screen/screen-composer.js.map +1 -1
  63. package/lib/commonjs/providers/screen/styles/helpers/create-interpolator-scope.js +3 -15
  64. package/lib/commonjs/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -1
  65. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +4 -25
  66. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  67. package/lib/commonjs/providers/screen/topology/helpers/create-screen-topology.js +176 -0
  68. package/lib/commonjs/providers/screen/topology/helpers/create-screen-topology.js.map +1 -0
  69. package/lib/commonjs/providers/screen/topology/hooks/use-resolved-transition-key.js +17 -0
  70. package/lib/commonjs/providers/screen/topology/hooks/use-resolved-transition-key.js.map +1 -0
  71. package/lib/commonjs/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.js +1 -1
  72. package/lib/commonjs/providers/screen/topology/hooks/use-screen-relationships.js.map +1 -0
  73. package/lib/commonjs/{factories/screen-topology → providers/screen/topology}/index.js +16 -15
  74. package/lib/commonjs/providers/screen/topology/index.js.map +1 -0
  75. package/lib/commonjs/providers/screen/topology/topology.provider.js +56 -0
  76. package/lib/commonjs/providers/screen/topology/topology.provider.js.map +1 -0
  77. package/lib/commonjs/providers/screen/topology/types.js.map +1 -0
  78. package/lib/commonjs/providers/screen/use-current-screen-relationships.js +2 -2
  79. package/lib/commonjs/providers/screen/use-current-screen-relationships.js.map +1 -1
  80. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +1 -1
  81. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  82. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js +1 -1
  83. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  84. package/lib/commonjs/providers/stack/stack-transition/index.js +20 -0
  85. package/lib/commonjs/providers/stack/stack-transition/index.js.map +1 -0
  86. package/lib/commonjs/providers/stack/stack-transition/stack-transition-controller.js +197 -0
  87. package/lib/commonjs/providers/stack/stack-transition/stack-transition-controller.js.map +1 -0
  88. package/lib/commonjs/providers/stack/stack-transition/stack-transition.provider.js +92 -0
  89. package/lib/commonjs/providers/stack/stack-transition/stack-transition.provider.js.map +1 -0
  90. package/lib/commonjs/providers/stack/stack-transition/use-stack-transition.js +46 -0
  91. package/lib/commonjs/providers/stack/stack-transition/use-stack-transition.js.map +1 -0
  92. package/lib/commonjs/types/ownership.types.js +2 -25
  93. package/lib/commonjs/types/ownership.types.js.map +1 -1
  94. package/lib/module/adapters/with-screen-transitions/stack-layout.js +1 -3
  95. package/lib/module/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  96. package/lib/module/components/blank-stack-host.js +17 -0
  97. package/lib/module/components/blank-stack-host.js.map +1 -0
  98. package/lib/module/components/blank-stack-runtime.js +29 -0
  99. package/lib/module/components/blank-stack-runtime.js.map +1 -0
  100. package/lib/module/components/blank-stack-scene.js +27 -0
  101. package/lib/module/components/blank-stack-scene.js.map +1 -0
  102. package/lib/module/components/blank-stack-view.js +19 -0
  103. package/lib/module/components/blank-stack-view.js.map +1 -0
  104. package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js +2 -4
  105. package/lib/module/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -1
  106. package/lib/module/components/overlay/hooks/use-overlay-slot.js +1 -16
  107. package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  108. package/lib/module/components/overlay/variations/overlay-host.js +0 -1
  109. package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
  110. package/lib/module/components/screen-lifecycle/index.js +2 -2
  111. package/lib/module/components/screen-lifecycle/index.js.map +1 -1
  112. package/lib/module/custom-navigator.js +8 -0
  113. package/lib/module/custom-navigator.js.map +1 -0
  114. package/lib/module/hooks/navigation/use-blank-stack-state.js +21 -0
  115. package/lib/module/hooks/navigation/use-blank-stack-state.js.map +1 -0
  116. package/lib/module/hooks/navigation/use-navigation-helpers.js +2 -2
  117. package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
  118. package/lib/module/hooks/navigation/use-screen-state.js +1 -1
  119. package/lib/module/hooks/navigation/use-screen-state.js.map +1 -1
  120. package/lib/module/providers/screen/animation/animation.provider.js +11 -24
  121. package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
  122. package/lib/module/providers/screen/animation/helpers/pipeline.js +19 -36
  123. package/lib/module/providers/screen/animation/helpers/pipeline.js.map +1 -1
  124. package/lib/module/providers/screen/animation/use-screen-animation.js +17 -13
  125. package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
  126. package/lib/module/providers/screen/descriptors/descriptors.provider.js +31 -66
  127. package/lib/module/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  128. package/lib/module/providers/screen/descriptors/index.js +1 -1
  129. package/lib/module/providers/screen/descriptors/index.js.map +1 -1
  130. package/lib/module/providers/screen/gestures/gestures.provider.js +16 -27
  131. package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
  132. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -4
  133. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  134. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js +6 -7
  135. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  136. package/lib/module/providers/screen/gestures/ownership/gesture-ownership-coordinator.js +144 -0
  137. package/lib/module/providers/screen/gestures/ownership/gesture-ownership-coordinator.js.map +1 -0
  138. package/lib/module/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js +10 -0
  139. package/lib/module/providers/screen/gestures/ownership/use-gesture-scroll-coordination.js.map +1 -0
  140. package/lib/module/providers/screen/gestures/ownership/use-register-gesture-ownership.js +47 -0
  141. package/lib/module/providers/screen/gestures/ownership/use-register-gesture-ownership.js.map +1 -0
  142. package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js +4 -9
  143. package/lib/module/providers/screen/gestures/pan/activation/pan-activation-decision.js.map +1 -1
  144. package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -3
  145. package/lib/module/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  146. package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
  147. package/lib/module/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  148. package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +13 -11
  149. package/lib/module/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  150. package/lib/module/providers/screen/gestures/shared/policy.js +4 -9
  151. package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
  152. package/lib/module/providers/screen/gestures/types.js +1 -1
  153. package/lib/module/providers/screen/gestures/types.js.map +1 -1
  154. package/lib/module/providers/screen/screen-composer.js +10 -13
  155. package/lib/module/providers/screen/screen-composer.js.map +1 -1
  156. package/lib/module/providers/screen/styles/helpers/create-interpolator-scope.js +3 -15
  157. package/lib/module/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -1
  158. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +4 -25
  159. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  160. package/lib/module/providers/screen/topology/helpers/create-screen-topology.js +171 -0
  161. package/lib/module/providers/screen/topology/helpers/create-screen-topology.js.map +1 -0
  162. package/lib/module/providers/screen/topology/hooks/use-resolved-transition-key.js +12 -0
  163. package/lib/module/providers/screen/topology/hooks/use-resolved-transition-key.js.map +1 -0
  164. package/lib/module/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.js +1 -1
  165. package/lib/module/providers/screen/topology/hooks/use-screen-relationships.js.map +1 -0
  166. package/lib/module/providers/screen/topology/index.js +7 -0
  167. package/lib/module/providers/screen/topology/index.js.map +1 -0
  168. package/lib/module/providers/screen/topology/topology.provider.js +50 -0
  169. package/lib/module/providers/screen/topology/topology.provider.js.map +1 -0
  170. package/lib/module/providers/screen/topology/types.js.map +1 -0
  171. package/lib/module/providers/screen/use-current-screen-relationships.js +1 -1
  172. package/lib/module/providers/screen/use-current-screen-relationships.js.map +1 -1
  173. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +1 -1
  174. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  175. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js +1 -1
  176. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  177. package/lib/module/providers/stack/stack-transition/index.js +5 -0
  178. package/lib/module/providers/stack/stack-transition/index.js.map +1 -0
  179. package/lib/module/providers/stack/stack-transition/stack-transition-controller.js +189 -0
  180. package/lib/module/providers/stack/stack-transition/stack-transition-controller.js.map +1 -0
  181. package/lib/module/providers/stack/stack-transition/stack-transition.provider.js +85 -0
  182. package/lib/module/providers/stack/stack-transition/stack-transition.provider.js.map +1 -0
  183. package/lib/module/providers/stack/stack-transition/use-stack-transition.js +41 -0
  184. package/lib/module/providers/stack/stack-transition/use-stack-transition.js.map +1 -0
  185. package/lib/module/types/animation.types.js.map +1 -1
  186. package/lib/module/types/ownership.types.js +1 -24
  187. package/lib/module/types/ownership.types.js.map +1 -1
  188. package/lib/typescript/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  189. package/lib/typescript/components/blank-stack-host.d.ts +9 -0
  190. package/lib/typescript/components/blank-stack-host.d.ts.map +1 -0
  191. package/lib/typescript/components/blank-stack-runtime.d.ts +8 -0
  192. package/lib/typescript/components/blank-stack-runtime.d.ts.map +1 -0
  193. package/lib/typescript/components/blank-stack-scene.d.ts +5 -0
  194. package/lib/typescript/components/blank-stack-scene.d.ts.map +1 -0
  195. package/lib/typescript/components/blank-stack-view.d.ts +2 -0
  196. package/lib/typescript/components/blank-stack-view.d.ts.map +1 -0
  197. package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +2 -3
  198. package/lib/typescript/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -1
  199. package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  200. package/lib/typescript/custom-navigator.d.ts +8 -0
  201. package/lib/typescript/custom-navigator.d.ts.map +1 -0
  202. package/lib/typescript/hooks/navigation/use-blank-stack-state.d.ts +8 -0
  203. package/lib/typescript/hooks/navigation/use-blank-stack-state.d.ts.map +1 -0
  204. package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  205. package/lib/typescript/index.d.ts +1 -1
  206. package/lib/typescript/index.d.ts.map +1 -1
  207. package/lib/typescript/providers/screen/animation/animation.provider.d.ts +2 -5
  208. package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
  209. package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts +2 -4
  210. package/lib/typescript/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  211. package/lib/typescript/providers/screen/animation/types.d.ts +0 -9
  212. package/lib/typescript/providers/screen/animation/types.d.ts.map +1 -1
  213. package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  214. package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts +9 -11
  215. package/lib/typescript/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  216. package/lib/typescript/providers/screen/descriptors/index.d.ts +1 -1
  217. package/lib/typescript/providers/screen/descriptors/index.d.ts.map +1 -1
  218. package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts +9 -12
  219. package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  220. package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  221. package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  222. package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture.d.ts +3 -2
  223. package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture.d.ts.map +1 -1
  224. package/lib/typescript/providers/screen/gestures/index.d.ts +1 -1
  225. package/lib/typescript/providers/screen/gestures/index.d.ts.map +1 -1
  226. package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-coordinator.d.ts +26 -0
  227. package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-coordinator.d.ts.map +1 -0
  228. package/lib/typescript/providers/screen/gestures/ownership/use-gesture-scroll-coordination.d.ts +3 -0
  229. package/lib/typescript/providers/screen/gestures/ownership/use-gesture-scroll-coordination.d.ts.map +1 -0
  230. package/lib/typescript/providers/screen/gestures/ownership/use-register-gesture-ownership.d.ts +9 -0
  231. package/lib/typescript/providers/screen/gestures/ownership/use-register-gesture-ownership.d.ts.map +1 -0
  232. package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts +4 -4
  233. package/lib/typescript/providers/screen/gestures/pan/activation/pan-activation-decision.d.ts.map +1 -1
  234. package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +3 -3
  235. package/lib/typescript/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  236. package/lib/typescript/providers/screen/gestures/pan/use-build-pan-gesture.d.ts +3 -3
  237. package/lib/typescript/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
  238. package/lib/typescript/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  239. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +2 -3
  240. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  241. package/lib/typescript/providers/screen/gestures/types.d.ts +4 -18
  242. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  243. package/lib/typescript/providers/screen/screen-composer.d.ts +2 -6
  244. package/lib/typescript/providers/screen/screen-composer.d.ts.map +1 -1
  245. package/lib/typescript/providers/screen/styles/helpers/create-interpolator-scope.d.ts +2 -3
  246. package/lib/typescript/providers/screen/styles/helpers/create-interpolator-scope.d.ts.map +1 -1
  247. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  248. package/lib/typescript/{factories/screen-topology → providers/screen/topology/helpers}/create-screen-topology.d.ts +1 -1
  249. package/lib/typescript/providers/screen/topology/helpers/create-screen-topology.d.ts.map +1 -0
  250. package/lib/typescript/providers/screen/topology/hooks/use-resolved-transition-key.d.ts +3 -0
  251. package/lib/typescript/providers/screen/topology/hooks/use-resolved-transition-key.d.ts.map +1 -0
  252. package/lib/typescript/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.d.ts +1 -0
  253. package/lib/typescript/providers/screen/topology/hooks/use-screen-relationships.d.ts.map +1 -0
  254. package/lib/typescript/providers/screen/topology/index.d.ts +6 -0
  255. package/lib/typescript/providers/screen/topology/index.d.ts.map +1 -0
  256. package/lib/typescript/providers/screen/topology/topology.provider.d.ts +13 -0
  257. package/lib/typescript/providers/screen/topology/topology.provider.d.ts.map +1 -0
  258. package/lib/typescript/{factories/screen-topology → providers/screen/topology}/types.d.ts +7 -1
  259. package/lib/typescript/providers/screen/topology/types.d.ts.map +1 -0
  260. package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts +1 -0
  261. package/lib/typescript/providers/screen/use-current-screen-relationships.d.ts.map +1 -1
  262. package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
  263. package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
  264. package/lib/typescript/providers/stack/stack-transition/index.d.ts +3 -0
  265. package/lib/typescript/providers/stack/stack-transition/index.d.ts.map +1 -0
  266. package/lib/typescript/providers/stack/stack-transition/stack-transition-controller.d.ts +48 -0
  267. package/lib/typescript/providers/stack/stack-transition/stack-transition-controller.d.ts.map +1 -0
  268. package/lib/typescript/providers/stack/stack-transition/stack-transition.provider.d.ts +14 -0
  269. package/lib/typescript/providers/stack/stack-transition/stack-transition.provider.d.ts.map +1 -0
  270. package/lib/typescript/providers/stack/stack-transition/use-stack-transition.d.ts +12 -0
  271. package/lib/typescript/providers/stack/stack-transition/use-stack-transition.d.ts.map +1 -0
  272. package/lib/typescript/types/animation.types.d.ts +1 -15
  273. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  274. package/lib/typescript/types/bounds.types.d.ts +1 -1
  275. package/lib/typescript/types/bounds.types.d.ts.map +1 -1
  276. package/lib/typescript/types/index.d.ts +1 -1
  277. package/lib/typescript/types/index.d.ts.map +1 -1
  278. package/lib/typescript/types/ownership.types.d.ts +1 -18
  279. package/lib/typescript/types/ownership.types.d.ts.map +1 -1
  280. package/lib/typescript/types/screen.types.d.ts +9 -0
  281. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  282. package/package.json +7 -1
  283. package/src/adapters/with-screen-transitions/stack-layout.tsx +1 -9
  284. package/src/components/blank-stack-host.tsx +21 -0
  285. package/src/components/blank-stack-runtime.tsx +37 -0
  286. package/src/components/blank-stack-scene.tsx +30 -0
  287. package/src/components/blank-stack-view.tsx +19 -0
  288. package/src/components/overlay/helpers/run-overlay-slot-interpolator.ts +0 -4
  289. package/src/components/overlay/hooks/use-overlay-slot.ts +0 -25
  290. package/src/components/overlay/variations/overlay-host.tsx +0 -1
  291. package/src/components/screen-lifecycle/index.tsx +2 -2
  292. package/src/custom-navigator.ts +25 -0
  293. package/src/hooks/navigation/use-blank-stack-state.ts +24 -0
  294. package/src/hooks/navigation/use-navigation-helpers.ts +4 -2
  295. package/src/hooks/navigation/use-screen-state.ts +1 -1
  296. package/src/index.ts +0 -1
  297. package/src/providers/screen/animation/animation.provider.tsx +13 -53
  298. package/src/providers/screen/animation/helpers/pipeline.ts +14 -26
  299. package/src/providers/screen/animation/types.ts +0 -11
  300. package/src/providers/screen/animation/use-screen-animation.tsx +42 -10
  301. package/src/providers/screen/descriptors/descriptors.provider.tsx +43 -99
  302. package/src/providers/screen/descriptors/index.tsx +1 -0
  303. package/src/providers/screen/gestures/gestures.provider.tsx +14 -55
  304. package/src/providers/screen/gestures/hooks/use-screen-gesture-config.ts +3 -6
  305. package/src/providers/screen/gestures/hooks/use-screen-gesture.ts +13 -13
  306. package/src/providers/screen/gestures/index.tsx +0 -2
  307. package/src/providers/screen/gestures/ownership/gesture-ownership-coordinator.ts +252 -0
  308. package/src/providers/screen/gestures/ownership/use-gesture-scroll-coordination.ts +23 -0
  309. package/src/providers/screen/gestures/ownership/use-register-gesture-ownership.ts +73 -0
  310. package/src/providers/screen/gestures/pan/activation/pan-activation-decision.ts +6 -20
  311. package/src/providers/screen/gestures/pan/activation/use-pan-activation.ts +5 -5
  312. package/src/providers/screen/gestures/pan/use-build-pan-gesture.ts +4 -4
  313. package/src/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +9 -12
  314. package/src/providers/screen/gestures/shared/policy.ts +0 -8
  315. package/src/providers/screen/gestures/types.ts +4 -19
  316. package/src/providers/screen/screen-composer.tsx +18 -29
  317. package/src/providers/screen/styles/helpers/create-interpolator-scope.ts +2 -21
  318. package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +0 -29
  319. package/src/{factories/screen-topology → providers/screen/topology/helpers}/create-screen-topology.ts +97 -53
  320. package/src/providers/screen/topology/hooks/use-resolved-transition-key.ts +29 -0
  321. package/src/{factories/screen-topology → providers/screen/topology/hooks}/use-screen-relationships.ts +1 -1
  322. package/src/providers/screen/topology/index.ts +16 -0
  323. package/src/providers/screen/topology/topology.provider.tsx +72 -0
  324. package/src/{factories/screen-topology → providers/screen/topology}/types.ts +7 -1
  325. package/src/providers/screen/use-current-screen-relationships.ts +1 -1
  326. package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +1 -0
  327. package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +6 -3
  328. package/src/providers/stack/stack-transition/index.ts +5 -0
  329. package/src/providers/stack/stack-transition/stack-transition-controller.ts +341 -0
  330. package/src/providers/stack/stack-transition/stack-transition.provider.tsx +120 -0
  331. package/src/providers/stack/stack-transition/use-stack-transition.ts +77 -0
  332. package/src/types/animation.types.ts +1 -19
  333. package/src/types/bounds.types.ts +1 -4
  334. package/src/types/index.ts +0 -1
  335. package/src/types/ownership.types.ts +1 -26
  336. package/src/types/screen.types.ts +10 -0
  337. package/lib/commonjs/factories/screen-topology/create-screen-topology.js +0 -147
  338. package/lib/commonjs/factories/screen-topology/create-screen-topology.js.map +0 -1
  339. package/lib/commonjs/factories/screen-topology/index.js.map +0 -1
  340. package/lib/commonjs/factories/screen-topology/types.js.map +0 -1
  341. package/lib/commonjs/factories/screen-topology/use-screen-relationships.js.map +0 -1
  342. package/lib/commonjs/factories/screen-topology/worklet.js +0 -55
  343. package/lib/commonjs/factories/screen-topology/worklet.js.map +0 -1
  344. package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +0 -62
  345. package/lib/commonjs/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +0 -1
  346. package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js +0 -16
  347. package/lib/commonjs/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +0 -1
  348. package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-bridge.js +0 -128
  349. package/lib/commonjs/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +0 -1
  350. package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js +0 -71
  351. package/lib/commonjs/providers/screen/gestures/ownership/resolve-ownership.js.map +0 -1
  352. package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +0 -54
  353. package/lib/commonjs/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
  354. package/lib/commonjs/providers/screen/styles/helpers/collect-interpolator-shared-values.js +0 -50
  355. package/lib/commonjs/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +0 -1
  356. package/lib/commonjs/utils/resolve-chain-target.js +0 -29
  357. package/lib/commonjs/utils/resolve-chain-target.js.map +0 -1
  358. package/lib/module/factories/screen-topology/create-screen-topology.js +0 -142
  359. package/lib/module/factories/screen-topology/create-screen-topology.js.map +0 -1
  360. package/lib/module/factories/screen-topology/index.js +0 -6
  361. package/lib/module/factories/screen-topology/index.js.map +0 -1
  362. package/lib/module/factories/screen-topology/types.js.map +0 -1
  363. package/lib/module/factories/screen-topology/use-screen-relationships.js.map +0 -1
  364. package/lib/module/factories/screen-topology/worklet.js +0 -48
  365. package/lib/module/factories/screen-topology/worklet.js.map +0 -1
  366. package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +0 -56
  367. package/lib/module/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +0 -1
  368. package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js +0 -11
  369. package/lib/module/providers/screen/animation/helpers/read-screen-animation-revisions.js.map +0 -1
  370. package/lib/module/providers/screen/gestures/ownership/gesture-ownership-bridge.js +0 -124
  371. package/lib/module/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +0 -1
  372. package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js +0 -67
  373. package/lib/module/providers/screen/gestures/ownership/resolve-ownership.js.map +0 -1
  374. package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js +0 -50
  375. package/lib/module/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.js.map +0 -1
  376. package/lib/module/providers/screen/styles/helpers/collect-interpolator-shared-values.js +0 -45
  377. package/lib/module/providers/screen/styles/helpers/collect-interpolator-shared-values.js.map +0 -1
  378. package/lib/module/utils/resolve-chain-target.js +0 -25
  379. package/lib/module/utils/resolve-chain-target.js.map +0 -1
  380. package/lib/typescript/factories/screen-topology/create-screen-topology.d.ts.map +0 -1
  381. package/lib/typescript/factories/screen-topology/index.d.ts +0 -5
  382. package/lib/typescript/factories/screen-topology/index.d.ts.map +0 -1
  383. package/lib/typescript/factories/screen-topology/types.d.ts.map +0 -1
  384. package/lib/typescript/factories/screen-topology/use-screen-relationships.d.ts.map +0 -1
  385. package/lib/typescript/factories/screen-topology/worklet.d.ts +0 -5
  386. package/lib/typescript/factories/screen-topology/worklet.d.ts.map +0 -1
  387. package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +0 -9
  388. package/lib/typescript/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +0 -1
  389. package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts +0 -6
  390. package/lib/typescript/providers/screen/animation/helpers/read-screen-animation-revisions.d.ts.map +0 -1
  391. package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts +0 -3
  392. package/lib/typescript/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +0 -1
  393. package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts +0 -32
  394. package/lib/typescript/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +0 -1
  395. package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts +0 -11
  396. package/lib/typescript/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.d.ts.map +0 -1
  397. package/lib/typescript/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts +0 -4
  398. package/lib/typescript/providers/screen/styles/helpers/collect-interpolator-shared-values.d.ts.map +0 -1
  399. package/lib/typescript/utils/resolve-chain-target.d.ts +0 -11
  400. package/lib/typescript/utils/resolve-chain-target.d.ts.map +0 -1
  401. package/src/factories/screen-topology/index.ts +0 -16
  402. package/src/factories/screen-topology/worklet.ts +0 -60
  403. package/src/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +0 -96
  404. package/src/providers/screen/animation/helpers/read-screen-animation-revisions.ts +0 -15
  405. package/src/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx +0 -173
  406. package/src/providers/screen/gestures/ownership/resolve-ownership.ts +0 -90
  407. package/src/providers/screen/gestures/scroll-coordination/walk-up-scroll-gesture-coordination.ts +0 -88
  408. package/src/providers/screen/styles/helpers/collect-interpolator-shared-values.ts +0 -75
  409. package/src/utils/resolve-chain-target.ts +0 -33
  410. /package/lib/commonjs/{factories/screen-topology → providers/screen/topology}/types.js +0 -0
  411. /package/lib/module/{factories/screen-topology → providers/screen/topology}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","AnimationStore","useBlankStackStore","useStackCoreStore","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","readStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","stackProgressEntries","currentRouteKey","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","useScreenAnimationPipeline","transitionsAlwaysOn","store","flags","TRANSITIONS_ALWAYS_ON","routeKeys","map","routeKey","visualProgress","getValue","currDescriptor","key","nextRouteKey","initialInterpolatorProps","screenInterpolatorProps","selectedInterpolatorOptions","propsRevisionState","value","screenInterpolatorPropsRevision","modify","get","revision","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../src","sources":["providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","AnimationStore","useBlankStackStore","useStackCoreStore","useDescriptorsStore","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","readStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","stackProgressEntries","currentRouteKey","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","useScreenAnimationPipeline","transitionsAlwaysOn","store","flags","TRANSITIONS_ALWAYS_ON","routeKeys","map","routeKey","visualProgress","getValue","currDescriptor","descriptors","key","nextRouteKey","initialInterpolatorProps","selectedInterpolatorOptions","screenInterpolatorProps","get","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../src","sources":["providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  import { useDerivedValue } from "react-native-reanimated";
4
- import { useScreenAnimationStore } from "./animation.provider";
5
- import { useBuildTransitionAccessor } from "./helpers/accessors/use-build-transition-accessor";
6
- import { readScreenAnimationRevisions } from "./helpers/read-screen-animation-revisions";
4
+ import { useOptionalDescriptorsStore } from "../descriptors";
5
+ import { useResolvedTransitionKey } from "../topology";
6
+ import { useOptionalScreenAnimationStore, useScreenAnimationStore } from "./animation.provider";
7
7
  export function useScreenAnimation(target) {
8
- const screenAnimationStore = useScreenAnimationStore();
9
- const {
10
- transitionSources
11
- } = screenAnimationStore;
12
- const transition = useBuildTransitionAccessor(screenAnimationStore);
13
- const transitionTarget = target;
8
+ const currentKey = useOptionalDescriptorsStore(store => store?.derivations.currentScreenKey ?? null);
9
+ const localInterpolatorProps = useScreenAnimationStore(store => store.screenInterpolatorProps);
10
+ const localBoundsAccessor = useScreenAnimationStore(store => store.boundsAccessor);
11
+ const usesLocalStore = target === undefined || typeof target === "object" && target.depth === 0;
12
+ const screenKey = useResolvedTransitionKey(currentKey, target);
13
+ const keyedInterpolatorProps = useOptionalScreenAnimationStore(usesLocalStore ? null : screenKey, store => store.screenInterpolatorProps);
14
+ const keyedBoundsAccessor = useOptionalScreenAnimationStore(usesLocalStore ? null : screenKey, store => store.boundsAccessor);
15
+ const screenInterpolatorProps = usesLocalStore ? localInterpolatorProps : keyedInterpolatorProps;
16
+ const boundsAccessor = usesLocalStore ? localBoundsAccessor : keyedBoundsAccessor;
14
17
  const animation = useDerivedValue(() => {
15
- "worklet";
16
-
17
- readScreenAnimationRevisions(transitionSources);
18
- return transition(transitionTarget);
18
+ if (!screenInterpolatorProps || !boundsAccessor) return null;
19
+ return {
20
+ ...screenInterpolatorProps.get(),
21
+ bounds: boundsAccessor
22
+ };
19
23
  });
20
24
  return animation;
21
25
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useDerivedValue","useScreenAnimationStore","useBuildTransitionAccessor","readScreenAnimationRevisions","useScreenAnimation","target","screenAnimationStore","transitionSources","transition","transitionTarget","animation"],"sourceRoot":"../../../../../src","sources":["providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAA4BA,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,0BAA0B,QAAQ,mDAAmD;AAC9F,SAASC,4BAA4B,QAAQ,2CAA2C;AAYxF,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,oBAAoB,GAAGL,uBAAuB,CAAC,CAAC;EAEtD,MAAM;IAAEM;EAAkB,CAAC,GAAGD,oBAAoB;EAClD,MAAME,UAAU,GAAGN,0BAA0B,CAACI,oBAAoB,CAAC;EACnE,MAAMG,gBAAgB,GAAGJ,MAAM;EAE/B,MAAMK,SAAS,GAAGV,eAAe,CAAkC,MAAM;IACxE,SAAS;;IACTG,4BAA4B,CAACI,iBAAiB,CAAC;IAC/C,OAAOC,UAAU,CAACC,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOC,SAAS;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["useDerivedValue","useOptionalDescriptorsStore","useResolvedTransitionKey","useOptionalScreenAnimationStore","useScreenAnimationStore","useScreenAnimation","target","currentKey","store","derivations","currentScreenKey","localInterpolatorProps","screenInterpolatorProps","localBoundsAccessor","boundsAccessor","usesLocalStore","undefined","depth","screenKey","keyedInterpolatorProps","keyedBoundsAccessor","animation","get","bounds"],"sourceRoot":"../../../../../src","sources":["providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAA4BA,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,2BAA2B,QAAQ,gBAAgB;AAC5D,SAASC,wBAAwB,QAAQ,aAAa;AACtD,SACCC,+BAA+B,EAC/BC,uBAAuB,QACjB,sBAAsB;AAY7B,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,UAAU,GAAGN,2BAA2B,CAC5CO,KAAK,IAAKA,KAAK,EAAEC,WAAW,CAACC,gBAAgB,IAAI,IACnD,CAAC;EAED,MAAMC,sBAAsB,GAAGP,uBAAuB,CACpDI,KAAK,IAAKA,KAAK,CAACI,uBAClB,CAAC;EACD,MAAMC,mBAAmB,GAAGT,uBAAuB,CACjDI,KAAK,IAAKA,KAAK,CAACM,cAClB,CAAC;EAED,MAAMC,cAAc,GACnBT,MAAM,KAAKU,SAAS,IAAK,OAAOV,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACW,KAAK,KAAK,CAAE;EAE3E,MAAMC,SAAS,GAAGhB,wBAAwB,CAACK,UAAU,EAAED,MAAM,CAAC;EAE9D,MAAMa,sBAAsB,GAAGhB,+BAA+B,CAC7DY,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCV,KAAK,IAAKA,KAAK,CAACI,uBAClB,CAAC;EACD,MAAMQ,mBAAmB,GAAGjB,+BAA+B,CAC1DY,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCV,KAAK,IAAKA,KAAK,CAACM,cAClB,CAAC;EAED,MAAMF,uBAAuB,GAAGG,cAAc,GAC3CJ,sBAAsB,GACtBQ,sBAAsB;EACzB,MAAML,cAAc,GAAGC,cAAc,GAClCF,mBAAmB,GACnBO,mBAAmB;EAEtB,MAAMC,SAAS,GAAGrB,eAAe,CAAkC,MAAM;IACxE,IAAI,CAACY,uBAAuB,IAAI,CAACE,cAAc,EAAE,OAAO,IAAI;IAE5D,OAAO;MACN,GAAGF,uBAAuB,CAACU,GAAG,CAAC,CAAC;MAChCC,MAAM,EAAET;IACT,CAAC;EACF,CAAC,CAAC;EAEF,OAAOO,SAAS;AACjB","ignoreList":[]}
@@ -1,85 +1,50 @@
1
1
  "use strict";
2
2
 
3
- import { useLayoutEffect, useMemo } from "react";
4
- import { screenTopology } from "../../../factories/screen-topology";
5
- import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
3
+ import { useMemo } from "react";
6
4
  import createProvider from "../../../utils/create-provider";
5
+ import { useBlankStackStore } from "../../stack/blank-stack.provider";
7
6
  import { deriveDescriptorDerivations } from "./helpers/derive-descriptor-derivations";
8
-
9
- /**
10
- * Base descriptor interface - minimal contract for all stack types.
11
- * This allows stack implementations to work with the shared providers without
12
- * tight coupling to React Navigation.
13
- */
14
-
15
- const createDescriptorsProvider = createProvider("Descriptors", {
16
- global: true
17
- });
18
7
  const {
19
8
  DescriptorsProvider,
20
9
  useDescriptorsStore,
21
10
  useOptionalDescriptorsStore
22
- } = createDescriptorsProvider(({
23
- previous,
24
- current,
25
- next,
11
+ } = createProvider("Descriptors", {
12
+ global: true
13
+ })(({
26
14
  routeKey,
27
15
  children
28
16
  }) => {
29
- const parentScreenKey = useOptionalDescriptorsStore(store => store?.derivations.currentScreenKey);
30
- const blankStackCurrent = useBlankStackStore(store => routeKey ? store.scenesByKey[routeKey]?.descriptor : undefined);
31
- const blankStackPrevious = useBlankStackStore(store => routeKey ? store.scenesByKey[routeKey]?.previousDescriptor : undefined);
32
- const blankStackNext = useBlankStackStore(store => routeKey ? store.scenesByKey[routeKey]?.nextDescriptor : undefined);
33
- const blankStackFocusedScene = useBlankStackStore(store => store.scenes[store.focusedIndex]);
34
- const resolvedCurrent = current ?? blankStackCurrent;
35
- const resolvedPrevious = previous ?? blankStackPrevious;
36
- const resolvedNext = next ?? blankStackNext;
37
- const currentScreenKey = current?.route.key ?? routeKey;
38
- const focusedScene = blankStackFocusedScene;
39
- const isActiveScreen = focusedScene?.route.key === currentScreenKey && focusedScene?.activity === "active";
40
- if (!resolvedCurrent) {
41
- throw new Error(`Descriptors scene "${routeKey ?? "unknown"}" was not found.`);
42
- }
43
- const descriptors = useMemo(() => ({
44
- previous: resolvedPrevious,
45
- current: resolvedCurrent,
46
- next: resolvedNext
47
- }), [resolvedPrevious, resolvedCurrent, resolvedNext]);
48
- const derivations = useMemo(() => deriveDescriptorDerivations({
49
- previous: resolvedPrevious,
50
- current: resolvedCurrent,
51
- next: resolvedNext
52
- }), [resolvedPrevious, resolvedCurrent, resolvedNext]);
53
- useLayoutEffect(() => {
54
- screenTopology.register({
55
- screenKey: derivations.currentScreenKey,
56
- parentScreenKey
57
- });
58
- return () => {
59
- screenTopology.unregister(derivations.currentScreenKey);
17
+ const scene = useBlankStackStore(s => s.scenesByKey[routeKey]);
18
+ const currentDescriptor = scene.descriptor;
19
+ const previousDescriptor = scene.previousDescriptor;
20
+ const nextDescriptor = scene.nextDescriptor;
21
+ const options = scene.descriptor.options;
22
+ const descriptors = useMemo(() => {
23
+ return {
24
+ previous: previousDescriptor,
25
+ current: currentDescriptor,
26
+ next: nextDescriptor
60
27
  };
61
- }, [derivations.currentScreenKey, parentScreenKey]);
62
- useLayoutEffect(() => {
63
- if (!isActiveScreen || !parentScreenKey) {
64
- return;
65
- }
66
- return screenTopology.activate({
67
- screenKey: derivations.currentScreenKey,
68
- parentScreenKey
28
+ }, [previousDescriptor, currentDescriptor, nextDescriptor]);
29
+ const derivations = useMemo(() => {
30
+ return deriveDescriptorDerivations({
31
+ previous: previousDescriptor,
32
+ current: currentDescriptor,
33
+ next: nextDescriptor
69
34
  });
70
- }, [isActiveScreen, derivations.currentScreenKey, parentScreenKey]);
71
- return {
72
- key: derivations.currentScreenKey,
73
- value: {
74
- previous: resolvedPrevious,
75
- current: resolvedCurrent,
76
- next: resolvedNext,
35
+ }, [previousDescriptor, currentDescriptor, nextDescriptor]);
36
+ const value = useMemo(() => {
37
+ return {
77
38
  descriptors,
78
39
  derivations,
79
- options: resolvedCurrent.options
80
- },
40
+ options
41
+ };
42
+ }, [descriptors, derivations, options]);
43
+ return {
44
+ key: routeKey,
45
+ value,
81
46
  children
82
47
  };
83
48
  });
84
- export { DescriptorsProvider, useDescriptorsStore };
49
+ export { DescriptorsProvider, useDescriptorsStore, useOptionalDescriptorsStore };
85
50
  //# sourceMappingURL=descriptors.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useLayoutEffect","useMemo","screenTopology","useBlankStackStore","createProvider","deriveDescriptorDerivations","createDescriptorsProvider","global","DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore","previous","current","next","routeKey","children","parentScreenKey","store","derivations","currentScreenKey","blankStackCurrent","scenesByKey","descriptor","undefined","blankStackPrevious","previousDescriptor","blankStackNext","nextDescriptor","blankStackFocusedScene","scenes","focusedIndex","resolvedCurrent","resolvedPrevious","resolvedNext","route","key","focusedScene","isActiveScreen","activity","Error","descriptors","register","screenKey","unregister","activate","value","options"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/descriptors.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","createProvider","useBlankStackStore","deriveDescriptorDerivations","DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore","global","routeKey","children","scene","s","scenesByKey","currentDescriptor","descriptor","previousDescriptor","nextDescriptor","options","descriptors","previous","current","next","derivations","value","key"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/descriptors.provider.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAE/B,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,kBAAkB,QAAQ,kCAAkC;AAErE,SAASC,2BAA2B,QAAQ,yCAAyC;AAuBrF,MAAM;EACLC,mBAAmB;EACnBC,mBAAmB;EACnBC;AACD,CAAC,GAAGL,cAAc,CAAC,aAAa,EAAE;EACjCM,MAAM,EAAE;AACT,CAAC,CAAC,CAAiD,CAAC;EAAEC,QAAQ;EAAEC;AAAS,CAAC,KAAK;EAC9E,MAAMC,KAAK,GAAGR,kBAAkB,CAAES,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACJ,QAAQ,CAAC,CAAC;EAEhE,MAAMK,iBAAiB,GAAGH,KAAK,CAACI,UAAU;EAC1C,MAAMC,kBAAkB,GAAGL,KAAK,CAACK,kBAAkB;EACnD,MAAMC,cAAc,GAAGN,KAAK,CAACM,cAAc;EAC3C,MAAMC,OAAO,GAAGP,KAAK,CAACI,UAAU,CAACG,OAAO;EAExC,MAAMC,WAAW,GAAGlB,OAAO,CAAC,MAAM;IACjC,OAAO;MACNmB,QAAQ,EAAEJ,kBAAkB;MAC5BK,OAAO,EAAEP,iBAAiB;MAC1BQ,IAAI,EAAEL;IACP,CAAC;EACF,CAAC,EAAE,CAACD,kBAAkB,EAAEF,iBAAiB,EAAEG,cAAc,CAAC,CAAC;EAE3D,MAAMM,WAAW,GAAGtB,OAAO,CAAC,MAAM;IACjC,OAAOG,2BAA2B,CAAC;MAClCgB,QAAQ,EAAEJ,kBAAkB;MAC5BK,OAAO,EAAEP,iBAAiB;MAC1BQ,IAAI,EAAEL;IACP,CAAC,CAAC;EACH,CAAC,EAAE,CAACD,kBAAkB,EAAEF,iBAAiB,EAAEG,cAAc,CAAC,CAAC;EAE3D,MAAMO,KAAK,GAAGvB,OAAO,CAAC,MAAM;IAC3B,OAAO;MACNkB,WAAW;MACXI,WAAW;MACXL;IACD,CAAC;EACF,CAAC,EAAE,CAACC,WAAW,EAAEI,WAAW,EAAEL,OAAO,CAAC,CAAC;EAEvC,OAAO;IACNO,GAAG,EAAEhB,QAAQ;IACbe,KAAK;IACLd;EACD,CAAC;AACF,CAAC,CAAC;AAEF,SACCL,mBAAmB,EACnBC,mBAAmB,EACnBC,2BAA2B","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export { DescriptorsProvider, useDescriptorsStore } from "./descriptors.provider";
3
+ export { DescriptorsProvider, useDescriptorsStore, useOptionalDescriptorsStore } from "./descriptors.provider";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DescriptorsProvider","useDescriptorsStore"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/index.tsx"],"mappings":";;AAAA,SAECA,mBAAmB,EACnBC,mBAAmB,QACb,wBAAwB","ignoreList":[]}
1
+ {"version":3,"names":["DescriptorsProvider","useDescriptorsStore","useOptionalDescriptorsStore"],"sourceRoot":"../../../../../src","sources":["providers/screen/descriptors/index.tsx"],"mappings":";;AAAA,SAECA,mBAAmB,EACnBC,mBAAmB,EACnBC,2BAA2B,QACrB,wBAAwB","ignoreList":[]}
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
2
 
3
- import { Fragment, useMemo } from "react";
3
+ import { useMemo } from "react";
4
4
  import { Gesture } from "react-native-gesture-handler";
5
5
  import { useSharedValue } from "react-native-reanimated";
6
6
  import { ScrollStore } from "../../../stores/scroll.store";
7
7
  import createProvider from "../../../utils/create-provider";
8
8
  import { useDescriptorsStore } from "../descriptors";
9
- import { useCurrentScreenRelationships } from "../use-current-screen-relationships";
10
9
  import { useScreenGestureConfig } from "./hooks/use-screen-gesture-config";
11
- import { GestureOwnershipBridge } from "./ownership/gesture-ownership-bridge";
10
+ import { useRegisterGestureOwnership } from "./ownership/use-register-gesture-ownership";
12
11
  import { useBuildPanGesture } from "./pan/use-build-pan-gesture";
13
12
  import { useBuildPinchGesture } from "./pinch/use-build-pinch-gesture";
14
- import { NO_DIRECTION_CLAIMS } from "./types";
15
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
- const EMPTY_GESTURE_SOURCES = [];
13
+ import { NO_GESTURE_OWNERS } from "./types";
17
14
  const createScreenGestureProvider = createProvider("ScreenGesture", {
18
15
  global: true
19
16
  });
@@ -25,18 +22,16 @@ export const {
25
22
  children
26
23
  }) => {
27
24
  const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
28
- const isTopMostScreen = useDescriptorsStore(store => store.derivations.isTopMostScreen);
29
- const relationships = useCurrentScreenRelationships();
30
- const relationshipAncestorGestures = useOptionalScreenGestureStore(relationships.parentScreenKey, store => store.relationshipGestureSources) ?? EMPTY_GESTURE_SOURCES;
31
- const ancestorGestures = isTopMostScreen ? relationshipAncestorGestures : EMPTY_GESTURE_SOURCES;
32
- const gestureConfig = useScreenGestureConfig(ancestorGestures);
25
+ const gestureConfig = useScreenGestureConfig();
33
26
  const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
34
- const childDirectionClaims = useSharedValue(NO_DIRECTION_CLAIMS);
27
+ const gestureOwners = useSharedValue({
28
+ ...NO_GESTURE_OWNERS
29
+ });
35
30
  const gestureCompositionOwner = useSharedValue(null);
36
31
  const panGesture = useBuildPanGesture({
37
32
  scrollState,
38
33
  gestureConfig,
39
- childDirectionClaims,
34
+ gestureOwners,
40
35
  gestureCompositionOwner
41
36
  });
42
37
  const pinchGesture = useBuildPinchGesture({
@@ -49,23 +44,17 @@ export const {
49
44
  detectorGesture,
50
45
  panGesture,
51
46
  pinchGesture,
52
- scrollState,
47
+ scrollState
48
+ }), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState]);
49
+ useRegisterGestureOwnership({
53
50
  claimedDirections: gestureConfig.participation.claimedDirections,
54
- childDirectionClaims
55
- }), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState, gestureConfig.participation.claimedDirections, childDirectionClaims]);
56
- const relationshipGestureSources = useMemo(() => [source, ...ancestorGestures], [source, ancestorGestures]);
57
- const value = useMemo(() => ({
58
- ...source,
59
- ancestorGestures,
60
- relationshipGestureSources
61
- }), [source, ancestorGestures, relationshipGestureSources]);
62
- const content = useMemo(() => /*#__PURE__*/_jsxs(Fragment, {
63
- children: [/*#__PURE__*/_jsx(GestureOwnershipBridge, {}), children]
64
- }), [children]);
51
+ owners: gestureOwners,
52
+ source
53
+ });
65
54
  return {
66
55
  key: currentScreenKey,
67
- value,
68
- children: content
56
+ value: source,
57
+ children
69
58
  };
70
59
  });
71
60
  //# sourceMappingURL=gestures.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Fragment","useMemo","Gesture","useSharedValue","ScrollStore","createProvider","useDescriptorsStore","useCurrentScreenRelationships","useScreenGestureConfig","GestureOwnershipBridge","useBuildPanGesture","useBuildPinchGesture","NO_DIRECTION_CLAIMS","jsx","_jsx","jsxs","_jsxs","EMPTY_GESTURE_SOURCES","createScreenGestureProvider","global","ScreenGestureProvider","useOptionalScreenGestureStore","useScreenGestureStore","children","currentScreenKey","store","derivations","isTopMostScreen","relationships","relationshipAncestorGestures","parentScreenKey","relationshipGestureSources","ancestorGestures","gestureConfig","scrollState","getValue","childDirectionClaims","gestureCompositionOwner","panGesture","pinchGesture","detectorGesture","Simultaneous","source","routeKey","claimedDirections","participation","value","content","key"],"sourceRoot":"../../../../../src","sources":["providers/screen/gestures/gestures.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","Gesture","useSharedValue","ScrollStore","createProvider","useDescriptorsStore","useScreenGestureConfig","useRegisterGestureOwnership","useBuildPanGesture","useBuildPinchGesture","NO_GESTURE_OWNERS","createScreenGestureProvider","global","ScreenGestureProvider","useOptionalScreenGestureStore","useScreenGestureStore","children","currentScreenKey","store","derivations","gestureConfig","scrollState","getValue","gestureOwners","gestureCompositionOwner","panGesture","pinchGesture","detectorGesture","Simultaneous","source","routeKey","claimedDirections","participation","owners","key","value"],"sourceRoot":"../../../../../src","sources":["providers/screen/gestures/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,sBAAsB,QAAQ,mCAAmC;AAC1E,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAGCC,iBAAiB,QAEX,SAAS;AAMhB,MAAMC,2BAA2B,GAAGP,cAAc,CAAC,eAAe,EAAE;EACnEQ,MAAM,EAAE;AACT,CAAC,CAAiD;AAElD,OAAO,MAAM;EACZC,qBAAqB;EACrBC,6BAA6B;EAC7BC;AAC+C,CAAC,GAAGJ,2BAA2B,CAC9E,CAAC;EAAEK;AAAS,CAAC,KAAK;EACjB,MAAMC,gBAAgB,GAAGZ,mBAAmB,CAC1Ca,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,gBAC9B,CAAC;EACD,MAAMG,aAAa,GAAGd,sBAAsB,CAAC,CAAC;EAC9C,MAAMe,WAAW,GAAGlB,WAAW,CAACmB,QAAQ,CAACL,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMM,aAAa,GAAGrB,cAAc,CAAC;IAAE,GAAGQ;EAAkB,CAAC,CAAC;EAC9D,MAAMc,uBAAuB,GAC5BtB,cAAc,CAA0B,IAAI,CAAC;EAC9C,MAAMuB,UAAU,GAAGjB,kBAAkB,CAAC;IACrCa,WAAW;IACXD,aAAa;IACbG,aAAa;IACbC;EACD,CAAC,CAAC;EACF,MAAME,YAAY,GAAGjB,oBAAoB,CAAC;IACzCW,aAAa;IACbI;EACD,CAAC,CAAC;EACF,MAAMG,eAAe,GAAG3B,OAAO,CAC9B,MAAMC,OAAO,CAAC2B,YAAY,CAACH,UAAU,EAAEC,YAAY,CAAC,EACpD,CAACD,UAAU,EAAEC,YAAY,CAC1B,CAAC;EACD,MAAMG,MAAM,GAAG7B,OAAO,CACrB,OAAO;IACN8B,QAAQ,EAAEb,gBAAgB;IAC1BU,eAAe;IACfF,UAAU;IACVC,YAAY;IACZL;EACD,CAAC,CAAC,EACF,CACCJ,gBAAgB,EAChBU,eAAe,EACfF,UAAU,EACVC,YAAY,EACZL,WAAW,CAEb,CAAC;EACDd,2BAA2B,CAAC;IAC3BwB,iBAAiB,EAAEX,aAAa,CAACY,aAAa,CAACD,iBAAiB;IAChEE,MAAM,EAAEV,aAAa;IACrBM;EACD,CAAC,CAAC;EAEF,OAAO;IACNK,GAAG,EAAEjB,gBAAgB;IACrBkB,KAAK,EAAEN,MAAM;IACbb;EACD,CAAC;AACF,CACD,CAAC","ignoreList":[]}
@@ -3,13 +3,12 @@
3
3
  import { useMemo } from "react";
4
4
  import { useDescriptorsStore } from "../../descriptors";
5
5
  import { resolveScreenGestureConfig } from "../shared/policy";
6
- export function useScreenGestureConfig(ancestorGestures) {
6
+ export function useScreenGestureConfig() {
7
7
  const options = useDescriptorsStore(store => store.options);
8
8
  const isFirstKey = useDescriptorsStore(store => store.derivations.isFirstKey);
9
9
  return useMemo(() => resolveScreenGestureConfig({
10
10
  options,
11
- isFirstKey,
12
- ancestorGestures
13
- }), [isFirstKey, options, ancestorGestures]);
11
+ isFirstKey
12
+ }), [isFirstKey, options]);
14
13
  }
15
14
  //# sourceMappingURL=use-screen-gesture-config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useDescriptorsStore","resolveScreenGestureConfig","useScreenGestureConfig","ancestorGestures","options","store","isFirstKey","derivations"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,0BAA0B,QAAQ,kBAAkB;AAG7D,OAAO,SAASC,sBAAsBA,CACrCC,gBAAgD,EAC1B;EACtB,MAAMC,OAAO,GAAGJ,mBAAmB,CAAEK,KAAK,IAAKA,KAAK,CAACD,OAAO,CAAC;EAC7D,MAAME,UAAU,GAAGN,mBAAmB,CACpCK,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EACD,OAAOP,OAAO,CACb,MACCE,0BAA0B,CAAC;IAC1BG,OAAO;IACPE,UAAU;IACVH;EACD,CAAC,CAAC,EACH,CAACG,UAAU,EAAEF,OAAO,EAAED,gBAAgB,CACvC,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useDescriptorsStore","resolveScreenGestureConfig","useScreenGestureConfig","options","store","isFirstKey","derivations"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,0BAA0B,QAAQ,kBAAkB;AAG7D,OAAO,SAASC,sBAAsBA,CAAA,EAAwB;EAC7D,MAAMC,OAAO,GAAGH,mBAAmB,CAAEI,KAAK,IAAKA,KAAK,CAACD,OAAO,CAAC;EAC7D,MAAME,UAAU,GAAGL,mBAAmB,CACpCI,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EACD,OAAON,OAAO,CACb,MACCE,0BAA0B,CAAC;IAC1BE,OAAO;IACPE;EACD,CAAC,CAAC,EACH,CAACA,UAAU,EAAEF,OAAO,CACrB,CAAC;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { resolveChainTarget } from "../../../../utils/resolve-chain-target";
3
+ import { useResolvedTransitionKey } from "../../topology";
4
4
  import { useOptionalScreenGestureStore } from "../gestures.provider";
5
5
  /**
6
6
  * Returns a screen navigation pan gesture.
@@ -16,11 +16,10 @@ import { useOptionalScreenGestureStore } from "../gestures.provider";
16
16
  * ```
17
17
  */
18
18
  export const useScreenGesture = target => {
19
- const ctx = useOptionalScreenGestureStore();
20
- return resolveChainTarget({
21
- target,
22
- self: ctx,
23
- ancestors: ctx?.ancestorGestures ?? []
24
- })?.panGesture ?? null;
19
+ const localGesture = useOptionalScreenGestureStore();
20
+ const usesLocalStore = target === undefined || target.depth === 0;
21
+ const screenKey = useResolvedTransitionKey(localGesture?.routeKey ?? null, target);
22
+ const keyedGesture = useOptionalScreenGestureStore(usesLocalStore ? null : screenKey, store => store.panGesture);
23
+ return usesLocalStore ? localGesture?.panGesture ?? null : keyedGesture;
25
24
  };
26
25
  //# sourceMappingURL=use-screen-gesture.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["resolveChainTarget","useOptionalScreenGestureStore","useScreenGesture","target","ctx","self","ancestors","ancestorGestures","panGesture"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture.ts"],"mappings":";;AAAA,SAECA,kBAAkB,QACZ,wCAAwC;AAC/C,SAASC,6BAA6B,QAAQ,sBAAsB;AAIpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,MAA4B,IAAK;EACjE,MAAMC,GAAG,GAAGH,6BAA6B,CAAC,CAAC;EAE3C,OACCD,kBAAkB,CAAC;IAClBG,MAAM;IACNE,IAAI,EAAED,GAAG;IACTE,SAAS,EAAEF,GAAG,EAAEG,gBAAgB,IAAI;EACrC,CAAC,CAAC,EAAEC,UAAU,IAAI,IAAI;AAExB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useResolvedTransitionKey","useOptionalScreenGestureStore","useScreenGesture","target","localGesture","usesLocalStore","undefined","depth","screenKey","routeKey","keyedGesture","store","panGesture"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/hooks/use-screen-gesture.ts"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,gBAAgB;AACzD,SAASC,6BAA6B,QAAQ,sBAAsB;AAIpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAIC,MAA4B,IAAK;EACjE,MAAMC,YAAY,GAAGH,6BAA6B,CAAC,CAAC;EACpD,MAAMI,cAAc,GAAGF,MAAM,KAAKG,SAAS,IAAIH,MAAM,CAACI,KAAK,KAAK,CAAC;EACjE,MAAMC,SAAS,GAAGR,wBAAwB,CACzCI,YAAY,EAAEK,QAAQ,IAAI,IAAI,EAC9BN,MACD,CAAC;EACD,MAAMO,YAAY,GAAGT,6BAA6B,CACjDI,cAAc,GAAG,IAAI,GAAGG,SAAS,EAChCG,KAAK,IAAKA,KAAK,CAACC,UAClB,CAAC;EAED,OAAOP,cAAc,GAAID,YAAY,EAAEQ,UAAU,IAAI,IAAI,GAAIF,YAAY;AAC1E,CAAC","ignoreList":[]}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+
3
+ import { DIRECTIONS } from "../../../../types/ownership.types";
4
+ import { screenTopology } from "../../topology";
5
+ const EMPTY_SCROLL_COORDINATION = {
6
+ panGestures: [],
7
+ pinchGestures: [],
8
+ scrollStates: [],
9
+ ownerRouteKeys: []
10
+ };
11
+ const createEmptyOwners = () => ({
12
+ vertical: null,
13
+ "vertical-inverted": null,
14
+ horizontal: null,
15
+ "horizontal-inverted": null
16
+ });
17
+ const areOwnersEqual = (left, right) => DIRECTIONS.every(direction => left[direction] === right[direction]);
18
+ const areArraysEqual = (left, right) => left.length === right.length && left.every((value, index) => value === right[index]);
19
+ const areScrollCoordinationsEqual = (left, right) => areArraysEqual(left.panGestures, right.panGestures) && areArraysEqual(left.pinchGestures, right.pinchGestures) && areArraysEqual(left.scrollStates, right.scrollStates) && areArraysEqual(left.ownerRouteKeys, right.ownerRouteKeys);
20
+ const getAxisDirections = axis => axis === "vertical" ? ["vertical", "vertical-inverted"] : ["horizontal", "horizontal-inverted"];
21
+ export const createGestureOwnershipCoordinator = topology => {
22
+ const registrations = new Map();
23
+ const scrollCache = new Map();
24
+ const listenersByScreenKey = new Map();
25
+ const getNearestAncestorOwner = (screenKey, direction) => {
26
+ const visited = new Set();
27
+ let candidate = screenKey;
28
+ while (candidate && !visited.has(candidate)) {
29
+ visited.add(candidate);
30
+ if (registrations.get(candidate)?.claimedDirections[direction]) {
31
+ return candidate;
32
+ }
33
+ candidate = topology.getRelationships(candidate).parentScreenKey;
34
+ }
35
+ return null;
36
+ };
37
+ const getDeepestActiveOwner = (screenKey, direction) => {
38
+ const visited = new Set();
39
+ let candidate = screenKey;
40
+ let owner = null;
41
+ let isOrigin = true;
42
+ while (candidate && !visited.has(candidate)) {
43
+ visited.add(candidate);
44
+ const registration = registrations.get(candidate);
45
+ const claims = isOrigin ? registration?.claimedDirections : registration?.effectiveClaimedDirections;
46
+ if (claims?.[direction]) owner = candidate;
47
+ candidate = topology.getRelationships(candidate).activeChildScreenKey;
48
+ isOrigin = false;
49
+ }
50
+ return owner;
51
+ };
52
+ const resolveOwners = screenKey => {
53
+ const owners = createEmptyOwners();
54
+ for (const direction of DIRECTIONS) {
55
+ owners[direction] = getDeepestActiveOwner(screenKey, direction) ?? getNearestAncestorOwner(screenKey, direction);
56
+ }
57
+ return owners;
58
+ };
59
+ const resolveScrollCoordination = (screenKey, axis) => {
60
+ const ownerKeys = [];
61
+ for (const direction of getAxisDirections(axis)) {
62
+ const ownerKey = getNearestAncestorOwner(screenKey, direction);
63
+ if (ownerKey && !ownerKeys.includes(ownerKey)) ownerKeys.push(ownerKey);
64
+ }
65
+ const panGestures = [];
66
+ const scrollStates = [];
67
+ for (const ownerKey of ownerKeys) {
68
+ const source = registrations.get(ownerKey)?.source;
69
+ if (!source) continue;
70
+ panGestures.push(source.panGesture);
71
+ scrollStates.push(source.scrollState);
72
+ }
73
+ const pinchGestures = [];
74
+ const visited = new Set();
75
+ let candidate = screenKey;
76
+ while (candidate && !visited.has(candidate)) {
77
+ visited.add(candidate);
78
+ const pinchGesture = registrations.get(candidate)?.source.pinchGesture;
79
+ if (pinchGesture && !pinchGestures.includes(pinchGesture)) {
80
+ pinchGestures.push(pinchGesture);
81
+ }
82
+ candidate = topology.getRelationships(candidate).parentScreenKey;
83
+ }
84
+ return {
85
+ panGestures,
86
+ pinchGestures,
87
+ scrollStates,
88
+ ownerRouteKeys: ownerKeys
89
+ };
90
+ };
91
+ const notify = screenKey => {
92
+ for (const listener of listenersByScreenKey.get(screenKey) ?? []) {
93
+ listener();
94
+ }
95
+ };
96
+ const recompute = () => {
97
+ for (const [screenKey, registration] of registrations) {
98
+ const nextOwners = resolveOwners(screenKey);
99
+ if (!areOwnersEqual(registration.owners.get(), nextOwners)) {
100
+ registration.owners.set(nextOwners);
101
+ }
102
+ const previousScroll = scrollCache.get(screenKey);
103
+ const nextScroll = {
104
+ vertical: resolveScrollCoordination(screenKey, "vertical"),
105
+ horizontal: resolveScrollCoordination(screenKey, "horizontal")
106
+ };
107
+ const vertical = previousScroll && areScrollCoordinationsEqual(previousScroll.vertical, nextScroll.vertical) ? previousScroll.vertical : nextScroll.vertical;
108
+ const horizontal = previousScroll && areScrollCoordinationsEqual(previousScroll.horizontal, nextScroll.horizontal) ? previousScroll.horizontal : nextScroll.horizontal;
109
+ if (!previousScroll || vertical !== previousScroll.vertical || horizontal !== previousScroll.horizontal) {
110
+ scrollCache.set(screenKey, {
111
+ vertical,
112
+ horizontal
113
+ });
114
+ notify(screenKey);
115
+ }
116
+ }
117
+ };
118
+ topology.subscribeResolution(recompute);
119
+ return {
120
+ register: registration => {
121
+ registrations.set(registration.screenKey, registration);
122
+ recompute();
123
+ },
124
+ unregister: screenKey => {
125
+ if (!registrations.has(screenKey)) return;
126
+ registrations.delete(screenKey);
127
+ scrollCache.delete(screenKey);
128
+ recompute();
129
+ notify(screenKey);
130
+ },
131
+ getScrollCoordination: (screenKey, axis) => scrollCache.get(screenKey)?.[axis] ?? EMPTY_SCROLL_COORDINATION,
132
+ subscribe: (screenKey, listener) => {
133
+ const listeners = listenersByScreenKey.get(screenKey) ?? new Set();
134
+ listeners.add(listener);
135
+ listenersByScreenKey.set(screenKey, listeners);
136
+ return () => {
137
+ listeners.delete(listener);
138
+ if (listeners.size === 0) listenersByScreenKey.delete(screenKey);
139
+ };
140
+ }
141
+ };
142
+ };
143
+ export const gestureOwnershipCoordinator = createGestureOwnershipCoordinator(screenTopology);
144
+ //# sourceMappingURL=gesture-ownership-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DIRECTIONS","screenTopology","EMPTY_SCROLL_COORDINATION","panGestures","pinchGestures","scrollStates","ownerRouteKeys","createEmptyOwners","vertical","horizontal","areOwnersEqual","left","right","every","direction","areArraysEqual","length","value","index","areScrollCoordinationsEqual","getAxisDirections","axis","createGestureOwnershipCoordinator","topology","registrations","Map","scrollCache","listenersByScreenKey","getNearestAncestorOwner","screenKey","visited","Set","candidate","has","add","get","claimedDirections","getRelationships","parentScreenKey","getDeepestActiveOwner","owner","isOrigin","registration","claims","effectiveClaimedDirections","activeChildScreenKey","resolveOwners","owners","resolveScrollCoordination","ownerKeys","ownerKey","includes","push","source","panGesture","scrollState","pinchGesture","notify","listener","recompute","nextOwners","set","previousScroll","nextScroll","subscribeResolution","register","unregister","delete","getScrollCoordination","subscribe","listeners","size","gestureOwnershipCoordinator"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/ownership/gesture-ownership-coordinator.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useSyncExternalStore } from "react";
4
+ import { gestureOwnershipCoordinator } from "./gesture-ownership-coordinator";
5
+ export const useGestureScrollCoordination = (screenKey, axis) => {
6
+ const subscribe = useCallback(listener => screenKey ? gestureOwnershipCoordinator.subscribe(screenKey, listener) : () => {}, [screenKey]);
7
+ const getSnapshot = useCallback(() => gestureOwnershipCoordinator.getScrollCoordination(screenKey ?? "", axis), [axis, screenKey]);
8
+ return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
9
+ };
10
+ //# sourceMappingURL=use-gesture-scroll-coordination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","gestureOwnershipCoordinator","useGestureScrollCoordination","screenKey","axis","subscribe","listener","getSnapshot","getScrollCoordination"],"sourceRoot":"../../../../../../src","sources":["providers/screen/gestures/ownership/use-gesture-scroll-coordination.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AAEzD,SAASC,2BAA2B,QAAQ,iCAAiC;AAE7E,OAAO,MAAMC,4BAA4B,GAAGA,CAC3CC,SAAwB,EACxBC,IAAuB,KACnB;EACJ,MAAMC,SAAS,GAAGN,WAAW,CAC3BO,QAAoB,IACpBH,SAAS,GACNF,2BAA2B,CAACI,SAAS,CAACF,SAAS,EAAEG,QAAQ,CAAC,GAC1D,MAAM,CAAC,CAAC,EACZ,CAACH,SAAS,CACX,CAAC;EACD,MAAMI,WAAW,GAAGR,WAAW,CAC9B,MACCE,2BAA2B,CAACO,qBAAqB,CAACL,SAAS,IAAI,EAAE,EAAEC,IAAI,CAAC,EACzE,CAACA,IAAI,EAAED,SAAS,CACjB,CAAC;EAED,OAAOH,oBAAoB,CAACK,SAAS,EAAEE,WAAW,EAAEA,WAAW,CAAC;AACjE,CAAC","ignoreList":[]}