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
@@ -7,34 +7,107 @@ exports.OverlayHost = void 0;
7
7
  var _native = require("@react-navigation/native");
8
8
  var _react = require("react");
9
9
  var _reactNative = require("react-native");
10
- var _reactNativeReanimated = require("react-native-reanimated");
10
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
+ var _snapTo = require("../../../animation/snap-to");
12
+ var _useStack = require("../../../hooks/navigation/use-stack");
11
13
  var _animation = require("../../../providers/screen/animation");
14
+ var _slot = require("../../../providers/screen/styles/slot.provider");
15
+ var _retainReadyOverlayResources = require("../helpers/retain-ready-overlay-resources");
16
+ var _useOverlaySlot = require("../hooks/use-overlay-slot");
12
17
  var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
19
  const OverlayHost = exports.OverlayHost = /*#__PURE__*/(0, _react.memo)(function OverlayHost({
14
20
  scene,
15
- overlayScreenState
21
+ driverScene,
22
+ previousOverlayScene,
23
+ activity,
24
+ layerIndex
16
25
  }) {
17
- const OverlayComponent = scene.descriptor.options.overlay;
18
- const screenAnimation = (0, _animation.useScreenAnimation)();
26
+ const overlayAnimationStore = (0, _animation.useScreenAnimationStore)(scene.route.key);
27
+ const driverAnimationStore = (0, _animation.useScreenAnimationStore)(driverScene.route.key);
28
+ const previousOverlayAnimationStore = (0, _animation.useScreenAnimationStore)(previousOverlayScene?.route.key ?? scene.route.key);
29
+ const driverSlots = (0, _slot.useScreenSlots)(driverScene.route.key);
30
+ const overlayComponentRef = (0, _react.useRef)(scene.descriptor.options.overlay);
31
+ const OverlayComponent = overlayComponentRef.current;
32
+ const readyResourcesRef = (0, _react.useRef)(null);
33
+ readyResourcesRef.current = (0, _retainReadyOverlayResources.retainReadyOverlayResources)(readyResourcesRef.current, overlayAnimationStore, driverScene, driverAnimationStore, driverSlots);
34
+ const readyResources = readyResourcesRef.current;
35
+ if (!OverlayComponent || !readyResources) {
36
+ return null;
37
+ }
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ReadyOverlayHost, {
39
+ scene: scene,
40
+ driverScene: readyResources.driverScene,
41
+ activity: activity,
42
+ layerIndex: layerIndex,
43
+ overlayAnimationStore: readyResources.overlayAnimationStore,
44
+ driverAnimationStore: readyResources.driverAnimationStore,
45
+ previousOverlayAnimationStore: previousOverlayScene ? previousOverlayAnimationStore : undefined,
46
+ driverSlots: readyResources.driverSlots,
47
+ OverlayComponent: OverlayComponent
48
+ });
49
+ });
50
+ function ReadyOverlayHost({
51
+ scene,
52
+ driverScene,
53
+ activity,
54
+ layerIndex,
55
+ overlayAnimationStore,
56
+ driverAnimationStore,
57
+ previousOverlayAnimationStore,
58
+ driverSlots,
59
+ OverlayComponent
60
+ }) {
61
+ const {
62
+ scenes,
63
+ focusedIndex,
64
+ routeKeys,
65
+ routes
66
+ } = (0, _useStack.useStack)();
67
+ const descriptor = scene.descriptor;
68
+ const focusedScene = scenes[focusedIndex] ?? scenes[scenes.length - 1];
69
+ const focusedDescriptor = focusedScene?.descriptor;
70
+ const {
71
+ animatedProps,
72
+ animatedStyle
73
+ } = (0, _useOverlaySlot.useOverlaySlot)({
74
+ overlayAnimationStore,
75
+ driverAnimationStore,
76
+ previousOverlayAnimationStore: previousOverlayAnimationStore ?? undefined,
77
+ driverInterpolator: driverScene.descriptor.options.screenStyleInterpolator,
78
+ interpolatorReady: driverSlots.interpolatorReady,
79
+ isIncoming: scene.route.key === driverScene.route.key
80
+ });
19
81
  const relativeProgress = (0, _reactNativeReanimated.useDerivedValue)(() => {
20
82
  "worklet";
21
83
 
22
- return screenAnimation.get().stackProgress;
84
+ overlayAnimationStore.screenInterpolatorPropsRevision.get();
85
+ return overlayAnimationStore.screenInterpolatorProps.get().stackProgress;
23
86
  });
24
87
  const overlayProps = (0, _react.useMemo)(() => ({
25
- ...overlayScreenState,
88
+ route: scene.route,
89
+ index: routeKeys.indexOf(scene.route.key),
90
+ options: focusedDescriptor?.options ?? {},
91
+ routes,
92
+ focusedRoute: focusedScene?.route ?? scene.route,
93
+ focusedIndex,
94
+ meta: focusedDescriptor?.options?.meta,
95
+ navigation: scene.descriptor.navigation,
96
+ snapTo: index => {
97
+ (0, _snapTo.snapDescriptorToIndex)(scene.descriptor, index);
98
+ },
26
99
  progress: relativeProgress
27
- }), [relativeProgress, overlayScreenState]);
28
- if (!OverlayComponent) {
29
- return null;
30
- }
31
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
32
- pointerEvents: "box-none",
33
- style: [styles.container, styles.floating, _reactNative.StyleSheet.absoluteFill],
100
+ }), [scene, focusedDescriptor?.options, focusedIndex, focusedScene?.route, relativeProgress, routeKeys, routes]);
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
102
+ animatedProps: animatedProps,
103
+ pointerEvents: activity === "active" ? "box-none" : "none",
104
+ style: [styles.container, styles.floating, _reactNative.StyleSheet.absoluteFill, {
105
+ zIndex: 1000 + layerIndex
106
+ }, animatedStyle],
34
107
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
35
- value: scene.descriptor.navigation,
108
+ value: descriptor.navigation,
36
109
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationRouteContext.Provider, {
37
- value: scene.route,
110
+ value: descriptor.route,
38
111
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
39
112
  pointerEvents: "box-none",
40
113
  style: [_reactNative.StyleSheet.absoluteFill, styles.overlay],
@@ -45,7 +118,7 @@ const OverlayHost = exports.OverlayHost = /*#__PURE__*/(0, _react.memo)(function
45
118
  })
