react-native-screen-transitions 3.11.2 → 3.12.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 (457) hide show
  1. package/lib/commonjs/blank-stack/components/stack-view.js +1 -2
  2. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  3. package/lib/commonjs/component-stack/components/stack-view.js +1 -2
  4. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/native-stack/views/NativeStackView.native.js +3 -4
  6. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  7. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
  8. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js +36 -0
  10. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
  11. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  12. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  14. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
  16. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +9 -2
  18. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +7 -4
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  21. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  22. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +25 -43
  24. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +13 -0
  26. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  27. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -31
  28. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +14 -19
  30. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  31. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
  32. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  33. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +19 -47
  34. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  36. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  37. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  38. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +19 -17
  39. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  40. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +19 -5
  41. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  42. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +30 -0
  43. package/lib/commonjs/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
  44. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +40 -22
  45. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  46. package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js +21 -0
  47. package/lib/commonjs/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
  48. package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +41 -0
  49. package/lib/commonjs/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
  50. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js +85 -0
  51. package/lib/commonjs/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
  52. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +14 -65
  53. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  54. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +89 -16
  55. package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
  56. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +11 -7
  57. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  58. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +31 -0
  59. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  60. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js +26 -0
  61. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  62. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +64 -87
  63. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  64. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  65. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  66. package/lib/commonjs/shared/components/screen-lifecycle/index.js +9 -6
  67. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  68. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +28 -6
  69. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  70. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +1 -2
  71. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  72. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +10 -7
  73. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  74. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -8
  75. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  76. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +8 -2
  77. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +9 -5
  79. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +10 -5
  81. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +36 -50
  83. package/lib/commonjs/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
  84. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  85. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  86. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  87. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  89. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  90. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  91. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  92. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +9 -5
  93. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  94. package/lib/commonjs/shared/providers/screen/styles/constants.js +1 -0
  95. package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
  96. package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js +20 -1
  97. package/lib/commonjs/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
  98. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
  99. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  100. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +34 -11
  101. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  102. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +18 -29
  103. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  104. package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
  105. package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  106. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +18 -0
  107. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
  108. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +2 -1
  109. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  110. package/lib/commonjs/shared/stores/bounds/internals/links.js +1 -1
  111. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  112. package/lib/commonjs/shared/stores/system.store.js +1 -2
  113. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  114. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +0 -22
  115. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  116. package/lib/commonjs/shared/utils/create-provider.js +119 -10
  117. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  118. package/lib/commonjs/shared/utils/navigation/close-action-replay.js +22 -0
  119. package/lib/commonjs/shared/utils/navigation/close-action-replay.js.map +1 -0
  120. package/lib/module/blank-stack/components/stack-view.js +1 -2
  121. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  122. package/lib/module/component-stack/components/stack-view.js +1 -2
  123. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  124. package/lib/module/native-stack/views/NativeStackView.native.js +3 -4
  125. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  126. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +1 -1
  127. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  128. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js +32 -0
  129. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
  130. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  131. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  132. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  133. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  134. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
  135. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  136. package/lib/module/shared/components/boundary/hooks/use-measurer.js +9 -2
  137. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  138. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +7 -4
  139. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  140. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  141. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  142. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +27 -45
  143. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  144. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +8 -0
  145. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  146. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -32
  147. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  148. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +15 -20
  149. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  150. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
  151. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  152. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +20 -48
  153. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  154. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  155. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  156. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  157. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +20 -18
  158. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  159. package/lib/module/shared/components/boundary/utils/refresh-signals.js +19 -5
  160. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  161. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js +25 -0
  162. package/lib/module/shared/components/overlay/helpers/create-overlay-interpolator-frame.js.map +1 -0
  163. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +37 -21
  164. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  165. package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js +17 -0
  166. package/lib/module/shared/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -0
  167. package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js +36 -0
  168. package/lib/module/shared/components/overlay/helpers/run-overlay-slot-interpolator.js.map +1 -0
  169. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js +80 -0
  170. package/lib/module/shared/components/overlay/hooks/use-overlay-slot.js.map +1 -0
  171. package/lib/module/shared/components/overlay/variations/float-overlay.js +15 -66
  172. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  173. package/lib/module/shared/components/overlay/variations/overlay-host.js +90 -18
  174. package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
  175. package/lib/module/shared/components/screen-container/layers/backdrop.js +12 -8
  176. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  177. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +25 -0
  178. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  179. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js +21 -0
  180. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  181. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +64 -86
  182. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  183. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  184. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  185. package/lib/module/shared/components/screen-lifecycle/index.js +9 -6
  186. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  187. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +29 -7
  188. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  189. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +1 -2
  190. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  191. package/lib/module/shared/providers/screen/animation/animation.provider.js +10 -7
  192. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  193. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +6 -8
  194. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  195. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +8 -2
  196. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  197. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +10 -6
  198. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  199. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +10 -5
  200. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  201. package/lib/module/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.js → gesture-ownership-bridge.js} +35 -49
  202. package/lib/module/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.js.map +1 -0
  203. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  204. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  205. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  206. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  207. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  208. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  209. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  210. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  211. package/lib/module/shared/providers/screen/gestures/shared/policy.js +9 -5
  212. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  213. package/lib/module/shared/providers/screen/styles/constants.js +1 -0
  214. package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
  215. package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js +18 -0
  216. package/lib/module/shared/providers/screen/styles/helpers/transition-visual-state.js.map +1 -1
  217. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +14 -15
  218. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  219. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +35 -12
  220. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  221. package/lib/module/shared/providers/screen/styles/slot.provider.js +19 -30
  222. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  223. package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
  224. package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  225. package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js +14 -0
  226. package/lib/module/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.js.map +1 -0
  227. package/lib/module/shared/providers/stack/blank-stack.provider.js +2 -1
  228. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  229. package/lib/module/shared/stores/bounds/internals/links.js +1 -1
  230. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  231. package/lib/module/shared/stores/system.store.js +1 -2
  232. package/lib/module/shared/stores/system.store.js.map +1 -1
  233. package/lib/module/shared/types/animation.types.js.map +1 -1
  234. package/lib/module/shared/utils/animation/animate-to-progress.js +0 -22
  235. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  236. package/lib/module/shared/utils/create-provider.js +119 -10
  237. package/lib/module/shared/utils/create-provider.js.map +1 -1
  238. package/lib/module/shared/utils/navigation/close-action-replay.js +16 -0
  239. package/lib/module/shared/utils/navigation/close-action-replay.js.map +1 -0
  240. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  241. package/lib/typescript/blank-stack/types.d.ts +1 -1
  242. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  243. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  244. package/lib/typescript/component-stack/types.d.ts +1 -1
  245. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  246. package/lib/typescript/native-stack/types.d.ts +1 -1
  247. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  248. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  249. package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts +18 -0
  250. package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts.map +1 -0
  251. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +1 -2
  252. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  253. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  254. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +3 -2
  255. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  256. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +3 -2
  257. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  258. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  259. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  260. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +5 -1
  261. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  262. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -0
  263. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -0
  264. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +4 -17
  265. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
  266. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +3 -1
  267. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  268. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  269. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +5 -9
  270. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  271. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +2 -1
  272. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  273. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +2 -1
  274. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  275. package/lib/typescript/shared/components/boundary/types.d.ts +6 -0
  276. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  277. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +1 -0
  278. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  279. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts +7 -0
  280. package/lib/typescript/shared/components/overlay/helpers/create-overlay-interpolator-frame.d.ts.map +1 -0
  281. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +17 -7
  282. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  283. package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts +11 -0
  284. package/lib/typescript/shared/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -0
  285. package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts +8 -0
  286. package/lib/typescript/shared/components/overlay/helpers/run-overlay-slot-interpolator.d.ts.map +1 -0
  287. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts +15 -0
  288. package/lib/typescript/shared/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -0
  289. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  290. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  291. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -6
  292. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  293. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  294. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts +27 -0
  295. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts.map +1 -0
  296. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts +7 -0
  297. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts.map +1 -0
  298. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +2 -7
  299. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  300. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +1 -3
  301. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  302. package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -1
  303. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  304. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  305. package/lib/typescript/shared/index.d.ts +12 -12
  306. package/lib/typescript/shared/index.d.ts.map +1 -1
  307. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -0
  308. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts +4 -1
  310. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.d.ts.map +1 -1
  311. package/lib/typescript/shared/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  312. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  313. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts +2 -2
  314. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  315. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts +3 -0
  316. package/lib/typescript/shared/providers/screen/gestures/ownership/gesture-ownership-bridge.d.ts.map +1 -0
  317. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +1 -1
  318. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  319. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  320. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  321. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  322. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  323. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +2 -1
  324. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  325. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +2 -0
  326. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  327. package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
  328. package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts +7 -0
  329. package/lib/typescript/shared/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -1
  330. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  331. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +1 -1
  332. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  333. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +5 -5
  334. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  335. package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -1
  336. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts +3 -0
  337. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.d.ts.map +1 -0
  338. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  339. package/lib/typescript/shared/stores/system.store.d.ts +1 -2
  340. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  341. package/lib/typescript/shared/types/animation.types.d.ts +8 -0
  342. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  343. package/lib/typescript/shared/types/index.d.ts +1 -1
  344. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  345. package/lib/typescript/shared/types/overlay.types.d.ts +26 -11
  346. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  347. package/lib/typescript/shared/types/screen.types.d.ts +2 -2
  348. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  349. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +2 -3
  350. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  351. package/lib/typescript/shared/utils/create-provider.d.ts +21 -6
  352. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  353. package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts +4 -0
  354. package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts.map +1 -0
  355. package/package.json +1 -1
  356. package/src/blank-stack/components/stack-view.tsx +1 -4
  357. package/src/blank-stack/types.ts +8 -2
  358. package/src/component-stack/components/stack-view.tsx +1 -4
  359. package/src/component-stack/types.ts +8 -2
  360. package/src/native-stack/types.ts +8 -2
  361. package/src/native-stack/views/NativeStackView.native.tsx +6 -10
  362. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +1 -1
  363. package/src/shared/components/boundary/components/boundary-lifecycle.tsx +53 -0
  364. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -14
  365. package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +13 -2
  366. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +7 -2
  367. package/src/shared/components/boundary/hooks/use-measurer.ts +11 -1
  368. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +9 -4
  369. package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +13 -11
  370. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +44 -55
  371. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +10 -0
  372. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +11 -55
  373. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +20 -24
  374. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +11 -0
  375. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +20 -67
  376. package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +1 -0
  377. package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +3 -2
  378. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +29 -20
  379. package/src/shared/components/boundary/types.ts +9 -0
  380. package/src/shared/components/boundary/utils/refresh-signals.ts +39 -6
  381. package/src/shared/components/overlay/helpers/create-overlay-interpolator-frame.ts +29 -0
  382. package/src/shared/components/overlay/helpers/get-active-overlay.ts +62 -20
  383. package/src/shared/components/overlay/helpers/retain-ready-overlay-resources.ts +38 -0
  384. package/src/shared/components/overlay/helpers/run-overlay-slot-interpolator.ts +48 -0
  385. package/src/shared/components/overlay/hooks/use-overlay-slot.ts +103 -0
  386. package/src/shared/components/overlay/variations/float-overlay.tsx +22 -64
  387. package/src/shared/components/overlay/variations/overlay-host.tsx +135 -28
  388. package/src/shared/components/screen-container/layers/backdrop.tsx +11 -7
  389. package/src/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts +64 -0
  390. package/src/shared/components/screen-lifecycle/hooks/use-close-completion.ts +28 -0
  391. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +72 -109
  392. package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +0 -12
  393. package/src/shared/components/screen-lifecycle/index.tsx +8 -4
  394. package/src/shared/hooks/navigation/use-navigation-helpers.ts +39 -7
  395. package/src/shared/index.ts +1 -0
  396. package/src/shared/providers/helpers/measured-bounds-writes.ts +1 -1
  397. package/src/shared/providers/screen/animation/animation.provider.tsx +24 -11
  398. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +15 -9
  399. package/src/shared/providers/screen/animation/use-screen-animation.tsx +12 -2
  400. package/src/shared/providers/screen/gestures/gestures.provider.tsx +18 -7
  401. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +13 -5
  402. package/src/shared/providers/screen/gestures/ownership/{use-walk-up-and-register-shadowing-claims.ts → gesture-ownership-bridge.tsx} +44 -54
  403. package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +4 -6
  404. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -3
  405. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +4 -6
  406. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +2 -8
  407. package/src/shared/providers/screen/gestures/shared/policy.ts +17 -6
  408. package/src/shared/providers/screen/gestures/types.ts +2 -0
  409. package/src/shared/providers/screen/styles/constants.ts +1 -0
  410. package/src/shared/providers/screen/styles/helpers/transition-visual-state.ts +26 -0
  411. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +17 -5
  412. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +51 -12
  413. package/src/shared/providers/screen/styles/slot.provider.tsx +46 -70
  414. package/src/shared/providers/stack/blank-stack-state/blank-stack-controller.ts +5 -1
  415. package/src/shared/providers/stack/blank-stack-state/helpers/resolve-presented-index.ts +22 -0
  416. package/src/shared/providers/stack/blank-stack.provider.tsx +6 -1
  417. package/src/shared/stores/bounds/internals/links.ts +1 -1
  418. package/src/shared/stores/system.store.ts +1 -2
  419. package/src/shared/types/animation.types.ts +8 -0
  420. package/src/shared/types/index.ts +1 -1
  421. package/src/shared/types/overlay.types.ts +41 -14
  422. package/src/shared/types/screen.types.ts +2 -2
  423. package/src/shared/utils/animation/animate-to-progress.ts +1 -22
  424. package/src/shared/utils/create-provider.tsx +221 -19
  425. package/src/shared/utils/navigation/close-action-replay.ts +25 -0
  426. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -30
  427. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  428. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -47
  429. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  430. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
  431. package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -28
  432. package/lib/commonjs/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
  433. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +0 -53
  434. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
  435. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -25
  436. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  437. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -40
  438. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  439. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +0 -1
  440. package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js +0 -24
  441. package/lib/module/shared/providers/screen/styles/components/floating-overlay-layer.js.map +0 -1
  442. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +0 -47
  443. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +0 -1
  444. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +0 -9
  445. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +0 -1
  446. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts +0 -9
  447. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +0 -1
  448. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts +0 -14
  449. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +0 -1
  450. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +0 -7
  451. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +0 -1
  452. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +0 -6
  453. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +0 -1
  454. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +0 -36
  455. package/src/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.ts +0 -45
  456. package/src/shared/providers/screen/styles/components/floating-overlay-layer.tsx +0 -29
  457. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +0 -72