46
119
  })
47
120
  });
48
- });
121
+ }
49
122
  const styles = _reactNative.StyleSheet.create({
50
123
  overlay: {
51
124
  zIndex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_reactNative","_reactNativeReanimated","_animation","_jsxRuntime","OverlayHost","exports","memo","scene","overlayScreenState","OverlayComponent","descriptor","options","overlay","screenAnimation","useScreenAnimation","relativeProgress","useDerivedValue","get","stackProgress","overlayProps","useMemo","progress","jsx","Animated","View","pointerEvents","style","styles","container","floating","StyleSheet","absoluteFill","children","NavigationContext","Provider","value","navigation","NavigationRouteContext","route","create","zIndex","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/overlay-host.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAAyE,IAAAK,WAAA,GAAAL,OAAA;AAYlE,MAAMM,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,WAAWA,CAAC;EACpDG,KAAK;EACLC;AACiB,CAAC,EAAE;EACpB,MAAMC,gBAAgB,GAAGF,KAAK,CAACG,UAAU,CAACC,OAAO,CAACC,OAAO;EAEzD,MAAMC,eAAe,GAAG,IAAAC,6BAAkB,EAAC,CAAC;EAC5C,MAAMC,gBAAgB,GAAG,IAAAC,sCAAe,EAAC,MAAM;IAC9C,SAAS;;IACT,OAAOH,eAAe,CAACI,GAAG,CAAC,CAAC,CAACC,aAAa;EAC3C,CAAC,CAAC;EAEF,MAAMC,YAAwD,GAAG,IAAAC,cAAO,EACvE,OAAO;IACN,GAAGZ,kBAAkB;IACrBa,QAAQ,EAAEN;EACX,CAAC,CAAC,EACF,CAACA,gBAAgB,EAAEP,kBAAkB,CACtC,CAAC;EAED,IAAI,CAACC,gBAAgB,EAAE;IACtB,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAN,WAAA,CAAAmB,GAAA,EAACtB,YAAA,CAAAuB,QAAQ,CAACC,IAAI;IACbC,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAED,MAAM,CAACE,QAAQ,EAAEC,uBAAU,CAACC,YAAY,CAAE;IAAAC,QAAA,eAEpE,IAAA7B,WAAA,CAAAmB,GAAA,EAACzB,OAAA,CAAAoC,iBAAiB,CAACC,QAAQ;MAACC,KAAK,EAAE5B,KAAK,CAACG,UAAU,CAAC0B,UAAkB;MAAAJ,QAAA,eACrE,IAAA7B,WAAA,CAAAmB,GAAA,EAACzB,OAAA,CAAAwC,sBAAsB,CAACH,QAAQ;QAACC,KAAK,EAAE5B,KAAK,CAAC+B,KAAM;QAAAN,QAAA,eACnD,IAAA7B,WAAA,CAAAmB,GAAA,EAACtB,YAAA,CAAAwB,IAAI;UACJC,aAAa,EAAC,UAAU;UACxBC,KAAK,EAAE,CAACI,uBAAU,CAACC,YAAY,EAAEJ,MAAM,CAACf,OAAO,CAAE;UAAAoB,QAAA,eAEjD,IAAA7B,WAAA,CAAAmB,GAAA,EAACb,gBAAgB;YAAA,GAAKU;UAAY,CAAG;QAAC,CACjC;MAAC,CACyB;IAAC,CACP;EAAC,CACf,CAAC;AAElB,CAAC,CAAC;AAEF,MAAMQ,MAAM,GAAGG,uBAAU,CAACS,MAAM,CAAC;EAChC3B,OAAO,EAAE;IACR4B,MAAM,EAAE;EACT,CAAC;EACDZ,SAAS,EAAE;IACVa,IAAI,EAAE;EACP,CAAC;EACDZ,QAAQ,EAAE;IACTW,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_react","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_snapTo","_useStack","_animation","_slot","_retainReadyOverlayResources","_useOverlaySlot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OverlayHost","exports","memo","scene","driverScene","previousOverlayScene","activity","layerIndex","overlayAnimationStore","useScreenAnimationStore","route","key","driverAnimationStore","previousOverlayAnimationStore","driverSlots","useScreenSlots","overlayComponentRef","useRef","descriptor","options","overlay","OverlayComponent","current","readyResourcesRef","retainReadyOverlayResources","readyResources","jsx","ReadyOverlayHost","undefined","scenes","focusedIndex","routeKeys","routes","useStack","focusedScene","length","focusedDescriptor","animatedProps","animatedStyle","useOverlaySlot","driverInterpolator","screenStyleInterpolator","interpolatorReady","isIncoming","relativeProgress","useDerivedValue","screenInterpolatorPropsRevision","screenInterpolatorProps","stackProgress","overlayProps","useMemo","index","indexOf","focusedRoute","meta","navigation","snapTo","snapDescriptorToIndex","progress","View","pointerEvents","style","styles","container","floating","StyleSheet","absoluteFill","zIndex","children","NavigationContext","Provider","value","NavigationRouteContext","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/overlay/variations/overlay-host.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,12 +24,14 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
24
24
  isBackdropActive
25
25
  }) {
26
26
  const {
27
- dismissScreen
27
+ isRemovePrevented,
28
+ requestDismiss
28
29
  } = (0, _useNavigationHelpers.useNavigationHelpers)();
29
30
  const routeKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.currentScreenKey);
30
31
  const BackdropComponent = (0, _descriptors.useDescriptorsStore)(store => store.options.backdropComponent);
31
32
  const rawSnapPoints = (0, _descriptors.useDescriptorsStore)(store => store.options.snapPoints);
32
- const canDismiss = (0, _descriptors.useDescriptorsStore)(store => store.options.gestureEnabled !== false);
33
+ const isGestureDismissEnabled = (0, _descriptors.useDescriptorsStore)(store => store.options.gestureEnabled !== false);
34
+ const canDismiss = isGestureDismissEnabled && !isRemovePrevented;
33
35
  const transitionSpec = (0, _descriptors.useDescriptorsStore)(store => store.options.transitionSpec);
34
36
  const animations = _animation.AnimationStore.getBag(routeKey);
35
37
  const {
@@ -40,13 +42,13 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
40
42
  const AnimatedBackdropComponent = (0, _react.useMemo)(() => BackdropComponent && !(0, _renderComponent.usesLayerRenderProps)(BackdropComponent) ? _reactNativeReanimated.default.createAnimatedComponent(BackdropComponent) : null, [BackdropComponent]);
41
43
  const handleBackdropPress = (0, _react.useCallback)(() => {
42
44
  if (backdropBehavior === "dismiss") {
43
- dismissScreen();
45
+ requestDismiss();
44
46
  return;
45
47
  }
46
48
  if (backdropBehavior === "collapse") {
47
49
  // No snap points → fallback to dismiss
48
50
  if (!rawSnapPoints || rawSnapPoints.length === 0) {
49
- dismissScreen();
51
+ requestDismiss();
50
52
  return;
51
53
  }
52
54
  const gestures = _gesture.GestureStore.getBag(routeKey);
@@ -79,12 +81,14 @@ const BackdropLayer = exports.BackdropLayer = /*#__PURE__*/(0, _react.memo)(func
79
81
  spec,
80
82
  animations,
81
83
  targetProgress,
82
- animationProgress,
83
- onAnimationFinish: shouldDismiss ? dismissScreen : undefined
84
+ animationProgress
84
85
  });
86
+ if (shouldDismiss) {
87
+ (0, _reactNativeReanimated.runOnJS)(requestDismiss)();
88
+ }
85
89
  })();
86
90
  }
87
- }, [animations, targetProgress, animationProgress, resolvedAutoSnapPoint, backdropBehavior, rawSnapPoints, canDismiss, transitionSpec, dismissScreen, routeKey]);
91
+ }, [animations, targetProgress, animationProgress, resolvedAutoSnapPoint, backdropBehavior, rawSnapPoints, canDismiss, transitionSpec, requestDismiss, routeKey]);
88
92
  const animatedBackdropStyle = (0, _styles.useSlotStyles)("backdrop");