@@ -1,32 +1,54 @@
1
1
  "use strict";
2
2
 
3
- import { StackActions } from "@react-navigation/native";
3
+ import { StackActions, usePreventRemoveContext } from "@react-navigation/native";
4
4
  import { useCallback } from "react";
5
5
  import { useDescriptorsStore } from "../../providers/screen/descriptors";
6
+ import { AnimationStore } from "../../stores/animation.store";
7
+ import { LifecycleTransitionRequestKind, SystemStore } from "../../stores/system.store";
8
+ import { dispatchCloseAction } from "../../utils/navigation/close-action-replay";
6
9
  import { useStack } from "./use-stack";
7
10
  export function useNavigationHelpers() {
8
11
  const route = useDescriptorsStore(store => store.current.route);
9
12
  const navigation = useDescriptorsStore(store => store.current.navigation);
10
13
  const requestStackDismiss = useStack(stack => stack.requestDismiss);
11
- const requestDismiss = useCallback(() => {
12
- return requestStackDismiss?.({
13
- route
14
- }) ?? false;
15
- }, [route, requestStackDismiss]);
14
+ const {
15
+ preventedRoutes
16
+ } = usePreventRemoveContext();
17
+ const isRemovePrevented = preventedRoutes[route.key]?.preventRemove === true;
16
18
  const dismissScreen = useCallback(() => {
17
19
  const state = navigation.getState();
18
20
  const routeIndex = state.routes.findIndex(stateRoute => stateRoute.key === route.key);
19
21
  const routeStillPresent = routeIndex !== -1;
20
22
  if (!routeStillPresent || routeIndex === 0) return false;
21
- navigation.dispatch({
23
+ const action = {
22
24
  ...StackActions.pop(),
23
25
  source: route.key,
24
26
  target: state.key
27
+ };
28
+ dispatchCloseAction(action, closeAction => {
29
+ navigation.dispatch(closeAction);
25
30
  });
26
31
  return true;
27
32
  }, [navigation, route.key]);
33
+ const requestDismiss = useCallback(() => {
34
+ if (isRemovePrevented) return false;
35
+ if (requestStackDismiss) {
36
+ if (!requestStackDismiss({
37
+ route
38
+ })) return false;
39
+ } else {
40
+ const state = navigation.getState();
41
+ const routeIndex = state.routes.findIndex(stateRoute => stateRoute.key === route.key);
42
+ if (routeIndex <= 0) return false;
43
+ }
44
+ if (!AnimationStore.getValue(route.key, "closing").get()) {
45
+ SystemStore.getBag(route.key).actions.requestLifecycleTransition(LifecycleTransitionRequestKind.Close, 0);
46
+ }
47
+ return true;
48
+ }, [isRemovePrevented, navigation, route, requestStackDismiss]);
28
49
  return {
29
50
  dismissScreen,
51
+ isRemovePrevented,
30
52
  requestDismiss
31
53
  };
32
54
  }
@@ -1 +1 @@
1
- {"version":3,"names":["StackActions","useCallback","useDescriptorsStore","useStack","useNavigationHelpers","route","store","current","navigation","requestStackDismiss","stack","requestDismiss","dismissScreen","state","getState","routeIndex","routes","findIndex","stateRoute","key","routeStillPresent","dispatch","pop","source","target"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-navigation-helpers.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,0BAA0B;AACvD,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,MAAMC,KAAK,GAAGH,mBAAmB,CAAEI,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;EACjE,MAAMG,UAAU,GAAGN,mBAAmB,CAAEI,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,UAAU,CAAC;EAC3E,MAAMC,mBAAmB,GAAGN,QAAQ,CAAEO,KAAK,IAAKA,KAAK,CAACC,cAAc,CAAC;EAErE,MAAMA,cAAc,GAAGV,WAAW,CAAC,MAAe;IACjD,OAAOQ,mBAAmB,GAAG;MAAEJ;IAAM,CAAC,CAAC,IAAI,KAAK;EACjD,CAAC,EAAE,CAACA,KAAK,EAAEI,mBAAmB,CAAC,CAAC;EAEhC,MAAMG,aAAa,GAAGX,WAAW,CAAC,MAAe;IAChD,MAAMY,KAAK,GAAGL,UAAU,CAACM,QAAQ,CAAC,CAAC;IACnC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAACC,SAAS,CACvCC,UAAU,IAAKA,UAAU,CAACC,GAAG,KAAKd,KAAK,CAACc,GAC1C,CAAC;IACD,MAAMC,iBAAiB,GAAGL,UAAU,KAAK,CAAC,CAAC;IAC3C,IAAI,CAACK,iBAAiB,IAAIL,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;IAExDP,UAAU,CAACa,QAAQ,CAAC;MACnB,GAAGrB,YAAY,CAACsB,GAAG,CAAC,CAAC;MACrBC,MAAM,EAAElB,KAAK,CAACc,GAAG;MACjBK,MAAM,EAAEX,KAAK,CAACM;IACf,CAAC,CAAC;IACF,OAAO,IAAI;EACZ,CAAC,EAAE,CAACX,UAAU,EAAEH,KAAK,CAACc,GAAG,CAAC,CAAC;EAE3B,OAAO;IAAEP,aAAa;IAAED;EAAe,CAAC;AACzC","ignoreList":[]}
1
+ {"version":3,"names":["StackActions","usePreventRemoveContext","useCallback","useDescriptorsStore","AnimationStore","LifecycleTransitionRequestKind","SystemStore","dispatchCloseAction","useStack","useNavigationHelpers","route","store","current","navigation","requestStackDismiss","stack","requestDismiss","preventedRoutes","isRemovePrevented","key","preventRemove","dismissScreen","state","getState","routeIndex","routes","findIndex","stateRoute","routeStillPresent","action","pop","source","target","closeAction","dispatch","getValue","get","getBag","actions","requestLifecycleTransition","Close"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-navigation-helpers.ts"],"mappings":";;AAAA,SACCA,YAAY,EACZC,uBAAuB,QACjB,0BAA0B;AACjC,SAASC,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SACCC,8BAA8B,EAC9BC,WAAW,QACL,2BAA2B;AAClC,SAASC,mBAAmB,QAAQ,4CAA4C;AAChF,SAASC,QAAQ,QAAQ,aAAa;AAEtC,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,MAAMC,KAAK,GAAGP,mBAAmB,CAAEQ,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;EACjE,MAAMG,UAAU,GAAGV,mBAAmB,CAAEQ,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,UAAU,CAAC;EAC3E,MAAMC,mBAAmB,GAAGN,QAAQ,CAAEO,KAAK,IAAKA,KAAK,CAACC,cAAc,CAAC;EACrE,MAAM;IAAEC;EAAgB,CAAC,GAAGhB,uBAAuB,CAAC,CAAC;EACrD,MAAMiB,iBAAiB,GAAGD,eAAe,CAACP,KAAK,CAACS,GAAG,CAAC,EAAEC,aAAa,KAAK,IAAI;EAE5E,MAAMC,aAAa,GAAGnB,WAAW,CAAC,MAAe;IAChD,MAAMoB,KAAK,GAAGT,UAAU,CAACU,QAAQ,CAAC,CAAC;IACnC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAACC,SAAS,CACvCC,UAAU,IAAKA,UAAU,CAACR,GAAG,KAAKT,KAAK,CAACS,GAC1C,CAAC;IACD,MAAMS,iBAAiB,GAAGJ,UAAU,KAAK,CAAC,CAAC;IAC3C,IAAI,CAACI,iBAAiB,IAAIJ,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;IAExD,MAAMK,MAAM,GAAG;MACd,GAAG7B,YAAY,CAAC8B,GAAG,CAAC,CAAC;MACrBC,MAAM,EAAErB,KAAK,CAACS,GAAG;MACjBa,MAAM,EAAEV,KAAK,CAACH;IACf,CAAC;IACDZ,mBAAmB,CAACsB,MAAM,EAAGI,WAAW,IAAK;MAC5CpB,UAAU,CAACqB,QAAQ,CAACD,WAAW,CAAC;IACjC,CAAC,CAAC;IACF,OAAO,IAAI;EACZ,CAAC,EAAE,CAACpB,UAAU,EAAEH,KAAK,CAACS,GAAG,CAAC,CAAC;EAE3B,MAAMH,cAAc,GAAGd,WAAW,CAAC,MAAe;IACjD,IAAIgB,iBAAiB,EAAE,OAAO,KAAK;IAEnC,IAAIJ,mBAAmB,EAAE;MACxB,IAAI,CAACA,mBAAmB,CAAC;QAAEJ;MAAM,CAAC,CAAC,EAAE,OAAO,KAAK;IAClD,CAAC,MAAM;MACN,MAAMY,KAAK,GAAGT,UAAU,CAACU,QAAQ,CAAC,CAAC;MACnC,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAACC,SAAS,CACvCC,UAAU,IAAKA,UAAU,CAACR,GAAG,KAAKT,KAAK,CAACS,GAC1C,CAAC;MACD,IAAIK,UAAU,IAAI,CAAC,EAAE,OAAO,KAAK;IAClC;IAEA,IAAI,CAACpB,cAAc,CAAC+B,QAAQ,CAACzB,KAAK,CAACS,GAAG,EAAE,SAAS,CAAC,CAACiB,GAAG,CAAC,CAAC,EAAE;MACzD9B,WAAW,CAAC+B,MAAM,CAAC3B,KAAK,CAACS,GAAG,CAAC,CAACmB,OAAO,CAACC,0BAA0B,CAC/DlC,8BAA8B,CAACmC,KAAK,EACpC,CACD,CAAC;IACF;IACA,OAAO,IAAI;EACZ,CAAC,EAAE,CAACtB,iBAAiB,EAAEL,UAAU,EAAEH,KAAK,EAAEI,mBAAmB,CAAC,CAAC;EAE/D,OAAO;IAAEO,aAAa;IAAEH,iBAAiB;IAAEF;EAAe,CAAC;AAC5D","ignoreList":[]}
@@ -30,8 +30,7 @@ export const applyMeasuredBoundsWrites = params => {
30
30
  }
31
31
  if (linkWrite?.type === "destination") {
32
32
  setDestination(linkWrite.pairKey, linkId, currentScreenKey, measured, preparedStyles, group, {
33
- handoff,
34
- escapeClipping
33
+ handoff
35
34
  });
36
35
  }
37
36
  };
@@ -1 +1 @@
1
- {"version":3,"names":["setEntry","setDestination","setSource","applyMeasuredBoundsWrites","params","entryTag","linkId","group","currentScreenKey","measured","preparedStyles","linkWrite","handoff","escapeClipping","bounds","type","pairKey"],"sourceRoot":"../../../../../src","sources":["shared/providers/helpers/measured-bounds-writes.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAQ,uCAAuC;AAChE,SAASC,cAAc,EAAEC,SAAS,QAAQ,qCAAqC;AAyB/E,OAAO,MAAMC,yBAAyB,GACrCC,MAAuC,IACnC;EACJ,SAAS;;EACT,MAAM;IACLC,QAAQ;IACRC,MAAM;IACNC,KAAK;IACLC,gBAAgB;IAChBC,QAAQ;IACRC,cAAc;IACdC,SAAS;IACTC,OAAO;IACPC;EACD,CAAC,GAAGT,MAAM;;EAEV;EACA;EACAJ,QAAQ,CAACK,QAAQ,EAAEG,gBAAgB,EAAE;IACpCM,MAAM,EAAEL;EACT,CAAC,CAAC;EAEF,IAAIE,SAAS,EAAEI,IAAI,KAAK,QAAQ,EAAE;IACjCb,SAAS,CACRS,SAAS,CAACK,OAAO,EACjBV,MAAM,EACNE,gBAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdH,KAAK,EACL;MAAEK,OAAO;MAAEC;IAAe,CAC3B,CAAC;EACF;EAEA,IAAIF,SAAS,EAAEI,IAAI,KAAK,aAAa,EAAE;IACtCd,cAAc,CACbU,SAAS,CAACK,OAAO,EACjBV,MAAM,EACNE,gBAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdH,KAAK,EACL;MAAEK,OAAO;MAAEC;IAAe,CAC3B,CAAC;EACF;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["setEntry","setDestination","setSource","applyMeasuredBoundsWrites","params","entryTag","linkId","group","currentScreenKey","measured","preparedStyles","linkWrite","handoff","escapeClipping","bounds","type","pairKey"],"sourceRoot":"../../../../../src","sources":["shared/providers/helpers/measured-bounds-writes.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAQ,uCAAuC;AAChE,SAASC,cAAc,EAAEC,SAAS,QAAQ,qCAAqC;AAyB/E,OAAO,MAAMC,yBAAyB,GACrCC,MAAuC,IACnC;EACJ,SAAS;;EACT,MAAM;IACLC,QAAQ;IACRC,MAAM;IACNC,KAAK;IACLC,gBAAgB;IAChBC,QAAQ;IACRC,cAAc;IACdC,SAAS;IACTC,OAAO;IACPC;EACD,CAAC,GAAGT,MAAM;;EAEV;EACA;EACAJ,QAAQ,CAACK,QAAQ,EAAEG,gBAAgB,EAAE;IACpCM,MAAM,EAAEL;EACT,CAAC,CAAC;EAEF,IAAIE,SAAS,EAAEI,IAAI,KAAK,QAAQ,EAAE;IACjCb,SAAS,CACRS,SAAS,CAACK,OAAO,EACjBV,MAAM,EACNE,gBAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdH,KAAK,EACL;MAAEK,OAAO;MAAEC;IAAe,CAC3B,CAAC;EACF;EAEA,IAAIF,SAAS,EAAEI,IAAI,KAAK,aAAa,EAAE;IACtCd,cAAc,CACbU,SAAS,CAACK,OAAO,EACjBV,MAAM,EACNE,gBAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdH,KAAK,EACL;MAAEK;IAAQ,CACX,CAAC;EACF;AACD,CAAC","ignoreList":[]}
@@ -4,21 +4,23 @@ import { useCallback, useLayoutEffect, useMemo } from "react";
4
4
  import { useSharedValue } from "react-native-reanimated";
5
5
  import { createBoundsAccessor } from "../../../utils/bounds";
6
6
  import createProvider from "../../../utils/create-provider";
7
+ import { useDescriptorsStore } from "../descriptors";
7
8
  import { useScreenAnimationPipeline } from "./helpers/pipeline";
8
9
  export const {
9
10
  ScreenAnimationProvider,
10
11
  useScreenAnimationStore
11
12
  } = createProvider("ScreenAnimation", {
12
- guarded: true
13
+ guarded: true,
14
+ global: true
13
15
  })((_props, {
14
16
  useParentStore
15
17
  }) => {
16
- const parentContext = useParentStore();
17
- const parentScreenInterpolatorProps = parentContext?.screenInterpolatorProps;
18
- const parentScreenInterpolatorPropsRevision = parentContext?.screenInterpolatorPropsRevision;
19
- const parentAncestorScreenAnimationSources = parentContext?.ancestorScreenAnimationSources;
20
- const parentRegisterDescendantScreenAnimationSource = parentContext?.registerDescendantScreenAnimationSource;
21
- const parentAncestorDescendantScreenAnimationRegistrars = parentContext?.ancestorDescendantScreenAnimationRegistrars;
18
+ const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
19
+ const parentScreenInterpolatorProps = useParentStore(parentContext => parentContext?.screenInterpolatorProps);
20
+ const parentScreenInterpolatorPropsRevision = useParentStore(parentContext => parentContext?.screenInterpolatorPropsRevision);
21
+ const parentAncestorScreenAnimationSources = useParentStore(parentContext => parentContext?.ancestorScreenAnimationSources);
22
+ const parentRegisterDescendantScreenAnimationSource = useParentStore(parentContext => parentContext?.registerDescendantScreenAnimationSource);
23
+ const parentAncestorDescendantScreenAnimationRegistrars = useParentStore(parentContext => parentContext?.ancestorDescendantScreenAnimationRegistrars);
22
24
  const {
23
25
  screenInterpolatorProps,
24
26
  screenInterpolatorPropsRevision,
@@ -97,6 +99,7 @@ export const {
97
99
  };
98
100
  }, [ancestorDescendantScreenAnimationRegistrars, selfScreenAnimationTransitionSource]);
99
101
  return {
102
+ key: currentScreenKey,
100
103
  value: {
101
104
  screenInterpolatorProps,
102
105
  screenInterpolatorPropsRevision,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useSharedValue","createBoundsAccessor","createProvider","useScreenAnimationPipeline","ScreenAnimationProvider","useScreenAnimationStore","guarded","_props","useParentStore","parentContext","parentScreenInterpolatorProps","screenInterpolatorProps","parentScreenInterpolatorPropsRevision","screenInterpolatorPropsRevision","parentAncestorScreenAnimationSources","ancestorScreenAnimationSources","parentRegisterDescendantScreenAnimationSource","registerDescendantScreenAnimationSource","parentAncestorDescendantScreenAnimationRegistrars","ancestorDescendantScreenAnimationRegistrars","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","selfScreenAnimationSource","selfScreenAnimationTransitionSource","boundsAccessor","get","descendantScreenAnimationSources","source","depth","modify","currentSources","existingIndex","findIndex","currentSource","nextSources","map","index","sort","a","b","filter","register","registrar","cleanups","cleanup","value"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/animation.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","useSharedValue","createBoundsAccessor","createProvider","useDescriptorsStore","useScreenAnimationPipeline","ScreenAnimationProvider","useScreenAnimationStore","guarded","global","_props","useParentStore","currentScreenKey","store","derivations","parentScreenInterpolatorProps","parentContext","screenInterpolatorProps","parentScreenInterpolatorPropsRevision","screenInterpolatorPropsRevision","parentAncestorScreenAnimationSources","ancestorScreenAnimationSources","parentRegisterDescendantScreenAnimationSource","registerDescendantScreenAnimationSource","parentAncestorDescendantScreenAnimationRegistrars","ancestorDescendantScreenAnimationRegistrars","selectedInterpolatorOptions","nextInterpolator","currentInterpolator","selfScreenAnimationSource","selfScreenAnimationTransitionSource","boundsAccessor","get","descendantScreenAnimationSources","source","depth","modify","currentSources","existingIndex","findIndex","currentSource","nextSources","map","index","sort","a","b","filter","register","registrar","cleanups","cleanup","key","value"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/animation.provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { useMemo } from "react";
4
4
  import { createBoundsAccessor } from "../../../../../utils/bounds";
5
- import { useScreenAnimationStore } from "../../animation.provider";
6
5
  const resolveTargetIndex = (target, currentIndex, sourceCount) => {
7
6
  "worklet";
8
7
 
@@ -75,13 +74,12 @@ const buildSourceBoundsAccessor = source => {
75
74
  return source.screenInterpolatorProps.get();
76
75
  });
77
76
  };
78
- export const useBuildTransitionAccessor = () => {
79
- const {
80
- screenInterpolatorProps,
81
- screenInterpolatorPropsRevision,
82
- ancestorScreenAnimationSources,
83
- descendantScreenAnimationSources
84
- } = useScreenAnimationStore();
77
+ export const useBuildTransitionAccessor = ({
78
+ screenInterpolatorProps,
79
+ screenInterpolatorPropsRevision,
80
+ ancestorScreenAnimationSources,
81
+ descendantScreenAnimationSources
82
+ }) => {
85
83
  return useMemo(() => {
86
84
  const selfSource = {
87
85
  screenInterpolatorProps,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","createBoundsAccessor","useScreenAnimationStore","resolveTargetIndex","target","currentIndex","sourceCount","undefined","depth","Number","isInteger","resolvedIndex","createTransitionAccessor","sources","originIndex","descendantSources","getSources","descendants","get","length","currentSources","slice","index","push","source","buildScope","sourceIndex","screenInterpolatorPropsRevision","frame","screenInterpolatorProps","bounds","boundsAccessor","transition","targetIndex","buildSourceBoundsAccessor","useBuildTransitionAccessor","ancestorScreenAnimationSources","descendantScreenAnimationSources","selfSource","transitionSources","map","selfTransitionSource","reverse"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","createBoundsAccessor","resolveTargetIndex","target","currentIndex","sourceCount","undefined","depth","Number","isInteger","resolvedIndex","createTransitionAccessor","sources","originIndex","descendantSources","getSources","descendants","get","length","currentSources","slice","index","push","source","buildScope","sourceIndex","screenInterpolatorPropsRevision","frame","screenInterpolatorProps","bounds","boundsAccessor","transition","targetIndex","buildSourceBoundsAccessor","useBuildTransitionAccessor","ancestorScreenAnimationSources","descendantScreenAnimationSources","selfSource","transitionSources","map","selfTransitionSource","reverse"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { useRoute } from "@react-navigation/native";
3
4
  import { useDerivedValue } from "react-native-reanimated";
4
5
  import { useScreenAnimationStore } from "./animation.provider";
5
6
  import { useBuildTransitionAccessor } from "./helpers/accessors/use-build-transition-accessor";
@@ -10,12 +11,17 @@ import { readScreenAnimationRevisions } from "./helpers/read-screen-animation-re
10
11
  /** @deprecated Use `{ depth }`. */
11
12
 
12
13
  export function useScreenAnimation(target) {
14
+ const route = useRoute();
15
+ const screenAnimationStore = useScreenAnimationStore(route.key);
16
+ if (!screenAnimationStore) {
17
+ throw new Error(`ScreenAnimation store for route "${route.key}" was not found`);
18
+ }
13
19
  const {
14
20
  screenInterpolatorPropsRevision,
15
21
  ancestorScreenAnimationSources,
16
22
  descendantScreenAnimationSources
17
- } = useScreenAnimationStore();
18
- const transition = useBuildTransitionAccessor();
23
+ } = screenAnimationStore;
24
+ const transition = useBuildTransitionAccessor(screenAnimationStore);
19
25
  const transitionTarget = normalizeScreenAnimationTarget(target, ancestorScreenAnimationSources.length);
20
26
  const animation = useDerivedValue(() => {
21
27
  "worklet";
@@ -1 +1 @@
1
- {"version":3,"names":["useDerivedValue","useScreenAnimationStore","useBuildTransitionAccessor","readScreenAnimationRevisions","useScreenAnimation","target","screenInterpolatorPropsRevision","ancestorScreenAnimationSources","descendantScreenAnimationSources","transition","transitionTarget","normalizeScreenAnimationTarget","length","animation","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAA4BA,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,0BAA0B,QAAQ,mDAAmD;AAC9F,SAASC,4BAA4B,QAAQ,2CAA2C;;AAYxF;;AAOA;;AAIA,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAM;IACLC,+BAA+B;IAC/BC,8BAA8B;IAC9BC;EACD,CAAC,GAAGP,uBAAuB,CAAC,CAAC;EAC7B,MAAMQ,UAAU,GAAGP,0BAA0B,CAAC,CAAC;EAC/C,MAAMQ,gBAAgB,GAAGC,8BAA8B,CACtDN,MAAM,EACNE,8BAA8B,CAACK,MAChC,CAAC;EAED,MAAMC,SAAS,GAAGb,eAAe,CAAkC,MAAM;IACxE,SAAS;;IACTG,4BAA4B,CAC3BG,+BAA+B,EAC/BC,8BAA8B,EAC9BC,gCACD,CAAC;IACD,OAAOC,UAAU,CAACC,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOG,SAAS;AACjB;AAEA,MAAMC,kBAAkB,GACvBT,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMM,8BAA8B,GAAGA,CACtCN,MAAyC,EACzCU,aAAqB,KACmB;EACxC,IAAIV,MAAM,KAAKW,SAAS,IAAIF,kBAAkB,CAACT,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEY,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIZ,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEY,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIZ,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEY,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAACd,MAAM,CAACe,QAAQ,CAAC,IAAIf,MAAM,CAACe,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAACZ,MAAM,CAACe;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useRoute","useDerivedValue","useScreenAnimationStore","useBuildTransitionAccessor","readScreenAnimationRevisions","useScreenAnimation","target","route","screenAnimationStore","key","Error","screenInterpolatorPropsRevision","ancestorScreenAnimationSources","descendantScreenAnimationSources","transition","transitionTarget","normalizeScreenAnimationTarget","length","animation","isTransitionTarget","ancestorCount","undefined","depth","Number","isInteger","ancestor","NaN"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/animation/use-screen-animation.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,SAA4BC,eAAe,QAAQ,yBAAyB;AAK5E,SAASC,uBAAuB,QAAQ,sBAAsB;AAC9D,SAASC,0BAA0B,QAAQ,mDAAmD;AAC9F,SAASC,4BAA4B,QAAQ,2CAA2C;;AAYxF;;AAOA;;AAIA,OAAO,SAASC,kBAAkBA,CACjCC,MAA8B,EAGkB;EAChD,MAAMC,KAAK,GAAGP,QAAQ,CAAC,CAAC;EACxB,MAAMQ,oBAAoB,GAAGN,uBAAuB,CAACK,KAAK,CAACE,GAAG,CAAC;EAE/D,IAAI,CAACD,oBAAoB,EAAE;IAC1B,MAAM,IAAIE,KAAK,CACd,oCAAoCH,KAAK,CAACE,GAAG,iBAC9C,CAAC;EACF;EAEA,MAAM;IACLE,+BAA+B;IAC/BC,8BAA8B;IAC9BC;EACD,CAAC,GAAGL,oBAAoB;EACxB,MAAMM,UAAU,GAAGX,0BAA0B,CAACK,oBAAoB,CAAC;EACnE,MAAMO,gBAAgB,GAAGC,8BAA8B,CACtDV,MAAM,EACNM,8BAA8B,CAACK,MAChC,CAAC;EAED,MAAMC,SAAS,GAAGjB,eAAe,CAAkC,MAAM;IACxE,SAAS;;IACTG,4BAA4B,CAC3BO,+BAA+B,EAC/BC,8BAA8B,EAC9BC,gCACD,CAAC;IACD,OAAOC,UAAU,CAACC,gBAAgB,CAAC;EACpC,CAAC,CAAC;EAEF,OAAOG,SAAS;AACjB;AAEA,MAAMC,kBAAkB,GACvBb,MAA6B,IACS;EACtC,OAAO,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,IAAI,OAAO,IAAIA,MAAM;AAC1E,CAAC;AAED,MAAMU,8BAA8B,GAAGA,CACtCV,MAAyC,EACzCc,aAAqB,KACmB;EACxC,IAAId,MAAM,KAAKe,SAAS,IAAIF,kBAAkB,CAACb,MAAM,CAAC,EAAE;IACvD,OAAOA,MAAM;EACd;EAEA,IAAIA,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAE;IAAE,CAAC;EACpB;EAEA,IAAIhB,MAAM,KAAK,QAAQ,EAAE;IACxB,OAAO;MAAEgB,KAAK,EAAE,CAAC;IAAE,CAAC;EACrB;EAEA,IAAIhB,MAAM,KAAK,MAAM,EAAE;IACtB,OAAO;MAAEgB,KAAK,EAAEF,aAAa,GAAG,CAAC,GAAG,CAACA,aAAa,GAAG,CAAC;IAAE,CAAC;EAC1D;EAEA,IAAI,CAACG,MAAM,CAACC,SAAS,CAAClB,MAAM,CAACmB,QAAQ,CAAC,IAAInB,MAAM,CAACmB,QAAQ,GAAG,CAAC,EAAE;IAC9D,OAAO;MAAEH,KAAK,EAAEC,MAAM,CAACG;IAAI,CAAC;EAC7B;EAEA,OAAO;IAAEJ,KAAK,EAAE,CAAChB,MAAM,CAACmB;EAAS,CAAC;AACnC,CAAC","ignoreList":[]}
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import { useMemo } from "react";
3
+ import { Fragment, 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
9
  import { useScreenGestureConfig } from "./hooks/use-screen-gesture-config";
10
- import { useWalkUpAndRegisterShadowingClaims } from "./ownership/use-walk-up-and-register-shadowing-claims";
10
+ import { GestureOwnershipBridge } from "./ownership/gesture-ownership-bridge";
11
11
  import { useBuildPanGesture } from "./pan/use-build-pan-gesture";
12
12
  import { useBuildPinchGesture } from "./pinch/use-build-pinch-gesture";
13
13
  import { NO_DIRECTION_CLAIMS } from "./types";
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  export const {
15
16
  ScreenGestureProvider,
16
17
  useScreenGestureStore: useGestureStore
@@ -21,9 +22,10 @@ export const {
21
22
  }, {
22
23
  useParentStore
23
24
  }) => {
24
- const gestureContext = useParentStore();
25
- const gestureConfig = useScreenGestureConfig();
26
25
  const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
26
+ const isTopMostScreen = useDescriptorsStore(store => store.derivations.isTopMostScreen);
27
+ const gestureContext = useParentStore(parentContext => isTopMostScreen ? parentContext : null);
28
+ const gestureConfig = useScreenGestureConfig(gestureContext);
27
29
  const scrollState = ScrollStore.getValue(currentScreenKey, "coordination");
28
30
 
29
31
  // Ancestors read this before activating. If a nested screen claims the same
@@ -54,10 +56,12 @@ export const {
54
56
  claimedDirections: gestureConfig.participation.claimedDirections,
55
57
  childDirectionClaims
56
58
  }), [currentScreenKey, detectorGesture, panGesture, pinchGesture, scrollState, gestureContext, gestureConfig.participation.claimedDirections, childDirectionClaims]);
57
- useWalkUpAndRegisterShadowingClaims(gestureConfig.participation.claimedDirections);
59
+ const content = useMemo(() => /*#__PURE__*/_jsxs(Fragment, {
60
+ children: [/*#__PURE__*/_jsx(GestureOwnershipBridge, {}), children]
61
+ }), [children]);
58
62
  return {
59
63
  value,
60
- children
64
+ children: content
61
65
  };
62
66
  });
63
67
  //# sourceMappingURL=gestures.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","Gesture","useSharedValue","ScrollStore","createProvider","useDescriptorsStore","useScreenGestureConfig","useWalkUpAndRegisterShadowingClaims","useBuildPanGesture","useBuildPinchGesture","NO_DIRECTION_CLAIMS","ScreenGestureProvider","useScreenGestureStore","useGestureStore","guarded","children","useParentStore","gestureContext","gestureConfig","currentScreenKey","store","derivations","scrollState","getValue","childDirectionClaims","gestureCompositionOwner","panGesture","pinchGesture","detectorGesture","Simultaneous","value","routeKey","claimedDirections","participation"],"sourceRoot":"../../../../../../src","sources":["shared/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,mCAAmC,QAAQ,uDAAuD;AAC3G,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAICC,mBAAmB,QACb,SAAS;AAMhB,OAAO,MAAM;EAAEC,qBAAqB;EAAEC,qBAAqB,EAAEC;AAAgB,CAAC,GAC7ET,cAAc,CAAC,eAAe,EAAE;EAAEU,OAAO,EAAE;AAAM,CAAC,CAAC,CAIlD,CACC;EAAEC;AAAS,CAAC,EACZ;EAAEC;AAAe,CAAC,KAC4C;EAC9D,MAAMC,cAAc,GAAGD,cAAc,CAAC,CAAC;EACvC,MAAME,aAAa,GAAGZ,sBAAsB,CAAC,CAAC;EAC9C,MAAMa,gBAAgB,GAAGd,mBAAmB,CAC1Ce,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,gBAC9B,CAAC;EAED,MAAMG,WAAW,GAAGnB,WAAW,CAACoB,QAAQ,CACvCJ,gBAAgB,EAChB,cACD,CAAC;;EAED;EACA;EACA,MAAMK,oBAAoB,GACzBtB,cAAc,CAAoBQ,mBAAmB,CAAC;;EAEvD;EACA;EACA,MAAMe,uBAAuB,GAC5BvB,cAAc,CAA0B,IAAI,CAAC;EAE9C,MAAMwB,UAAU,GAAGlB,kBAAkB,CAAC;IACrCc,WAAW;IACXJ,aAAa;IACbM,oBAAoB;IACpBC;EACD,CAAC,CAAC;EAEF,MAAME,YAAY,GAAGlB,oBAAoB,CAAC;IACzCS,aAAa;IACbO;EACD,CAAC,CAAC;EAEF,MAAMG,eAAe,GAAG5B,OAAO,CAC9B,MAAMC,OAAO,CAAC4B,YAAY,CAACH,UAAU,EAAEC,YAAY,CAAC,EACpD,CAACD,UAAU,EAAEC,YAAY,CAC1B,CAAC;EAED,MAAMG,KAAK,GAAG9B,OAAO,CACpB,OAAO;IACN+B,QAAQ,EAAEZ,gBAAgB;IAC1BS,eAAe;IACfF,UAAU;IACVC,YAAY;IACZL,WAAW;IACXL,cAAc;IACde,iBAAiB,EAAEd,aAAa,CAACe,aAAa,CAACD,iBAAiB;IAChER;EACD,CAAC,CAAC,EACF,CACCL,gBAAgB,EAChBS,eAAe,EACfF,UAAU,EACVC,YAAY,EACZL,WAAW,EACXL,cAAc,EACdC,aAAa,CAACe,aAAa,CAACD,iBAAiB,EAC7CR,oBAAoB,CAEtB,CAAC;EAEDjB,mCAAmC,CAClCW,aAAa,CAACe,aAAa,CAACD,iBAC7B,CAAC;EAED,OAAO;IACNF,KAAK;IACLf;EACD,CAAC;AACF,CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Fragment","useMemo","Gesture","useSharedValue","ScrollStore","createProvider","useDescriptorsStore","useScreenGestureConfig","GestureOwnershipBridge","useBuildPanGesture","useBuildPinchGesture","NO_DIRECTION_CLAIMS","jsx","_jsx","jsxs","_jsxs","ScreenGestureProvider","useScreenGestureStore","useGestureStore","guarded","children","useParentStore","currentScreenKey","store","derivations","isTopMostScreen","gestureContext","parentContext","gestureConfig","scrollState","getValue","childDirectionClaims","gestureCompositionOwner","panGesture","pinchGesture","detectorGesture","Simultaneous","value","routeKey","claimedDirections","participation","content"],"sourceRoot":"../../../../../../src","sources":["shared/providers/screen/gestures/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AACzC,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,sBAAsB,QAAQ,sCAAsC;AAC7E,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,oBAAoB,QAAQ,iCAAiC;AACtE,SAICC,mBAAmB,QACb,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMjB,OAAO,MAAM;EAAEC,qBAAqB;EAAEC,qBAAqB,EAAEC;AAAgB,CAAC,GAC7Eb,cAAc,CAAC,eAAe,EAAE;EAAEc,OAAO,EAAE;AAAM,CAAC,CAAC,CAIlD,CACC;EAAEC;AAAS,CAAC,EACZ;EAAEC;AAAe,CAAC,KAC4C;EAC9D,MAAMC,gBAAgB,GAAGhB,mBAAmB,CAC1CiB,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,gBAC9B,CAAC;EACD,MAAMG,eAAe,GAAGnB,mBAAmB,CACzCiB,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACC,eAC9B,CAAC;EACD,MAAMC,cAAc,GAAGL,cAAc,CAAEM,aAAa,IACnDF,eAAe,GAAGE,aAAa,GAAG,IACnC,CAAC;EACD,MAAMC,aAAa,GAAGrB,sBAAsB,CAACmB,cAAc,CAAC;EAE5D,MAAMG,WAAW,GAAGzB,WAAW,CAAC0B,QAAQ,CACvCR,gBAAgB,EAChB,cACD,CAAC;;EAED;EACA;EACA,MAAMS,oBAAoB,GACzB5B,cAAc,CAAoBQ,mBAAmB,CAAC;;EAEvD;EACA;EACA,MAAMqB,uBAAuB,GAC5B7B,cAAc,CAA0B,IAAI,CAAC;EAE9C,MAAM8B,UAAU,GAAGxB,kBAAkB,CAAC;IACrCoB,WAAW;IACXD,aAAa;IACbG,oBAAoB;IACpBC;EACD,CAAC,CAAC;EAEF,MAAME,YAAY,GAAGxB,oBAAoB,CAAC;IACzCkB,aAAa;IACbI;EACD,CAAC,CAAC;EAEF,MAAMG,eAAe,GAAGlC,OAAO,CAC9B,MAAMC,OAAO,CAACkC,YAAY,CAACH,UAAU,EAAEC,YAAY,CAAC,EACpD,CAACD,UAAU,EAAEC,YAAY,CAC1B,CAAC;EAED,MAAMG,KAAK,GAAGpC,OAAO,CACpB,OAAO;IACNqC,QAAQ,EAAEhB,gBAAgB;IAC1Ba,eAAe;IACfF,UAAU;IACVC,YAAY;IACZL,WAAW;IACXH,cAAc;IACda,iBAAiB,EAAEX,aAAa,CAACY,aAAa,CAACD,iBAAiB;IAChER;EACD,CAAC,CAAC,EACF,CACCT,gBAAgB,EAChBa,eAAe,EACfF,UAAU,EACVC,YAAY,EACZL,WAAW,EACXH,cAAc,EACdE,aAAa,CAACY,aAAa,CAACD,iBAAiB,EAC7CR,oBAAoB,CAEtB,CAAC;EAED,MAAMU,OAAO,GAAGxC,OAAO,CACtB,mBACCc,KAAA,CAACf,QAAQ;IAAAoB,QAAA,gBACRP,IAAA,CAACL,sBAAsB,IAAE,CAAC,EACzBY,QAAQ;EAAA,CACA,CACV,EACD,CAACA,QAAQ,CACV,CAAC;EAED,OAAO;IACNiB,KAAK;IACLjB,QAAQ,EAAEqB;EACX,CAAC;AACF,CACD,CAAC","ignoreList":[]}
@@ -1,17 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ import { usePreventRemoveContext } from "@react-navigation/native";
3
4
  import { useMemo } from "react";
4
5
  import { useDescriptorsStore } from "../../descriptors";
5
- import { useGestureStore } from "../gestures.provider";
6
6
  import { resolveScreenGestureConfig } from "../shared/policy";
7
- export function useScreenGestureConfig() {
8
- const gestureContext = useGestureStore();
7
+ export function useScreenGestureConfig(gestureContext) {
9
8
  const options = useDescriptorsStore(store => store.options);
10
9
  const isFirstKey = useDescriptorsStore(store => store.derivations.isFirstKey);
10
+ const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
11
+ const {
12
+ preventedRoutes
13
+ } = usePreventRemoveContext();
14
+ const isRemovePrevented = preventedRoutes[currentScreenKey]?.preventRemove === true;
11
15
  return useMemo(() => resolveScreenGestureConfig({
12
16
  options,
13
17
  isFirstKey,
14
- gestureContext
15
- }), [isFirstKey, options, gestureContext]);
18
+ gestureContext,
19
+ isRemovePrevented
20
+ }), [isFirstKey, options, gestureContext, isRemovePrevented]);
16
21
  }
17
22
  //# sourceMappingURL=use-screen-gesture-config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useDescriptorsStore","useGestureStore","resolveScreenGestureConfig","useScreenGestureConfig","gestureContext","options","store","isFirstKey","derivations"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,0BAA0B,QAAQ,kBAAkB;AAG7D,OAAO,SAASC,sBAAsBA,CAAA,EAAwB;EAC7D,MAAMC,cAAc,GAAGH,eAAe,CAAC,CAAC;EACxC,MAAMI,OAAO,GAAGL,mBAAmB,CAAEM,KAAK,IAAKA,KAAK,CAACD,OAAO,CAAC;EAC7D,MAAME,UAAU,GAAGP,mBAAmB,CACpCM,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACD,UAC9B,CAAC;EAED,OAAOR,OAAO,CACb,MACCG,0BAA0B,CAAC;IAC1BG,OAAO;IACPE,UAAU;IACVH;EACD,CAAC,CAAC,EACH,CAACG,UAAU,EAAEF,OAAO,EAAED,cAAc,CACrC,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["usePreventRemoveContext","useMemo","useDescriptorsStore","resolveScreenGestureConfig","useScreenGestureConfig","gestureContext","options","store","isFirstKey","derivations","currentScreenKey","preventedRoutes","isRemovePrevented","preventRemove"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,0BAA0B;AAClE,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,SAASC,0BAA0B,QAAQ,kBAAkB;AAG7D,OAAO,SAASC,sBAAsBA,CACrCC,cAAyC,EACnB;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,MAAME,gBAAgB,GAAGR,mBAAmB,CAC1CK,KAAK,IAAKA,KAAK,CAACE,WAAW,CAACC,gBAC9B,CAAC;EACD,MAAM;IAAEC;EAAgB,CAAC,GAAGX,uBAAuB,CAAC,CAAC;EACrD,MAAMY,iBAAiB,GACtBD,eAAe,CAACD,gBAAgB,CAAC,EAAEG,aAAa,KAAK,IAAI;EAE1D,OAAOZ,OAAO,CACb,MACCE,0BAA0B,CAAC;IAC1BG,OAAO;IACPE,UAAU;IACVH,cAAc;IACdO;EACD,CAAC,CAAC,EACH,CAACJ,UAAU,EAAEF,OAAO,EAAED,cAAc,EAAEO,iBAAiB,CACxD,CAAC;AACF","ignoreList":[]}
@@ -9,12 +9,13 @@ import { useGestureStore } from "../gestures.provider";
9
9
  import { walkGestureAncestors } from "../shared/ancestors";
10
10
  import { resolveScreenGestureConfig } from "../shared/policy";
11
11
  import { resolveShadowingClaimDirections } from "./shadowing-claims";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
12
13
  const NO_SHADOWED_ANCESTORS = [];
13
14
  const findShadowedDirections = (claimedDirections, ancestorDirections) => {
14
15
  const shadowedDirections = [];
15
- for (const dir of DIRECTIONS) {
16
- if (claimedDirections[dir] && ancestorDirections[dir]) {
17
- shadowedDirections.push(dir);
16
+ for (const direction of DIRECTIONS) {
17
+ if (claimedDirections[direction] && ancestorDirections[direction]) {
18
+ shadowedDirections.push(direction);
18
19
  }
19
20
  }
20
21
  return shadowedDirections;
@@ -44,8 +45,8 @@ const registerShadowingClaims = (shadowedAncestors, currentScreenKey) => {
44
45
  const newClaims = {
45
46
  ...ancestor.childDirectionClaims.get()
46
47
  };
47
- for (const dir of directions) {
48
- newClaims[dir] = {
48
+ for (const direction of directions) {
49
+ newClaims[direction] = {
49
50
  routeKey: currentScreenKey,
50
51
  isDismissing
51
52
  };
@@ -63,10 +64,9 @@ const clearShadowingClaims = (shadowedAncestors, currentScreenKey) => {
63
64
  ...currentClaims
64
65
  };
65
66
  let needsUpdate = false;
66
- for (const dir of directions) {
67
- // Only remove claims written by this screen; a newer descendant may own it now.
68
- if (currentClaims[dir]?.routeKey === currentScreenKey) {
69
- newClaims[dir] = null;
67
+ for (const direction of directions) {
68
+ if (currentClaims[direction]?.routeKey === currentScreenKey) {
69
+ newClaims[direction] = null;
70
70
  needsUpdate = true;
71
71
  }
72
72
  }
@@ -90,44 +90,23 @@ const getDescriptorClaimedDirections = (descriptor, gestureContext) => {
90
90
  gestureContext
91
91
  }).participation.claimedDirections;
92
92
  };
93
-
94
- /**
95
- * Registers this screen with ancestors that claim the same direction.
96
- *
97
- * Example, when C is top-most:
98
- * A claims vertical
99
- * └─ B claims horizontal
100
- * └─ C claims vertical
101
- *
102
- * C walks up the tree and writes itself into A.childDirectionClaims.vertical.
103
- * B is skipped because it does not claim vertical.
104
- */
105
- export function useWalkUpAndRegisterShadowingClaims(claimedDirections) {
106
- const parentContext = useGestureStore();
93
+ const requireGestureContext = gestureContext => {
94
+ if (!gestureContext) {
95
+ throw new Error("GestureOwnershipBridge must be rendered within a ScreenGestureProvider");
96
+ }
97
+ return gestureContext;
98
+ };
99
+ function ActiveGestureOwnershipBridge() {
100
+ const gestureContext = requireGestureContext(useGestureStore());
107
101
  const previous = useDescriptorsStore(store => store.previous);
108
- const isTopMostScreen = useDescriptorsStore(store => store.derivations.isTopMostScreen);
109
- const currentScreenKey = useDescriptorsStore(store => store.derivations.currentScreenKey);
110
- const isCurrentScreenClosing = useBlankStackStore(store => store?.scenesByKey[currentScreenKey]?.activity === "closing");
111
-
112
- /*
113
- * We want to calculate effective claimed directions as claimedDirections is not enough for us.
114
- * What this solves is lingering claimed directions when a screen is closing.
115
- *
116
- * Overlay claims horizontal
117
- * └─ A has no local horizontal claim
118
- * └─ B claims horizontal (closing)
119
- * └─ C claims horizontal (closing)
120
- *
121
- * Closing screens are still mounted, so they can still block parent gestures.
122
- * But they cannot receive touches anymore.
123
- *
124
- * So when B/C are closing and the user is really touching A, B/C should not
125
- * keep blocking the parent with their own gesture config.
126
- *
127
- * A closing screen should act like the visible screen underneath it:
128
- * - if the screen underneath claims the gesture, keep blocking the parent
129
- * - if the screen underneath does not claim it, let the parent handle it
130
- */
102
+ const isCurrentScreenClosing = useBlankStackStore(store => store?.scenesByKey[gestureContext.routeKey]?.activity === "closing");
103
+ const {
104
+ claimedDirections,
105
+ gestureContext: parentContext,
106
+ routeKey: currentScreenKey
107
+ } = gestureContext;
108
+ // A retained closing screen cannot receive touches, so its ownership must
109
+ // mirror the visible screen underneath instead of blocking an ancestor.
131
110
  const effectiveClaimedDirections = useMemo(() => resolveShadowingClaimDirections({
132
111
  isCurrentScreenClosing,
133
112
  currentClaimedDirections: claimedDirections,
@@ -135,13 +114,20 @@ export function useWalkUpAndRegisterShadowingClaims(claimedDirections) {
135
114
  }), [isCurrentScreenClosing, claimedDirections, previous, parentContext]);
136
115
  const shadowedAncestors = useMemo(() => findShadowedAncestors(parentContext, effectiveClaimedDirections), [parentContext, effectiveClaimedDirections]);
137
116
  useLayoutEffect(() => {
138
- if (!isTopMostScreen || !shadowedAncestors.length) {
117
+ if (!shadowedAncestors.length) {
139
118
  return;
140
119
  }
141
120
  registerShadowingClaims(shadowedAncestors, currentScreenKey);
142
121
  return () => {
143
122
  clearShadowingClaims(shadowedAncestors, currentScreenKey);
144
123
  };
145
- }, [shadowedAncestors, currentScreenKey, isTopMostScreen]);
124
+ }, [shadowedAncestors, currentScreenKey]);
125
+ return null;
126
+ }
127
+
128
+ /** Keeps gesture ownership subscriptions attached only to participating screens. */
129
+ export function GestureOwnershipBridge() {
130
+ const isTopMostScreen = useDescriptorsStore(store => store.derivations.isTopMostScreen);
131
+ return isTopMostScreen ? /*#__PURE__*/_jsx(ActiveGestureOwnershipBridge, {}) : null;
146
132
  }
147
- //# sourceMappingURL=use-walk-up-and-register-shadowing-claims.js.map
133
+ //# sourceMappingURL=gesture-ownership-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLayoutEffect","useMemo","GestureStore","DIRECTIONS","NO_CLAIMS","useDescriptorsStore","useBlankStackStore","useGestureStore","walkGestureAncestors","resolveScreenGestureConfig","resolveShadowingClaimDirections","jsx","_jsx","NO_SHADOWED_ANCESTORS","findShadowedDirections","claimedDirections","ancestorDirections","shadowedDirections","direction","push","findShadowedAncestors","parentContext","ancestors","ancestor","directions","length","registerShadowingClaims","shadowedAncestors","currentScreenKey","isDismissing","getValue","newClaims","childDirectionClaims","get","routeKey","set","clearShadowingClaims","currentClaims","needsUpdate","getDescriptorIsFirstKey","descriptor","navigationState","navigation","getState","routes","findIndex","route","key","getDescriptorClaimedDirections","gestureContext","options","isFirstKey","participation","requireGestureContext","Error","ActiveGestureOwnershipBridge","previous","store","isCurrentScreenClosing","scenesByKey","activity","effectiveClaimedDirections","currentClaimedDirections","previousClaimedDirections","GestureOwnershipBridge","isTopMostScreen","derivations"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/gestures/ownership/gesture-ownership-bridge.tsx"],"mappings":"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","ignoreList":[]}
@@ -68,7 +68,7 @@ export const trackPanGesture = (event, rawEvent, gestures, dimensions) => {
68
68
  velocity
69
69
  };
70
70
  };
71
- export const finalizePanRelease = (release, runtime, dismissScreen, dimensions, rawEvent, requestDismiss, gestureCompositionOwner) => {
71
+ export const finalizePanRelease = (release, runtime, dimensions, rawEvent, requestDismiss, gestureCompositionOwner) => {
72
72
  "worklet";
73
73
 
74
74
  const {
@@ -111,12 +111,8 @@ export const finalizePanRelease = (release, runtime, dismissScreen, dimensions,
111
111
  system.targetProgress.set(plan.target);
112
112
  return;
113
113
  }
114
- if (plan.shouldDismiss && requestDismiss) {
115
- runOnJS(requestDismiss)();
116
- }
117
114
  animateToProgress({
118
115
  target: plan.target,
119
- onAnimationFinish: plan.shouldDismiss ? dismissScreen : undefined,
120
116
  spec: plan.transitionSpec,
121
117
  emitWillAnimate: false,
122
118
  markEntering: false,
@@ -125,5 +121,8 @@ export const finalizePanRelease = (release, runtime, dismissScreen, dimensions,
125
121
  animations,
126
122
  initialVelocity: plan.progressVelocity
127
123
  });
124
+ if (plan.shouldDismiss && requestDismiss) {
125
+ runOnJS(requestDismiss)();
126
+ }
128
127
  };
129
128
  //# sourceMappingURL=pan-lifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["clamp","runOnJS","EPSILON","TRUE","emitMotionStart","animateToProgress","normalizeGestureTranslation","resolveGestureVelocity","snapshotGestureHandoff","clearFocalPoint","clearPanTrackingValues","clearTransformTrackingValues","buildPanReleasePlan","resetPanGestureValues","startPanBase","runtime","stores","gestures","animations","dragging","set","dismissing","settling","internal","progressBaseline","transitionProgress","get","trackPanGesture","event","rawEvent","dimensions","translationX","x","translationY","y","rawX","rawY","velocityX","velocityY","width","height","normX","normY","rawNormX","rawNormY","velocity","Math","max","progressDeltaX","progressDeltaY","raw","finalizePanRelease","release","dismissScreen","requestDismiss","gestureCompositionOwner","policy","system","canDriveRelease","plan","target","shouldDismiss","initialVelocity","transitionSpec","undefined","resetSpec","open","commitProgress","targetProgress","progressAlreadyAtTarget","abs","handoffVelocity","completeMotion","updateLifecycle","onAnimationFinish","spec","emitWillAnimate","markEntering","animationProgress","progressVelocity"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clamp","runOnJS","EPSILON","TRUE","emitMotionStart","animateToProgress","normalizeGestureTranslation","resolveGestureVelocity","snapshotGestureHandoff","clearFocalPoint","clearPanTrackingValues","clearTransformTrackingValues","buildPanReleasePlan","resetPanGestureValues","startPanBase","runtime","stores","gestures","animations","dragging","set","dismissing","settling","internal","progressBaseline","transitionProgress","get","trackPanGesture","event","rawEvent","dimensions","translationX","x","translationY","y","rawX","rawY","velocityX","velocityY","width","height","normX","normY","rawNormX","rawNormY","velocity","Math","max","progressDeltaX","progressDeltaY","raw","finalizePanRelease","release","requestDismiss","gestureCompositionOwner","policy","system","canDriveRelease","plan","target","shouldDismiss","initialVelocity","transitionSpec","undefined","resetSpec","open","commitProgress","targetProgress","progressAlreadyAtTarget","abs","handoffVelocity","completeMotion","updateLifecycle","spec","emitWillAnimate","markEntering","animationProgress","progressVelocity"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,6 @@ import { finalizePanRelease, startPanBase, trackPanGesture } from "./pan-lifecyc
9
9
  import { primeSnapPanRelease, resolvePanRelease, resolveSnapPanRelease } from "./pan-release";
10
10
  export const usePanBehavior = (runtime, screenOptions, dimensions, gestureCompositionOwner, pendingDirection) => {
11
11
  const {
12
- dismissScreen,
13
12
  requestDismiss
14
13
  } = useNavigationHelpers();
15
14
  const {
@@ -59,11 +58,11 @@ export const usePanBehavior = (runtime, screenOptions, dimensions, gestureCompos
59
58
  resetSpec: latestRuntime.policy.transitionSpec?.open
60
59
  } : latestRuntime.participation.effectiveSnapPoints.hasSnapPoints ? resolveSnapPanRelease(event, latestRuntime, dimensions) : resolvePanRelease(event, latestRuntime, dimensions);
61
60
  const isPanCompositionOwner = gestureCompositionOwner.get() === "pan";
62
- finalizePanRelease(release, latestRuntime, dismissScreen, dimensions, rawEvent, requestDismiss, gestureCompositionOwner);
61
+ finalizePanRelease(release, latestRuntime, dimensions, rawEvent, requestDismiss, gestureCompositionOwner);
63
62
  if (isPanCompositionOwner) {
64
63
  gestureCompositionOwner.set(null);
65
64
  }
66
- }, [runtime, screenOptions, dimensions, dismissScreen, requestDismiss, withSensitivity, gestureCompositionOwner]);
65
+ }, [runtime, screenOptions, dimensions, requestDismiss, withSensitivity, gestureCompositionOwner]);
67
66
  return useMemo(() => ({
68
67
  onStart,
69
68
  onUpdate,