89
93
  const animatedBackdropProps = (0, _styles.useSlotProps)("backdrop");
90
94
  const backdropPointerEvents = isBackdropActive ? "auto" : "none";
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_specs","_useNavigationHelpers","_descriptors","_styles","_animation","_gesture","_system","_animateToProgress","_findCollapseTarget","_renderComponent","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BackdropLayer","exports","memo","backdropBehavior","isBackdropActive","dismissScreen","useNavigationHelpers","routeKey","useDescriptorsStore","store","derivations","currentScreenKey","BackdropComponent","options","backdropComponent","rawSnapPoints","snapPoints","canDismiss","gestureEnabled","transitionSpec","animations","AnimationStore","getBag","targetProgress","animationProgress","resolvedAutoSnapPoint","SystemStore","AnimatedBackdropComponent","useMemo","usesLayerRenderProps","Animated","createAnimatedComponent","handleBackdropPress","useCallback","length","gestures","GestureStore","runOnUI","resolvedSnaps","point","resolvedPoint","push","target","shouldDismiss","findCollapseTarget","transitionProgress","dismissing","spec","open","expand","DefaultSnapSpec","close","collapse","animateToProgress","markEntering","onAnimationFinish","undefined","animatedBackdropStyle","useSlotStyles","animatedBackdropProps","useSlotProps","backdropPointerEvents","backdropStyles","StyleSheet","absoluteFill","backdropProps","jsx","Pressable","style","pointerEvents","onPress","children","animatedProps","styles","props","View"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_specs","_useNavigationHelpers","_descriptors","_styles","_animation","_gesture","_system","_animateToProgress","_findCollapseTarget","_renderComponent","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BackdropLayer","exports","memo","backdropBehavior","isBackdropActive","isRemovePrevented","requestDismiss","useNavigationHelpers","routeKey","useDescriptorsStore","store","derivations","currentScreenKey","BackdropComponent","options","backdropComponent","rawSnapPoints","snapPoints","isGestureDismissEnabled","gestureEnabled","canDismiss","transitionSpec","animations","AnimationStore","getBag","targetProgress","animationProgress","resolvedAutoSnapPoint","SystemStore","AnimatedBackdropComponent","useMemo","usesLayerRenderProps","Animated","createAnimatedComponent","handleBackdropPress","useCallback","length","gestures","GestureStore","runOnUI","resolvedSnaps","point","resolvedPoint","push","target","shouldDismiss","findCollapseTarget","transitionProgress","dismissing","spec","open","expand","DefaultSnapSpec","close","collapse","animateToProgress","markEntering","runOnJS","animatedBackdropStyle","useSlotStyles","animatedBackdropProps","useSlotProps","backdropPointerEvents","backdropStyles","StyleSheet","absoluteFill","backdropProps","jsx","Pressable","style","pointerEvents","onPress","undefined","children","animatedProps","styles","props","View"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shouldInterceptClose = exports.doesNavigatorOwnCloseAction = void 0;
7
+ const containsRouteKey = (routes, routeKey) => routes.some(route => route.key === routeKey || (route.state ? containsRouteKey(route.state.routes, routeKey) : false));
8
+ const doesNavigatorOwnCloseAction = ({
9
+ state,
10
+ action
11
+ }) => {
12
+ if (typeof action.target === "string") {
13
+ return action.target === state.key;
14
+ }
15
+ if (typeof action.source === "string") {
16
+ return containsRouteKey(state.routes, action.source);
17
+ }
18
+ return true;
19
+ };
20
+
21
+ /** Only the focused removable route owns a stack close transition. */
22
+ exports.doesNavigatorOwnCloseAction = doesNavigatorOwnCloseAction;
23
+ const shouldInterceptClose = ({
24
+ enabled,
25
+ ownsAction,
26
+ ancestorDismissing,
27
+ routeIndex,
28
+ focusedIndex
29
+ }) => enabled && ownsAction && !ancestorDismissing && routeIndex > 0 && routeIndex === focusedIndex;
30
+ exports.shouldInterceptClose = shouldInterceptClose;
31
+ //# sourceMappingURL=close-interception-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["containsRouteKey","routes","routeKey","some","route","key","state","doesNavigatorOwnCloseAction","action","target","source","exports","shouldInterceptClose","enabled","ownsAction","ancestorDismissing","routeIndex","focusedIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts"],"mappings":";;;;;;AAuBA,MAAMA,gBAAgB,GAAGA,CACxBC,MAA6B,EAC7BC,QAAgB,KAEhBD,MAAM,CAACE,IAAI,CACTC,KAAK,IACLA,KAAK,CAACC,GAAG,KAAKH,QAAQ,KACrBE,KAAK,CAACE,KAAK,GAAGN,gBAAgB,CAACI,KAAK,CAACE,KAAK,CAACL,MAAM,EAAEC,QAAQ,CAAC,GAAG,KAAK,CACvE,CAAC;AAEK,MAAMK,2BAA2B,GAAGA,CAAC;EAC3CD,KAAK;EACLE;AAID,CAAC,KAAc;EACd,IAAI,OAAOA,MAAM,CAACC,MAAM,KAAK,QAAQ,EAAE;IACtC,OAAOD,MAAM,CAACC,MAAM,KAAKH,KAAK,CAACD,GAAG;EACnC;EAEA,IAAI,OAAOG,MAAM,CAACE,MAAM,KAAK,QAAQ,EAAE;IACtC,OAAOV,gBAAgB,CAACM,KAAK,CAACL,MAAM,EAAEO,MAAM,CAACE,MAAM,CAAC;EACrD;EAEA,OAAO,IAAI;AACZ,CAAC;;AAED;AAAAC,OAAA,CAAAJ,2BAAA,GAAAA,2BAAA;AACO,MAAMK,oBAAoB,GAAGA,CAAC;EACpCC,OAAO;EACPC,UAAU;EACVC,kBAAkB;EAClBC,UAAU;EACVC;AACuB,CAAC,KACxBJ,OAAO,IACPC,UAAU,IACV,CAACC,kBAAkB,IACnBC,UAAU,GAAG,CAAC,IACdA,UAAU,KAAKC,YAAY;AAACN,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCloseCompletion = void 0;
7
+ var _reactNativeReanimated = require("react-native-reanimated");
8
+ const useCloseCompletion = ({
9
+ closing,
10
+ animationProgress,
11
+ onComplete
12
+ }) => {
13
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => {
14
+ "worklet";
15
+
16
+ return !!closing.get() && animationProgress.get() <= 0;
17
+ }, (complete, previouslyComplete) => {
18
+ "worklet";
19
+
20
+ if (complete && !previouslyComplete) {
21
+ (0, _reactNativeReanimated.runOnJS)(onComplete)();
22
+ }
23
+ });
24
+ };
25
+ exports.useCloseCompletion = useCloseCompletion;
26
+ //# sourceMappingURL=use-close-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","useCloseCompletion","closing","animationProgress","onComplete","useAnimatedReaction","get","complete","previouslyComplete","runOnJS","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-completion.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAMO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,iBAAiB;EACjBC;AAKD,CAAC,KAAK;EACL,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,CAAC,CAACH,OAAO,CAACI,GAAG,CAAC,CAAC,IAAIH,iBAAiB,CAACG,GAAG,CAAC,CAAC,IAAI,CAAC;EACvD,CAAC,EACD,CAACC,QAAQ,EAAEC,kBAAkB,KAAK;IACjC,SAAS;;IACT,IAAID,QAAQ,IAAI,CAACC,kBAAkB,EAAE;MACpC,IAAAC,8BAAO,EAACL,UAAU,CAAC,CAAC,CAAC;IACtB;EACD,CACD,CAAC;AACF,CAAC;AAACM,OAAA,CAAAT,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -5,119 +5,96 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useCloseTransitionIntent = useCloseTransitionIntent;
7
7
  var _react = require("react");
8
+ var _useNavigationHelpers = require("../../../hooks/navigation/use-navigation-helpers");
8
9
  var _useStableCallback = _interopRequireDefault(require("../../../hooks/use-stable-callback"));
10
+ var _hasTransitionsEnabled = require("../../../providers/screen/animation/helpers/has-transitions-enabled");
9
11
  var _descriptors = require("../../../providers/screen/descriptors");
10
12
  var _blankStack = require("../../../providers/stack/blank-stack.provider");
11
13
  var _core = require("../../../providers/stack/core.provider");
12
14
  var _gesture = require("../../../stores/gesture.store");
13
- var _system = require("../../../stores/system.store");
14
15
  var _stack = require("../../../types/stack.types");
16
+ var _closeActionReplay = require("../../../utils/navigation/close-action-replay");
17
+ var _closeInterceptionRules = require("./helpers/close-interception-rules");
15
18
  var _resetStoresForScreen = require("./helpers/reset-stores-for-screen");
16
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- /** biome-ignore-all lint/correctness/useHookAtTopLevel: STACK_TYPE is stable per navigator */
18
-
19
- const useBlankStackClose = ({
20
- current,
21
- requestLifecycleTransition,
22
- resetStores
23
- }) => {
20
+ function useCloseTransitionIntent(current) {
21
+ const routeKey = current.route.key;
22
+ const {
23
+ STACK_TYPE: stackType,
24
+ TRANSITIONS_ALWAYS_ON: transitionsAlwaysOn
25
+ } = (0, _core.useStackCoreStore)(store => store.flags);
24
26
  const handleCloseRoute = (0, _blankStack.useBlankStackStore)(store => store?.handleCloseRoute);
25
- const isClosing = (0, _blankStack.useBlankStackStore)(store => store?.scenesByKey[current.route.key]?.activity === "closing");
26
- (0, _react.useLayoutEffect)(() => {
27
- if (!isClosing) {
28
- return;
29
- }
30
- requestLifecycleTransition(_system.LifecycleTransitionRequestKind.BlankStackClose, 0);
31
- }, [isClosing, requestLifecycleTransition]);
32
- const handleBlankStackCloseEnd = (0, _useStableCallback.default)(finished => {
33
- if (!finished) return;
34
- if (!handleCloseRoute) {
35
- throw new Error("Blank stack close handler was not found.");
36
- }
37
- handleCloseRoute({
38
- route: current.route
39
- });
40
- requestAnimationFrame(() => {
41
- resetStores();
42
- });
43
- });
44
- return {
45
- handleBlankStackCloseEnd
46
- };
47
- };
48
-
49
- /**
50
- * Native stack close - listens to beforeRemove navigation event.
51
- */
52
- const useNativeStackClose = ({
53
- current,
54
- requestLifecycleTransition,
55
- resetStores
56
- }) => {
57
- const parentScreenKey = (0, _descriptors.useDescriptorsStore)(store => store.derivations.parentScreenKey);
27
+ const isBlankStackClosing = (0, _blankStack.useBlankStackStore)(store => store?.scenesByKey[routeKey]?.activity === "closing");
28
+ const ancestorKeys = (0, _descriptors.useDescriptorsStore)(store => store.derivations.ancestorKeys);
29
+ const parentScreenKey = ancestorKeys[0];
30
+ const {
31
+ dismissScreen,
32
+ requestDismiss
33
+ } = (0, _useNavigationHelpers.useNavigationHelpers)();
58
34
  const pendingActionRef = (0, _react.useRef)(null);
59
35
  const nearestAncestorDismissing = (0, _react.useMemo)(() => {
60
36
  if (!parentScreenKey) return null;
61
37
  return _gesture.GestureStore.peekBag(parentScreenKey)?.dismissing ?? null;
62
38
  }, [parentScreenKey]);
63
- const handleNativeCloseEnd = (0, _useStableCallback.default)(finished => {
64
- if (!finished || !pendingActionRef.current) {
65
- pendingActionRef.current = null;
66
- return;
39
+ (0, _react.useLayoutEffect)(() => {
40
+ if (isBlankStackClosing) {
41
+ requestDismiss();
67
42
  }
68
- current.navigation.dispatch(pendingActionRef.current);
43
+ }, [isBlankStackClosing, requestDismiss]);
44
+ const completeClose = (0, _useStableCallback.default)(() => {
45
+ const pendingAction = pendingActionRef.current;
69
46
  pendingActionRef.current = null;
70
- requestAnimationFrame(() => {
71
- resetStores();
72
- });
47
+ if (pendingAction) {
48
+ (0, _closeActionReplay.dispatchCloseAction)(pendingAction, action => {
49
+ current.navigation.dispatch(action);
50
+ });
51
+ } else if (stackType !== _stack.StackType.NATIVE && handleCloseRoute) {
52
+ handleCloseRoute({
53
+ route: current.route
54
+ });
55
+ } else {
56
+ dismissScreen();
57
+ }
58
+ (0, _resetStoresForScreen.resetStoresForScreen)(routeKey);
73
59
  });
74
- const handleBeforeRemove = (0, _useStableCallback.default)(e => {
75
- const options = current.options;
76
- const isEnabled = options.enableTransitions;
77
- const navigation = current.navigation;
78
- const routeKey = current.route.key;
79
- const state = navigation.getState();
60
+ const handleBeforeRemove = (0, _useStableCallback.default)(event => {
61
+ if ((0, _closeActionReplay.isCloseActionReplay)(event.data.action)) {
62
+ return;
63
+ }
64
+ const state = current.navigation.getState();
80
65
  const routeIndex = state.routes.findIndex(route => route.key === routeKey);
81
- const isFirstScreen = routeIndex <= 0;
82
- if (!isEnabled || nearestAncestorDismissing?.get() || isFirstScreen) {
83
- resetStores();
66
+ const action = event.data.action;
67
+ const ownsAction = (0, _closeInterceptionRules.doesNavigatorOwnCloseAction)({
68
+ state,
69
+ action
70
+ });
71
+ const shouldIntercept = (0, _closeInterceptionRules.shouldInterceptClose)({
72
+ enabled: (0, _hasTransitionsEnabled.hasTransitionsEnabled)(current.options, transitionsAlwaysOn),
73
+ ownsAction,
74
+ ancestorDismissing: !!nearestAncestorDismissing?.get(),
75
+ routeIndex,
76
+ focusedIndex: state.index
77
+ });
78
+ if (!shouldIntercept) {
79
+ return;
80
+ }
81
+ pendingActionRef.current ??= event.data.action;
82
+ if (!requestDismiss()) {
83
+ pendingActionRef.current = null;
84
84
  return;
85
85
  }
86
- e.preventDefault();
87
- pendingActionRef.current = e.data.action;
88
- requestLifecycleTransition(_system.LifecycleTransitionRequestKind.NativeClose, 0);
86
+ event.preventDefault();
89
87
  });
90
88
 
91
89
  // biome-ignore lint/correctness/useExhaustiveDependencies: navigation listener should only rebind when the navigator instance changes
92
90
  (0, _react.useLayoutEffect)(() => {
91
+ if (stackType !== _stack.StackType.NATIVE) {
92
+ return;
93
+ }
93
94
  return current.navigation.addListener?.("beforeRemove", handleBeforeRemove);
94
- }, [current.navigation]);
95
+ }, [current.navigation, stackType]);
95
96
  return {
96
- handleNativeCloseEnd
97
- };
98
- };
99
-
100
- /**
101
- * Handles close transition intent and returns finish callbacks for cleanup.
102
- */
103
- function useCloseTransitionIntent(current, system) {
104
- const routeKey = current.route.key;
105
- const stackType = (0, _core.useStackCoreStore)(store => store.flags.STACK_TYPE);
106
- const isNativeStack = stackType === _stack.StackType.NATIVE;
107
- const {
108
- requestLifecycleTransition
109
- } = system.actions;
110
- const resetStores = (0, _useStableCallback.default)(() => {
111
- (0, _resetStoresForScreen.resetStoresForScreen)(routeKey);
112
- });
113
- const closeParams = {
114
- current,
115
- requestLifecycleTransition,
116
- resetStores
97
+ completeClose
117
98
  };
118
- if (isNativeStack) {
119
- return useNativeStackClose(closeParams);
120
- }
121
- return useBlankStackClose(closeParams);
122
99
  }
123
100
  //# sourceMappingURL=use-close-transition-intent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useStableCallback","_interopRequireDefault","_descriptors","_blankStack","_core","_gesture","_system","_stack","_resetStoresForScreen","e","__esModule","default","useBlankStackClose","current","requestLifecycleTransition","resetStores","handleCloseRoute","useBlankStackStore","store","isClosing","scenesByKey","route","key","activity","useLayoutEffect","LifecycleTransitionRequestKind","BlankStackClose","handleBlankStackCloseEnd","useStableCallback","finished","Error","requestAnimationFrame","useNativeStackClose","parentScreenKey","useDescriptorsStore","derivations","pendingActionRef","useRef","nearestAncestorDismissing","useMemo","GestureStore","peekBag","dismissing","handleNativeCloseEnd","navigation","dispatch","handleBeforeRemove","options","isEnabled","enableTransitions","routeKey","state","getState","routeIndex","routes","findIndex","isFirstScreen","get","preventDefault","data","action","NativeClose","addListener","useCloseTransitionIntent","system","stackType","useStackCoreStore","flags","STACK_TYPE","isNativeStack","StackType","NATIVE","actions","resetStoresForScreen","closeParams"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_useNavigationHelpers","_useStableCallback","_interopRequireDefault","_hasTransitionsEnabled","_descriptors","_blankStack","_core","_gesture","_stack","_closeActionReplay","_closeInterceptionRules","_resetStoresForScreen","e","__esModule","default","useCloseTransitionIntent","current","routeKey","route","key","STACK_TYPE","stackType","TRANSITIONS_ALWAYS_ON","transitionsAlwaysOn","useStackCoreStore","store","flags","handleCloseRoute","useBlankStackStore","isBlankStackClosing","scenesByKey","activity","ancestorKeys","useDescriptorsStore","derivations","parentScreenKey","dismissScreen","requestDismiss","useNavigationHelpers","pendingActionRef","useRef","nearestAncestorDismissing","useMemo","GestureStore","peekBag","dismissing","useLayoutEffect","completeClose","useStableCallback","pendingAction","dispatchCloseAction","action","navigation","dispatch","StackType","NATIVE","resetStoresForScreen","handleBeforeRemove","event","isCloseActionReplay","data","state","getState","routeIndex","routes","findIndex","ownsAction","doesNavigatorOwnCloseAction","shouldIntercept","shouldInterceptClose","enabled","hasTransitionsEnabled","options","ancestorDismissing","get","focusedIndex","index","preventDefault","addListener"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAIA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAV,OAAA;AAIA,IAAAW,uBAAA,GAAAX,OAAA;AAIA,IAAAY,qBAAA,GAAAZ,OAAA;AAAyE,SAAAG,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElE,SAASG,wBAAwBA,CAACC,OAAuB,EAE9D;EACD,MAAMC,QAAQ,GAAGD,OAAO,CAACE,KAAK,CAACC,GAAG;EAClC,MAAM;IAAEC,UAAU,EAAEC,SAAS;IAAEC,qBAAqB,EAAEC;EAAoB,CAAC,GAC1E,IAAAC,uBAAiB,EAAEC,KAAK,IAAKA,KAAK,CAACC,KAAK,CAAC;EAC1C,MAAMC,gBAAgB,GAAG,IAAAC,8BAAkB,EACzCH,KAAK,IAAKA,KAAK,EAAEE,gBACnB,CAAC;EACD,MAAME,mBAAmB,GAAG,IAAAD,8BAAkB,EAC5CH,KAAK,IAAKA,KAAK,EAAEK,WAAW,CAACb,QAAQ,CAAC,EAAEc,QAAQ,KAAK,SACvD,CAAC;EACD,MAAMC,YAAY,GAAG,IAAAC,gCAAmB,EACtCR,KAAK,IAAKA,KAAK,CAACS,WAAW,CAACF,YAC9B,CAAC;EACD,MAAMG,eAAe,GAAGH,YAAY,CAAC,CAAC,CAAC;EACvC,MAAM;IAAEI,aAAa;IAAEC;EAAe,CAAC,GAAG,IAAAC,0CAAoB,EAAC,CAAC;EAChE,MAAMC,gBAAgB,GAAG,IAAAC,aAAM,EAAM,IAAI,CAAC;EAE1C,MAAMC,yBAAyB,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC/C,IAAI,CAACP,eAAe,EAAE,OAAO,IAAI;IAEjC,OAAOQ,qBAAY,CAACC,OAAO,CAACT,eAAe,CAAC,EAAEU,UAAU,IAAI,IAAI;EACjE,CAAC,EAAE,CAACV,eAAe,CAAC,CAAC;EAErB,IAAAW,sBAAe,EAAC,MAAM;IACrB,IAAIjB,mBAAmB,EAAE;MACxBQ,cAAc,CAAC,CAAC;IACjB;EACD,CAAC,EAAE,CAACR,mBAAmB,EAAEQ,cAAc,CAAC,CAAC;EAEzC,MAAMU,aAAa,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAC7C,MAAMC,aAAa,GAAGV,gBAAgB,CAACvB,OAAO;IAC9CuB,gBAAgB,CAACvB,OAAO,GAAG,IAAI;IAE/B,IAAIiC,aAAa,EAAE;MAClB,IAAAC,sCAAmB,EAACD,aAAa,EAAGE,MAAM,IAAK;QAC9CnC,OAAO,CAACoC,UAAU,CAACC,QAAQ,CAACF,MAAM,CAAC;MACpC,CAAC,CAAC;IACH,CAAC,MAAM,IAAI9B,SAAS,KAAKiC,gBAAS,CAACC,MAAM,IAAI5B,gBAAgB,EAAE;MAC9DA,gBAAgB,CAAC;QAAET,KAAK,EAAEF,OAAO,CAACE;MAAM,CAAC,CAAC;IAC3C,CAAC,MAAM;MACNkB,aAAa,CAAC,CAAC;IAChB;IAEA,IAAAoB,0CAAoB,EAACvC,QAAQ,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAMwC,kBAAkB,GAAG,IAAAT,0BAAiB,EAAEU,KAAU,IAAK;IAC5D,IAAI,IAAAC,sCAAmB,EAACD,KAAK,CAACE,IAAI,CAACT,MAAM,CAAC,EAAE;MAC3C;IACD;IAEA,MAAMU,KAAK,GAAG7C,OAAO,CAACoC,UAAU,CAACU,QAAQ,CAAC,CAAC;IAC3C,MAAMC,UAAU,GAAGF,KAAK,CAACG,MAAM,CAACC,SAAS,CACvC/C,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKF,QAC1B,CAAC;IACD,MAAMkC,MAAM,GAAGO,KAAK,CAACE,IAAI,CAACT,MAAM;IAChC,MAAMe,UAAU,GAAG,IAAAC,mDAA2B,EAAC;MAC9CN,KAAK;MACLV;IACD,CAAC,CAAC;IACF,MAAMiB,eAAe,GAAG,IAAAC,4CAAoB,EAAC;MAC5CC,OAAO,EAAE,IAAAC,4CAAqB,EAACvD,OAAO,CAACwD,OAAO,EAAEjD,mBAAmB,CAAC;MACpE2C,UAAU;MACVO,kBAAkB,EAAE,CAAC,CAAChC,yBAAyB,EAAEiC,GAAG,CAAC,CAAC;MACtDX,UAAU;MACVY,YAAY,EAAEd,KAAK,CAACe;IACrB,CAAC,CAAC;IAEF,IAAI,CAACR,eAAe,EAAE;MACrB;IACD;IAEA7B,gBAAgB,CAACvB,OAAO,KAAK0C,KAAK,CAACE,IAAI,CAACT,MAAM;IAC9C,IAAI,CAACd,cAAc,CAAC,CAAC,EAAE;MACtBE,gBAAgB,CAACvB,OAAO,GAAG,IAAI;MAC/B;IACD;IAEA0C,KAAK,CAACmB,cAAc,CAAC,CAAC;EACvB,CAAC,CAAC;;EAEF;EACA,IAAA/B,sBAAe,EAAC,MAAM;IACrB,IAAIzB,SAAS,KAAKiC,gBAAS,CAACC,MAAM,EAAE;MACnC;IACD;IAEA,OAAOvC,OAAO,CAACoC,UAAU,CAAC0B,WAAW,GAAG,cAAc,EAAErB,kBAAkB,CAAC;EAC5E,CAAC,EAAE,CAACzC,OAAO,CAACoC,UAAU,EAAE/B,SAAS,CAAC,CAAC;EAEnC,OAAO;IAAE0B;EAAc,CAAC;AACzB","ignoreList":[]}
@@ -11,9 +11,7 @@ var _animateToProgress = require("../../../utils/animation/animate-to-progress")
11
11
  const useTransitionStartController = ({
12
12
  current,
13
13
  animations,
14
- system,
15
- onBlankStackCloseFinish,
16
- onNativeCloseFinish
14
+ system
17
15
  }) => {
18
16
  const {
19
17
  targetProgress,
@@ -41,7 +39,6 @@ const useTransitionStartController = ({
41
39
  if (blockCount > 0) {
42
40
  return;
43
41
  }
44
- const onAnimationFinish = kind === _system.LifecycleTransitionRequestKind.BlankStackClose ? onBlankStackCloseFinish : kind === _system.LifecycleTransitionRequestKind.NativeClose ? onNativeCloseFinish : undefined;
45
42
  (0, _animateToProgress.animateToProgress)({
46
43
  target,
47
44
  spec: transitionSpec,
@@ -49,7 +46,6 @@ const useTransitionStartController = ({
49
46
  animations,
50
47
  targetProgress,
51
48
  animationProgress,
52
- onAnimationFinish,
53
49
  isDragging
54
50
  });
55
51
  clearLifecycleTransitionRequest();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_gesture","_system","_animateToProgress","useTransitionStartController","current","animations","system","onBlankStackCloseFinish","onNativeCloseFinish","targetProgress","animationProgress","pendingLifecycleRequestKind","pendingLifecycleRequestTarget","pendingLifecycleStartBlockCount","clearLifecycleTransitionRequest","actions","transitionSpec","options","isDragging","GestureStore","getValue","route","key","useAnimatedReaction","get","next","kind","target","blockCount","LifecycleTransitionRequestKind","None","onAnimationFinish","BlankStackClose","NativeClose","undefined","animateToProgress","spec","emitWillAnimate","Open","entering","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAIA,IAAAG,kBAAA,GAAAH,OAAA;AAEO,MAAMI,4BAA4B,GAAGA,CAAC;EAC5CC,OAAO;EACPC,UAAU;EACVC,MAAM;EACNC,uBAAuB;EACvBC;AAOD,CAAC,KAAK;EACL,MAAM;IACLC,cAAc;IACdC,iBAAiB;IACjBC,2BAA2B;IAC3BC,6BAA6B;IAC7BC;EACD,CAAC,GAAGP,MAAM;EACV,MAAM;IAAEQ;EAAgC,CAAC,GAAGR,MAAM,CAACS,OAAO;EAC1D,MAAMC,cAAc,GAAGZ,OAAO,CAACa,OAAO,CAACD,cAAc;EACrD,MAAME,UAAU,GAAGC,qBAAY,CAACC,QAAQ,CAAChB,OAAO,CAACiB,KAAK,CAACC,GAAG,EAAE,UAAU,CAAC;EAEvE,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,CACNZ,2BAA2B,CAACa,GAAG,CAAC,CAAC,EACjCZ,6BAA6B,CAACY,GAAG,CAAC,CAAC,EACnCX,+BAA+B,CAACW,GAAG,CAAC,CAAC,CACrC;EACF,CAAC,EACAC,IAAI,IAAK;IACT,SAAS;;IACT,MAAM,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,CAAC,GAAGH,IAAI;IAEvC,IAAIC,IAAI,KAAKG,sCAA8B,CAACC,IAAI,EAAE;MACjD;IACD;IAEA,IAAIF,UAAU,GAAG,CAAC,EAAE;MACnB;IACD;IAEA,MAAMG,iBAAiB,GACtBL,IAAI,KAAKG,sCAA8B,CAACG,eAAe,GACpDzB,uBAAuB,GACvBmB,IAAI,KAAKG,sCAA8B,CAACI,WAAW,GAClDzB,mBAAmB,GACnB0B,SAAS;IAEd,IAAAC,oCAAiB,EAAC;MACjBR,MAAM;MACNS,IAAI,EAAEpB,cAAc;MACpBqB,eAAe,EACdX,IAAI,KAAKG,sCAA8B,CAACS,IAAI,IAC5C,CAACjC,UAAU,CAACkC,QAAQ,CAACf,GAAG,CAAC,CAAC;MAC3BnB,UAAU;MACVI,cAAc;MACdC,iBAAiB;MACjBqB,iBAAiB;MACjBb;IACD,CAAC,CAAC;IAEFJ,+BAA+B,CAAC,CAAC;EAClC,CACD,CAAC;AACF,CAAC;AAAC0B,OAAA,CAAArC,4BAAA,GAAAA,4BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_gesture","_system","_animateToProgress","useTransitionStartController","current","animations","system","targetProgress","animationProgress","pendingLifecycleRequestKind","pendingLifecycleRequestTarget","pendingLifecycleStartBlockCount","clearLifecycleTransitionRequest","actions","transitionSpec","options","isDragging","GestureStore","getValue","route","key","useAnimatedReaction","get","next","kind","target","blockCount","LifecycleTransitionRequestKind","None","animateToProgress","spec","emitWillAnimate","Open","entering","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAIA,IAAAG,kBAAA,GAAAH,OAAA;AAEO,MAAMI,4BAA4B,GAAGA,CAAC;EAC5CC,OAAO;EACPC,UAAU;EACVC;AAKD,CAAC,KAAK;EACL,MAAM;IACLC,cAAc;IACdC,iBAAiB;IACjBC,2BAA2B;IAC3BC,6BAA6B;IAC7BC;EACD,CAAC,GAAGL,MAAM;EACV,MAAM;IAAEM;EAAgC,CAAC,GAAGN,MAAM,CAACO,OAAO;EAC1D,MAAMC,cAAc,GAAGV,OAAO,CAACW,OAAO,CAACD,cAAc;EACrD,MAAME,UAAU,GAAGC,qBAAY,CAACC,QAAQ,CAACd,OAAO,CAACe,KAAK,CAACC,GAAG,EAAE,UAAU,CAAC;EAEvE,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,CACNZ,2BAA2B,CAACa,GAAG,CAAC,CAAC,EACjCZ,6BAA6B,CAACY,GAAG,CAAC,CAAC,EACnCX,+BAA+B,CAACW,GAAG,CAAC,CAAC,CACrC;EACF,CAAC,EACAC,IAAI,IAAK;IACT,SAAS;;IACT,MAAM,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,CAAC,GAAGH,IAAI;IAEvC,IAAIC,IAAI,KAAKG,sCAA8B,CAACC,IAAI,EAAE;MACjD;IACD;IAEA,IAAIF,UAAU,GAAG,CAAC,EAAE;MACnB;IACD;IAEA,IAAAG,oCAAiB,EAAC;MACjBJ,MAAM;MACNK,IAAI,EAAEhB,cAAc;MACpBiB,eAAe,EACdP,IAAI,KAAKG,sCAA8B,CAACK,IAAI,IAC5C,CAAC3B,UAAU,CAAC4B,QAAQ,CAACX,GAAG,CAAC,CAAC;MAC3BjB,UAAU;MACVE,cAAc;MACdC,iBAAiB;MACjBQ;IACD,CAAC,CAAC;IAEFJ,+BAA+B,CAAC,CAAC;EAClC,CACD,CAAC;AACF,CAAC;AAACsB,OAAA,CAAA/B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -8,6 +8,7 @@ var _descriptors = require("../../providers/screen/descriptors");
8
8
  var _animation = require("../../stores/animation.store");
9
9
  var _system = require("../../stores/system.store");
10
10
  var _useScreenHistory = require("./hooks/history/use-screen-history");
11
+ var _useCloseCompletion = require("./hooks/use-close-completion");
11
12
  var _useCloseTransitionIntent = require("./hooks/use-close-transition-intent");
12
13
  var _useOpenTransitionIntent = require("./hooks/use-open-transition-intent");
13
14
  var _useTransitionStartController = require("./hooks/use-transition-start-controller");
@@ -23,16 +24,18 @@ const ScreenLifecycle = ({
23
24
  const animations = _animation.AnimationStore.getBag(current.route.key);
24
25
  const system = _system.SystemStore.getBag(current.route.key);
25
26
  const {
26
- handleBlankStackCloseEnd,
27
- handleNativeCloseEnd
28
- } = (0, _useCloseTransitionIntent.useCloseTransitionIntent)(current, system);
27
+ completeClose
28
+ } = (0, _useCloseTransitionIntent.useCloseTransitionIntent)(current);
29
29
  (0, _useOpenTransitionIntent.useOpenTransitionIntent)(current, animations, system);
30
30
  (0, _useTransitionStartController.useTransitionStartController)({
31
31
  current,
32
32
  animations,
33
- system,
34
- onBlankStackCloseFinish: handleBlankStackCloseEnd,
35
- onNativeCloseFinish: handleNativeCloseEnd
33
+ system
34
+ });
35
+ (0, _useCloseCompletion.useCloseCompletion)({
36
+ closing: animations.closing,
37
+ animationProgress: system.animationProgress,
38
+ onComplete: completeClose
36
39
  });
37
40
  (0, _useScreenHistory.useScreenHistory)(current, previous, animations);
38
41
  return children;