react-native-screen-transitions 3.10.0 → 3.11.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 (579) hide show
  1. package/lib/commonjs/blank-stack/components/stack-view.js +64 -32
  2. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  3. package/lib/commonjs/component-stack/components/stack-view.js +57 -23
  4. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/native-stack/views/NativeStackView.native.js +23 -13
  6. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  7. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js +4 -0
  8. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js.map +1 -1
  9. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +14 -8
  10. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  11. package/lib/commonjs/shared/animation/snap-to.js +1 -0
  12. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  13. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +26 -10
  14. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +1 -1
  16. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +18 -7
  18. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
  20. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  21. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +6 -13
  22. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +67 -0
  24. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
  25. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
  26. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  27. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
  28. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +30 -0
  30. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
  31. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +74 -0
  32. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  33. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
  34. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +10 -19
  36. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  37. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +8 -1
  38. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
  39. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +4 -5
  40. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  41. package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js +19 -31
  42. package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js.map +1 -1
  43. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +14 -20
  44. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  45. package/lib/commonjs/shared/components/create-transition-aware-component.js +9 -29
  46. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  47. package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +5 -9
  48. package/lib/commonjs/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
  49. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js +3 -8
  50. package/lib/commonjs/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  51. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +7 -10
  52. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  53. package/lib/commonjs/shared/components/screen-container/layers/content.js +10 -16
  54. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  55. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +1 -5
  56. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  57. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +10 -12
  58. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  59. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +2 -3
  60. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  61. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
  62. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  63. package/lib/commonjs/shared/components/screen-lifecycle/index.js +2 -4
  64. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  65. package/lib/commonjs/shared/configs/presets.js +10 -10
  66. package/lib/commonjs/shared/configs/presets.js.map +1 -1
  67. package/lib/commonjs/shared/constants.js +1 -0
  68. package/lib/commonjs/shared/constants.js.map +1 -1
  69. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +9 -8
  70. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  71. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +1 -3
  72. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  73. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js +7 -7
  74. package/lib/commonjs/shared/providers/screen/animation/animation.provider.js.map +1 -1
  75. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +1 -3
  76. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
  77. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +1 -1
  78. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  79. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
  80. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  81. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +5 -7
  82. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  83. package/lib/commonjs/shared/providers/screen/animation/index.js +2 -2
  84. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js +1 -1
  85. package/lib/commonjs/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  86. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +34 -42
  87. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  88. package/lib/commonjs/shared/providers/screen/descriptors/index.js +0 -12
  89. package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -1
  90. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js +7 -7
  91. package/lib/commonjs/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  92. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +3 -9
  93. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  94. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js +1 -1
  95. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  96. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +1 -3
  97. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
  98. package/lib/commonjs/shared/providers/screen/gestures/index.js +2 -2
  99. package/lib/commonjs/shared/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
  100. package/lib/commonjs/shared/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
  101. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +8 -11
  102. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  103. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +2 -4
  104. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  105. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +5 -8
  106. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  107. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
  108. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
  109. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  110. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  111. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +8 -6
  112. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  113. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
  114. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
  115. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +1 -1
  116. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
  117. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +5 -5
  118. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  119. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +2 -2
  120. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  121. package/lib/commonjs/shared/providers/screen/options/index.js +2 -2
  122. package/lib/commonjs/shared/providers/screen/options/options.provider.js +4 -8
  123. package/lib/commonjs/shared/providers/screen/options/options.provider.js.map +1 -1
  124. package/lib/commonjs/shared/providers/screen/screen-composer.js +2 -0
  125. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  126. package/lib/commonjs/shared/providers/screen/styles/constants.js +10 -4
  127. package/lib/commonjs/shared/providers/screen/styles/constants.js.map +1 -1
  128. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +93 -0
  129. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
  130. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +48 -5
  131. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  132. package/lib/commonjs/shared/providers/screen/styles/helpers/select-interpolator-frame.js +32 -0
  133. package/lib/commonjs/shared/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
  134. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +14 -1
  135. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  136. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +64 -40
  137. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  138. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -3
  139. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  140. package/lib/commonjs/shared/providers/screen/styles/index.js +0 -6
  141. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  142. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +23 -19
  143. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  144. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
  145. package/lib/commonjs/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  146. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js +53 -49
  147. package/lib/commonjs/shared/providers/stack/blank-stack.provider.js.map +1 -1
  148. package/lib/commonjs/shared/providers/stack/core.provider.js +20 -39
  149. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  150. package/lib/commonjs/shared/providers/stack/direct.provider.js +46 -40
  151. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  152. package/lib/commonjs/shared/stores/animation.store.js +19 -1
  153. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  154. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  155. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +12 -11
  156. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  157. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
  158. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  159. package/lib/commonjs/shared/utils/create-provider.js +61 -75
  160. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  161. package/lib/module/blank-stack/components/stack-view.js +66 -34
  162. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  163. package/lib/module/component-stack/components/stack-view.js +60 -26
  164. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  165. package/lib/module/native-stack/views/NativeStackView.native.js +24 -14
  166. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  167. package/lib/module/shared/adapters/with-screen-transitions/context.js +3 -0
  168. package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -1
  169. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +14 -8
  170. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -1
  171. package/lib/module/shared/animation/snap-to.js +1 -0
  172. package/lib/module/shared/animation/snap-to.js.map +1 -1
  173. package/lib/module/shared/components/activity/variants/activity-screen.js +26 -10
  174. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -1
  175. package/lib/module/shared/components/boundary/components/boundary-target.js +2 -2
  176. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  177. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +19 -7
  178. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  179. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -12
  180. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  181. package/lib/module/shared/components/boundary/hooks/use-measurer.js +7 -14
  182. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  183. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +60 -0
  184. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -0
  185. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -37
  186. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  187. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +2 -2
  188. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  189. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +25 -0
  190. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +1 -0
  191. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +69 -0
  192. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  193. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +17 -32
  194. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  195. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +13 -22
  196. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  197. package/lib/module/shared/components/boundary/portal/utils/naming.js +6 -0
  198. package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
  199. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +3 -3
  200. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  201. package/lib/module/shared/components/boundary/utils/measured-bounds.js +17 -28
  202. package/lib/module/shared/components/boundary/utils/measured-bounds.js.map +1 -1
  203. package/lib/module/shared/components/boundary/utils/refresh-signals.js +14 -20
  204. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  205. package/lib/module/shared/components/create-transition-aware-component.js +10 -30
  206. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  207. package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js +8 -12
  208. package/lib/module/shared/components/screen-container/hooks/use-backdrop-pointer-events.js.map +1 -1
  209. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js +4 -9
  210. package/lib/module/shared/components/screen-container/hooks/use-content-layout.js.map +1 -1
  211. package/lib/module/shared/components/screen-container/layers/backdrop.js +8 -11
  212. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  213. package/lib/module/shared/components/screen-container/layers/content.js +12 -18
  214. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  215. package/lib/module/shared/components/screen-container/layers/surface-container.js +2 -6
  216. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  217. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +13 -15
  218. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  219. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js +3 -4
  220. package/lib/module/shared/components/screen-lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  221. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +5 -1
  222. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  223. package/lib/module/shared/components/screen-lifecycle/index.js +3 -5
  224. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  225. package/lib/module/shared/configs/presets.js +10 -10
  226. package/lib/module/shared/configs/presets.js.map +1 -1
  227. package/lib/module/shared/constants.js +1 -0
  228. package/lib/module/shared/constants.js.map +1 -1
  229. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +9 -8
  230. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  231. package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -4
  232. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  233. package/lib/module/shared/providers/screen/animation/animation.provider.js +6 -5
  234. package/lib/module/shared/providers/screen/animation/animation.provider.js.map +1 -1
  235. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +2 -4
  236. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +1 -1
  237. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js +2 -2
  238. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.js.map +1 -1
  239. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -10
  240. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  241. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +6 -8
  242. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  243. package/lib/module/shared/providers/screen/animation/index.js +1 -1
  244. package/lib/module/shared/providers/screen/animation/index.js.map +1 -1
  245. package/lib/module/shared/providers/screen/animation/use-screen-animation.js +2 -2
  246. package/lib/module/shared/providers/screen/animation/use-screen-animation.js.map +1 -1
  247. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +34 -40
  248. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  249. package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
  250. package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
  251. package/lib/module/shared/providers/screen/gestures/gestures.provider.js +6 -6
  252. package/lib/module/shared/providers/screen/gestures/gestures.provider.js.map +1 -1
  253. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +5 -11
  254. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  255. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js +2 -2
  256. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture.js.map +1 -1
  257. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js +2 -4
  258. package/lib/module/shared/providers/screen/gestures/hooks/use-stable-runtime-config.js.map +1 -1
  259. package/lib/module/shared/providers/screen/gestures/index.js +1 -1
  260. package/lib/module/shared/providers/screen/gestures/index.js.map +1 -1
  261. package/lib/module/shared/providers/screen/gestures/ownership/shadowing-claims.js +2 -2
  262. package/lib/module/shared/providers/screen/gestures/ownership/shadowing-claims.js.map +1 -1
  263. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +10 -13
  264. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  265. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +3 -5
  266. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  267. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +6 -9
  268. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  269. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js +10 -0
  270. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-reset.js.map +1 -1
  271. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +2 -2
  272. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  273. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +9 -7
  274. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  275. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js +7 -0
  276. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-reset.js.map +1 -1
  277. package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js +2 -2
  278. package/lib/module/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.js.map +1 -1
  279. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js +3 -3
  280. package/lib/module/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.js.map +1 -1
  281. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +4 -4
  282. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  283. package/lib/module/shared/providers/screen/options/index.js +1 -1
  284. package/lib/module/shared/providers/screen/options/index.js.map +1 -1
  285. package/lib/module/shared/providers/screen/options/options.provider.js +3 -7
  286. package/lib/module/shared/providers/screen/options/options.provider.js.map +1 -1
  287. package/lib/module/shared/providers/screen/screen-composer.js +2 -0
  288. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  289. package/lib/module/shared/providers/screen/styles/constants.js +8 -3
  290. package/lib/module/shared/providers/screen/styles/constants.js.map +1 -1
  291. package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js +88 -0
  292. package/lib/module/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.js.map +1 -0
  293. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +49 -6
  294. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  295. package/lib/module/shared/providers/screen/styles/helpers/select-interpolator-frame.js +27 -0
  296. package/lib/module/shared/providers/screen/styles/helpers/select-interpolator-frame.js.map +1 -0
  297. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +12 -0
  298. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  299. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +67 -43
  300. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  301. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +2 -4
  302. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  303. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  304. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  305. package/lib/module/shared/providers/screen/styles/slot.provider.js +23 -18
  306. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  307. package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +3 -11
  308. package/lib/module/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  309. package/lib/module/shared/providers/stack/blank-stack.provider.js +50 -47
  310. package/lib/module/shared/providers/stack/blank-stack.provider.js.map +1 -1
  311. package/lib/module/shared/providers/stack/core.provider.js +19 -39
  312. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  313. package/lib/module/shared/providers/stack/direct.provider.js +44 -41
  314. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  315. package/lib/module/shared/stores/animation.store.js +17 -0
  316. package/lib/module/shared/stores/animation.store.js.map +1 -1
  317. package/lib/module/shared/types/stack.types.js.map +1 -1
  318. package/lib/module/shared/utils/animation/animate-to-progress.js +12 -11
  319. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  320. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +6 -0
  321. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  322. package/lib/module/shared/utils/create-provider.js +62 -76
  323. package/lib/module/shared/utils/create-provider.js.map +1 -1
  324. package/lib/typescript/blank-stack/components/stack-view.d.ts +5 -1
  325. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  326. package/lib/typescript/blank-stack/types.d.ts +1 -4
  327. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  328. package/lib/typescript/component-stack/components/stack-view.d.ts +5 -1
  329. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  330. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +2 -2
  331. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  332. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +2 -0
  333. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
  334. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
  335. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  336. package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
  337. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +3 -2
  338. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  339. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  340. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  341. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +1 -1
  342. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  343. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +26 -0
  344. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -0
  345. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  346. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  347. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +9 -0
  348. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +1 -0
  349. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +17 -0
  350. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
  351. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  352. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -1
  353. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  354. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +1 -0
  355. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
  356. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +1 -1
  357. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  358. package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts +1 -3
  359. package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts.map +1 -1
  360. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +0 -4
  361. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  362. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +0 -2
  363. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  364. package/lib/typescript/shared/components/screen-container/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
  365. package/lib/typescript/shared/components/screen-container/hooks/use-content-layout.d.ts.map +1 -1
  366. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  367. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  368. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  369. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
  370. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  371. package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -1
  372. package/lib/typescript/shared/configs/index.d.ts +6 -6
  373. package/lib/typescript/shared/configs/presets.d.ts +6 -6
  374. package/lib/typescript/shared/configs/presets.d.ts.map +1 -1
  375. package/lib/typescript/shared/constants.d.ts.map +1 -1
  376. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  377. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  378. package/lib/typescript/shared/index.d.ts +14 -22
  379. package/lib/typescript/shared/index.d.ts.map +1 -1
  380. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts +4 -1
  381. package/lib/typescript/shared/providers/screen/animation/animation.provider.d.ts.map +1 -1
  382. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +1 -1
  383. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  384. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  385. package/lib/typescript/shared/providers/screen/animation/index.d.ts +1 -1
  386. package/lib/typescript/shared/providers/screen/animation/index.d.ts.map +1 -1
  387. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +10 -11
  388. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  389. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
  390. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
  391. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts +4 -1
  392. package/lib/typescript/shared/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  393. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  394. package/lib/typescript/shared/providers/screen/gestures/hooks/use-stable-runtime-config.d.ts.map +1 -1
  395. package/lib/typescript/shared/providers/screen/gestures/index.d.ts +1 -1
  396. package/lib/typescript/shared/providers/screen/gestures/index.d.ts.map +1 -1
  397. package/lib/typescript/shared/providers/screen/gestures/ownership/shadowing-claims.d.ts +2 -3
  398. package/lib/typescript/shared/providers/screen/gestures/ownership/shadowing-claims.d.ts.map +1 -1
  399. package/lib/typescript/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.d.ts.map +1 -1
  400. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  401. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  402. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts +4 -1
  403. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-reset.d.ts.map +1 -1
  404. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  405. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts +3 -1
  406. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-reset.d.ts.map +1 -1
  407. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts +1 -1
  408. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.d.ts.map +1 -1
  409. package/lib/typescript/shared/providers/screen/options/index.d.ts +1 -1
  410. package/lib/typescript/shared/providers/screen/options/index.d.ts.map +1 -1
  411. package/lib/typescript/shared/providers/screen/options/options.provider.d.ts +4 -1
  412. package/lib/typescript/shared/providers/screen/options/options.provider.d.ts.map +1 -1
  413. package/lib/typescript/shared/providers/screen/screen-composer.d.ts +3 -2
  414. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  415. package/lib/typescript/shared/providers/screen/styles/constants.d.ts +1 -0
  416. package/lib/typescript/shared/providers/screen/styles/constants.d.ts.map +1 -1
  417. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts +12 -0
  418. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.d.ts.map +1 -0
  419. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +5 -3
  420. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  421. package/lib/typescript/shared/providers/screen/styles/helpers/select-interpolator-frame.d.ts +4 -0
  422. package/lib/typescript/shared/providers/screen/styles/helpers/select-interpolator-frame.d.ts.map +1 -0
  423. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +10 -0
  424. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  425. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +10 -5
  426. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  427. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +1 -1
  428. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  429. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  430. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  431. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +4 -1
  432. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  433. package/lib/typescript/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
  434. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts +12 -6
  435. package/lib/typescript/shared/providers/stack/blank-stack.provider.d.ts.map +1 -1
  436. package/lib/typescript/shared/providers/stack/core.provider.d.ts +10 -8
  437. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  438. package/lib/typescript/shared/providers/stack/direct.provider.d.ts +11 -4
  439. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  440. package/lib/typescript/shared/stores/animation.store.d.ts +1 -0
  441. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  442. package/lib/typescript/shared/types/gesture.types.d.ts +11 -0
  443. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  444. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts +12 -20
  445. package/lib/typescript/shared/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  446. package/lib/typescript/shared/types/providers/direct-stack.types.d.ts +2 -0
  447. package/lib/typescript/shared/types/providers/direct-stack.types.d.ts.map +1 -1
  448. package/lib/typescript/shared/types/screen.types.d.ts +0 -30
  449. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  450. package/lib/typescript/shared/types/stack.types.d.ts +2 -4
  451. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  452. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +3 -2
  453. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  454. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
  455. package/lib/typescript/shared/utils/create-provider.d.ts +17 -9
  456. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  457. package/package.json +1 -1
  458. package/src/blank-stack/components/stack-view.tsx +109 -53
  459. package/src/blank-stack/types.ts +1 -4
  460. package/src/component-stack/components/stack-view.tsx +96 -32
  461. package/src/native-stack/views/NativeStackView.native.tsx +135 -124
  462. package/src/shared/adapters/with-screen-transitions/context.tsx +5 -0
  463. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +20 -7
  464. package/src/shared/animation/snap-to.ts +1 -0
  465. package/src/shared/components/activity/variants/activity-screen.tsx +46 -13
  466. package/src/shared/components/boundary/components/boundary-target.tsx +2 -2
  467. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +28 -14
  468. package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +7 -24
  469. package/src/shared/components/boundary/hooks/use-measurer.ts +7 -16
  470. package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +103 -0
  471. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +86 -61
  472. package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +12 -14
  473. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +36 -0
  474. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +117 -0
  475. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +9 -46
  476. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +12 -20
  477. package/src/shared/components/boundary/portal/utils/naming.ts +11 -0
  478. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +8 -11
  479. package/src/shared/components/boundary/utils/measured-bounds.ts +29 -32
  480. package/src/shared/components/boundary/utils/refresh-signals.ts +23 -26
  481. package/src/shared/components/create-transition-aware-component.tsx +11 -36
  482. package/src/shared/components/screen-container/hooks/use-backdrop-pointer-events.ts +10 -8
  483. package/src/shared/components/screen-container/hooks/use-content-layout.ts +10 -10
  484. package/src/shared/components/screen-container/layers/backdrop.tsx +20 -9
  485. package/src/shared/components/screen-container/layers/content.tsx +20 -21
  486. package/src/shared/components/screen-container/layers/surface-container.tsx +4 -4
  487. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +19 -9
  488. package/src/shared/components/screen-lifecycle/hooks/use-open-transition-intent.ts +5 -2
  489. package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +6 -0
  490. package/src/shared/components/screen-lifecycle/index.tsx +3 -2
  491. package/src/shared/configs/presets.ts +13 -13
  492. package/src/shared/constants.ts +1 -0
  493. package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -8
  494. package/src/shared/hooks/navigation/use-screen-state.ts +4 -2
  495. package/src/shared/providers/screen/animation/animation.provider.tsx +170 -173
  496. package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +4 -2
  497. package/src/shared/providers/screen/animation/helpers/accessors/use-build-transition-accessor.ts +2 -2
  498. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +4 -21
  499. package/src/shared/providers/screen/animation/helpers/pipeline.ts +6 -10
  500. package/src/shared/providers/screen/animation/index.tsx +1 -1
  501. package/src/shared/providers/screen/animation/use-screen-animation.tsx +2 -2
  502. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +83 -72
  503. package/src/shared/providers/screen/descriptors/index.tsx +0 -2
  504. package/src/shared/providers/screen/gestures/gestures.provider.tsx +72 -63
  505. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +7 -8
  506. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture.ts +2 -2
  507. package/src/shared/providers/screen/gestures/hooks/use-stable-runtime-config.ts +4 -2
  508. package/src/shared/providers/screen/gestures/index.tsx +1 -1
  509. package/src/shared/providers/screen/gestures/ownership/shadowing-claims.ts +3 -4
  510. package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +16 -8
  511. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +7 -2
  512. package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +8 -16
  513. package/src/shared/providers/screen/gestures/pan/behavior/pan-reset.ts +14 -0
  514. package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +2 -2
  515. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +12 -11
  516. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-reset.ts +10 -0
  517. package/src/shared/providers/screen/gestures/pinch/use-build-pinch-gesture.ts +2 -2
  518. package/src/shared/providers/screen/gestures/scroll-coordination/scroll-metadata-owner.tsx +4 -4
  519. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +4 -4
  520. package/src/shared/providers/screen/options/index.ts +1 -1
  521. package/src/shared/providers/screen/options/options.provider.tsx +24 -28
  522. package/src/shared/providers/screen/screen-composer.tsx +9 -2
  523. package/src/shared/providers/screen/styles/constants.ts +8 -6
  524. package/src/shared/providers/screen/styles/helpers/resolve-interpolator-style-handoff.ts +138 -0
  525. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +71 -4
  526. package/src/shared/providers/screen/styles/helpers/select-interpolator-frame.ts +41 -0
  527. package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +25 -0
  528. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +99 -55
  529. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +4 -2
  530. package/src/shared/providers/screen/styles/index.tsx +0 -1
  531. package/src/shared/providers/screen/styles/slot.provider.tsx +62 -48
  532. package/src/shared/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +4 -17
  533. package/src/shared/providers/stack/blank-stack.provider.tsx +66 -75
  534. package/src/shared/providers/stack/core.provider.tsx +46 -76
  535. package/src/shared/providers/stack/direct.provider.tsx +77 -57
  536. package/src/shared/stores/animation.store.ts +19 -0
  537. package/src/shared/types/gesture.types.ts +11 -0
  538. package/src/shared/types/providers/blank-stack-provider.types.ts +8 -22
  539. package/src/shared/types/providers/direct-stack.types.ts +2 -0
  540. package/src/shared/types/screen.types.ts +0 -32
  541. package/src/shared/types/stack.types.ts +2 -4
  542. package/src/shared/utils/animation/animate-to-progress.ts +18 -18
  543. package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +7 -0
  544. package/src/shared/utils/create-provider.tsx +105 -136
  545. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -14
  546. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
  547. package/lib/commonjs/shared/components/boundary/portal/utils/handoff-target.js +0 -33
  548. package/lib/commonjs/shared/components/boundary/portal/utils/handoff-target.js.map +0 -1
  549. package/lib/commonjs/shared/hooks/use-stable-callback-value.js +0 -68
  550. package/lib/commonjs/shared/hooks/use-stable-callback-value.js.map +0 -1
  551. package/lib/commonjs/shared/providers/register-bounds.provider.js +0 -311
  552. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +0 -1
  553. package/lib/commonjs/shared/providers/screen/origin.provider.js +0 -41
  554. package/lib/commonjs/shared/providers/screen/origin.provider.js.map +0 -1
  555. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +0 -9
  556. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +0 -1
  557. package/lib/module/shared/components/boundary/portal/utils/handoff-target.js +0 -28
  558. package/lib/module/shared/components/boundary/portal/utils/handoff-target.js.map +0 -1
  559. package/lib/module/shared/hooks/use-stable-callback-value.js +0 -63
  560. package/lib/module/shared/hooks/use-stable-callback-value.js.map +0 -1
  561. package/lib/module/shared/providers/register-bounds.provider.js +0 -307
  562. package/lib/module/shared/providers/register-bounds.provider.js.map +0 -1
  563. package/lib/module/shared/providers/screen/origin.provider.js +0 -33
  564. package/lib/module/shared/providers/screen/origin.provider.js.map +0 -1
  565. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts +0 -2
  566. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts.map +0 -1
  567. package/lib/typescript/shared/components/boundary/portal/utils/handoff-target.d.ts +0 -12
  568. package/lib/typescript/shared/components/boundary/portal/utils/handoff-target.d.ts.map +0 -1
  569. package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts +0 -13
  570. package/lib/typescript/shared/hooks/use-stable-callback-value.d.ts.map +0 -1
  571. package/lib/typescript/shared/providers/register-bounds.provider.d.ts +0 -25
  572. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +0 -1
  573. package/lib/typescript/shared/providers/screen/origin.provider.d.ts +0 -11
  574. package/lib/typescript/shared/providers/screen/origin.provider.d.ts.map +0 -1
  575. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.ts +0 -10
  576. package/src/shared/components/boundary/portal/utils/handoff-target.ts +0 -48
  577. package/src/shared/hooks/use-stable-callback-value.ts +0 -76
  578. package/src/shared/providers/register-bounds.provider.tsx +0 -402
  579. package/src/shared/providers/screen/origin.provider.tsx +0 -38
@@ -1,32 +1,48 @@
1
1
  "use strict";
2
2
 
3
- import * as React from "react";
4
3
  import { useMemo } from "react";
5
4
  import { StackProvider } from "../../hooks/navigation/use-stack";
5
+ import createProvider from "../../utils/create-provider";
6
6
  import { useBlankStackState } from "./blank-stack-state";
7
- import { useStackCoreContext } from "./core.provider";
7
+ import { useStackCoreStore } from "./core.provider";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
- const BlankStackProviderContext = /*#__PURE__*/React.createContext(null);
10
- BlankStackProviderContext.displayName = "BlankStackProvider";
11
- function useBlankStackContext() {
12
- const context = React.useContext(BlankStackProviderContext);
13
- if (!context) {
14
- throw new Error("useBlankStackContext must be used within BlankStackProvider");
9
+ const createScenesByKey = scenes => {
10
+ const scenesByKey = {};
11
+ for (const scene of scenes) {
12
+ scenesByKey[scene.route.key] = scene;
15
13
  }
16
- return context;
17
- }
18
- function useBlankStackProviderValue(props) {
19
- const {
20
- flags
21
- } = useStackCoreContext();
14
+ return scenesByKey;
15
+ };
16
+ const {
17
+ BlankStackProvider: BlankStackStoreProvider,
18
+ useBlankStackStore
19
+ } = createProvider("BlankStack", {
20
+ guarded: false
21
+ })(({
22
+ children,
23
+ value
24
+ }) => ({
25
+ children,
26
+ value
27
+ }));
28
+ function BlankStackProvider({
29
+ state: stackState,
30
+ children,
31
+ ...props
32
+ }) {
33
+ const flags = useStackCoreStore(store => store.flags);
22
34
  const {
23
35
  state,
24
36
  handleCloseRoute,
25
37
  requestDismiss
26
- } = useBlankStackState(props);
27
- const navigatorKey = props.state.key;
28
- const focusedIndex = props.state.index;
29
- const stackContextValue = useMemo(() => ({
38
+ } = useBlankStackState({
39
+ ...props,
40
+ state: stackState
41
+ });
42
+ const navigatorKey = stackState.key;
43
+ const focusedIndex = stackState.index;
44
+ const scenesByKey = useMemo(() => createScenesByKey(state.scenes), [state.scenes]);
45
+ const stackValue = useMemo(() => ({
30
46
  flags,
31
47
  navigatorKey,
32
48
  routeKeys: state.routeKeys,
@@ -35,37 +51,24 @@ function useBlankStackProviderValue(props) {
35
51
  focusedIndex,
36
52
  requestDismiss
37
53
  }), [flags, navigatorKey, state.routeKeys, state.routes, state.scenes, focusedIndex, requestDismiss]);
38
- const blankStackProviderContextValue = useMemo(() => ({
39
- handleCloseRoute
40
- }), [handleCloseRoute]);
41
- const renderProps = useMemo(() => ({
54
+ const blankStackValue = {
55
+ navigatorKey,
56
+ routeKeys: state.routeKeys,
57
+ routes: state.routes,
42
58
  scenes: state.scenes,
59
+ scenesByKey,
43
60
  focusedIndex,
44
- shouldShowFloatOverlay: state.shouldShowFloatOverlay
45
- }), [state.scenes, focusedIndex, state.shouldShowFloatOverlay]);
46
- return {
47
- stackContextValue,
48
- blankStackProviderContextValue,
49
- renderProps
50
- };
51
- }
52
- function withBlankStack(Component) {
53
- return function BlankStackProvider(props) {
54
- const {
55
- stackContextValue,
56
- blankStackProviderContextValue,
57
- renderProps
58
- } = useBlankStackProviderValue(props);
59
- return /*#__PURE__*/_jsx(StackProvider, {
60
- value: stackContextValue,
61
- children: /*#__PURE__*/_jsx(BlankStackProviderContext.Provider, {
62
- value: blankStackProviderContextValue,
63
- children: /*#__PURE__*/_jsx(Component, {
64
- ...renderProps
65
- })
66
- })
67
- });
61
+ requestDismiss,
62
+ shouldShowFloatOverlay: state.shouldShowFloatOverlay,
63
+ handleCloseRoute
68
64
  };
65
+ return /*#__PURE__*/_jsx(StackProvider, {
66
+ value: stackValue,
67
+ children: /*#__PURE__*/_jsx(BlankStackStoreProvider, {
68
+ value: blankStackValue,
69
+ children: children
70
+ })
71
+ });
69
72
  }
70
- export { useBlankStackContext, withBlankStack };
73
+ export { BlankStackProvider, useBlankStackStore };
71
74
  //# sourceMappingURL=blank-stack.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","StackProvider","useBlankStackState","useStackCoreContext","jsx","_jsx","BlankStackProviderContext","createContext","displayName","useBlankStackContext","context","useContext","Error","useBlankStackProviderValue","props","flags","state","handleCloseRoute","requestDismiss","navigatorKey","key","focusedIndex","index","stackContextValue","routeKeys","routes","scenes","blankStackProviderContextValue","renderProps","shouldShowFloatOverlay","withBlankStack","Component","BlankStackProvider","value","children","Provider"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/blank-stack.provider.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAECC,aAAa,QACP,kCAAkC;AAYzC,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,SAASC,mBAAmB,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtD,MAAMC,yBAAyB,gBAC9BP,KAAK,CAACQ,aAAa,CAAwC,IAAI,CAAC;AACjED,yBAAyB,CAACE,WAAW,GAAG,oBAAoB;AAE5D,SAASC,oBAAoBA,CAAA,EAAmC;EAC/D,MAAMC,OAAO,GAAGX,KAAK,CAACY,UAAU,CAACL,yBAAyB,CAAC;EAC3D,IAAI,CAACI,OAAO,EAAE;IACb,MAAM,IAAIE,KAAK,CACd,6DACD,CAAC;EACF;EACA,OAAOF,OAAO;AACf;AAEA,SAASG,0BAA0BA,CAIlCC,KAAwD,EAChB;EACxC,MAAM;IAAEC;EAAM,CAAC,GAAGZ,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEa,KAAK;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGhB,kBAAkB,CAACY,KAAK,CAAC;EAC7E,MAAMK,YAAY,GAAGL,KAAK,CAACE,KAAK,CAACI,GAAG;EAEpC,MAAMC,YAAY,GAAGP,KAAK,CAACE,KAAK,CAACM,KAAK;EAEtC,MAAMC,iBAAiB,GAAGvB,OAAO,CAChC,OAAO;IACNe,KAAK;IACLI,YAAY;IACZK,SAAS,EAAER,KAAK,CAACQ,SAAS;IAC1BC,MAAM,EAAET,KAAK,CAACS,MAAyB;IACvCC,MAAM,EAAEV,KAAK,CAACU,MAA0B;IACxCL,YAAY;IACZH;EACD,CAAC,CAAC,EACF,CACCH,KAAK,EACLI,YAAY,EACZH,KAAK,CAACQ,SAAS,EACfR,KAAK,CAACS,MAAM,EACZT,KAAK,CAACU,MAAM,EACZL,YAAY,EACZH,cAAc,CAEhB,CAAC;EAED,MAAMS,8BAA8B,GACnC3B,OAAO,CACN,OAAO;IACNiB;EACD,CAAC,CAAC,EACF,CAACA,gBAAgB,CAClB,CAAC;EAEF,MAAMW,WAAW,GAAG5B,OAAO,CAC1B,OAAO;IACN0B,MAAM,EAAEV,KAAK,CAACU,MAAM;IACpBL,YAAY;IACZQ,sBAAsB,EAAEb,KAAK,CAACa;EAC/B,CAAC,CAAC,EACF,CAACb,KAAK,CAACU,MAAM,EAAEL,YAAY,EAAEL,KAAK,CAACa,sBAAsB,CAC1D,CAAC;EAED,OAAO;IAAEN,iBAAiB;IAAEI,8BAA8B;IAAEC;EAAY,CAAC;AAC1E;AAEA,SAASE,cAAcA,CAItBC,SAA0E,EACZ;EAC9D,OAAO,SAASC,kBAAkBA,CACjClB,KAAwD,EACvD;IACD,MAAM;MAAES,iBAAiB;MAAEI,8BAA8B;MAAEC;IAAY,CAAC,GACvEf,0BAA0B,CAA2BC,KAAK,CAAC;IAE5D,oBACCT,IAAA,CAACJ,aAAa;MAACgC,KAAK,EAAEV,iBAAkB;MAAAW,QAAA,eACvC7B,IAAA,CAACC,yBAAyB,CAAC6B,QAAQ;QAClCF,KAAK,EAAEN,8BAA+B;QAAAO,QAAA,eAEtC7B,IAAA,CAAC0B,SAAS;UAAA,GAAKH;QAAW,CAAG;MAAC,CACK;IAAC,CACvB,CAAC;EAElB,CAAC;AACF;AAOA,SAASnB,oBAAoB,EAAEqB,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","StackProvider","createProvider","useBlankStackState","useStackCoreStore","jsx","_jsx","createScenesByKey","scenes","scenesByKey","scene","route","key","BlankStackProvider","BlankStackStoreProvider","useBlankStackStore","guarded","children","value","state","stackState","props","flags","store","handleCloseRoute","requestDismiss","navigatorKey","focusedIndex","index","stackValue","routeKeys","routes","blankStackValue","shouldShowFloatOverlay"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/blank-stack.provider.tsx"],"mappings":";;AACA,SAAyBA,OAAO,QAAQ,OAAO;AAC/C,SAECC,aAAa,QACP,kCAAkC;AAUzC,OAAOC,cAAc,MAAM,6BAA6B;AACxD,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,SAASC,iBAAiB,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASpD,MAAMC,iBAAiB,GACtBC,MAAqC,IACjC;EACJ,MAAMC,WAAwD,GAAG,CAAC,CAAC;EAEnE,KAAK,MAAMC,KAAK,IAAIF,MAAM,EAAE;IAC3BC,WAAW,CAACC,KAAK,CAACC,KAAK,CAACC,GAAG,CAAC,GAAGF,KAAK;EACrC;EAEA,OAAOD,WAAW;AACnB,CAAC;AAOD,MAAM;EAAEI,kBAAkB,EAAEC,uBAAuB;EAAEC;AAAmB,CAAC,GACxEb,cAAc,CAAC,YAAY,EAAE;EAAEc,OAAO,EAAE;AAAM,CAAC,CAAC,CAG9C,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,MAAM;EAAED,QAAQ;EAAEC;AAAM,CAAC,CAAC,CAAC;AAElD,SAASL,kBAAkBA,CAAC;EAC3BM,KAAK,EAAEC,UAAU;EACjBH,QAAQ;EACR,GAAGI;AAC6B,CAAC,EAAE;EACnC,MAAMC,KAAK,GAAGlB,iBAAiB,CAAEmB,KAAK,IAAKA,KAAK,CAACD,KAAK,CAAC;EACvD,MAAM;IAAEH,KAAK;IAAEK,gBAAgB;IAAEC;EAAe,CAAC,GAAGtB,kBAAkB,CAAC;IACtE,GAAGkB,KAAK;IACRF,KAAK,EAAEC;EACR,CAAC,CAAC;EACF,MAAMM,YAAY,GAAGN,UAAU,CAACR,GAAG;EACnC,MAAMe,YAAY,GAAGP,UAAU,CAACQ,KAAK;EACrC,MAAMnB,WAAW,GAAGT,OAAO,CAC1B,MAAMO,iBAAiB,CAACY,KAAK,CAACX,MAAM,CAAC,EACrC,CAACW,KAAK,CAACX,MAAM,CACd,CAAC;EAED,MAAMqB,UAAU,GAAG7B,OAAO,CACzB,OAAO;IACNsB,KAAK;IACLI,YAAY;IACZI,SAAS,EAAEX,KAAK,CAACW,SAAS;IAC1BC,MAAM,EAAEZ,KAAK,CAACY,MAAyB;IACvCvB,MAAM,EAAEW,KAAK,CAACX,MAA0B;IACxCmB,YAAY;IACZF;EACD,CAAC,CAAC,EACF,CACCH,KAAK,EACLI,YAAY,EACZP,KAAK,CAACW,SAAS,EACfX,KAAK,CAACY,MAAM,EACZZ,KAAK,CAACX,MAAM,EACZmB,YAAY,EACZF,cAAc,CAEhB,CAAC;EACD,MAAMO,eAAe,GAAG;IACvBN,YAAY;IACZI,SAAS,EAAEX,KAAK,CAACW,SAAS;IAC1BC,MAAM,EAAEZ,KAAK,CAACY,MAAM;IACpBvB,MAAM,EAAEW,KAAK,CAACX,MAAM;IACpBC,WAAW;IACXkB,YAAY;IACZF,cAAc;IACdQ,sBAAsB,EAAEd,KAAK,CAACc,sBAAsB;IACpDT;EACD,CAAC;EAED,oBACClB,IAAA,CAACL,aAAa;IAACiB,KAAK,EAAEW,UAAW;IAAAZ,QAAA,eAChCX,IAAA,CAACQ,uBAAuB;MAACI,KAAK,EAAEc,eAAgB;MAAAf,QAAA,EAC9CA;IAAQ,CACe;EAAC,CACZ,CAAC;AAElB;AAGA,SAASJ,kBAAkB,EAAEE,kBAAkB","ignoreList":[]}
@@ -1,15 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  import { SafeAreaProviderCompat } from "@react-navigation/elements";
4
- import { useMemo } from "react";
4
+ import { memo, useMemo } from "react";
5
5
  import { StyleSheet } from "react-native";
6
6
  import { GestureHandlerRootView } from "react-native-gesture-handler";
7
7
  import { StackType } from "../../types/stack.types";
8
8
  import createProvider from "../../utils/create-provider";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- const {
11
- StackCoreProvider: InternalStackCoreProvider,
12
- useStackCoreContext
10
+ const StackCoreRoot = /*#__PURE__*/memo(function StackCoreRoot({
11
+ children,
12
+ stackType
13
+ }) {
14
+ return /*#__PURE__*/_jsx(GestureHandlerRootView, {
15
+ style: styles.container,
16
+ pointerEvents: stackType === StackType.COMPONENT ? "box-none" : undefined,
17
+ children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
18
+ children: children
19
+ })
20
+ });
21
+ });
22
+ export const {
23
+ StackCoreProvider,
24
+ useStackCoreStore
13
25
  } = createProvider("StackCore", {
14
26
  guarded: true
15
27
  })(({
@@ -32,47 +44,15 @@ const {
32
44
  value: {
33
45
  flags
34
46
  },
35
- children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
36
- style: styles.container,
37
- pointerEvents: STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined,
38
- children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
39
- children: children
40
- })
47
+ children: /*#__PURE__*/_jsx(StackCoreRoot, {
48
+ stackType: STACK_TYPE,
49
+ children: children
41
50
  })
42
51
  };
43
52
  });
44
-
45
- /**
46
- * HOC that wraps a component with the StackCore provider.
47
- * Just a simple open gate
48
- */
49
- export function withStackCore(defaultConfig, Component) {
50
- return function StackCoreWrapper({
51
- DISABLE_NATIVE_SCREENS,
52
- DISABLE_NATIVE_SCREEN_CONTAINER,
53
- TRANSITIONS_ALWAYS_ON,
54
- STACK_TYPE,
55
- ...props
56
- }) {
57
- // Start from defaults, then apply explicit overrides from the caller.
58
- const config = {
59
- TRANSITIONS_ALWAYS_ON: TRANSITIONS_ALWAYS_ON ?? defaultConfig.TRANSITIONS_ALWAYS_ON,
60
- STACK_TYPE: STACK_TYPE ?? defaultConfig.STACK_TYPE,
61
- DISABLE_NATIVE_SCREENS: DISABLE_NATIVE_SCREENS ?? defaultConfig.DISABLE_NATIVE_SCREENS,
62
- DISABLE_NATIVE_SCREEN_CONTAINER: DISABLE_NATIVE_SCREEN_CONTAINER ?? defaultConfig.DISABLE_NATIVE_SCREEN_CONTAINER
63
- };
64
- return /*#__PURE__*/_jsx(InternalStackCoreProvider, {
65
- config: config,
66
- children: /*#__PURE__*/_jsx(Component, {
67
- ...props
68
- })
69
- });
70
- };
71
- }
72
53
  const styles = StyleSheet.create({
73
54
  container: {
74
55
  flex: 1
75
56
  }
76
57
  });
77
- export { useStackCoreContext };
78
58
  //# sourceMappingURL=core.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SafeAreaProviderCompat","useMemo","StyleSheet","GestureHandlerRootView","StackType","createProvider","jsx","_jsx","StackCoreProvider","InternalStackCoreProvider","useStackCoreContext","guarded","config","children","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","STACK_TYPE","BLANK","flags","value","style","styles","container","pointerEvents","COMPONENT","undefined","withStackCore","defaultConfig","Component","StackCoreWrapper","props","create","flex"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/core.provider.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAA4B;AAEnE,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAOC,cAAc,MAAM,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuBzD,MAAM;EAAEC,iBAAiB,EAAEC,yBAAyB;EAAEC;AAAoB,CAAC,GAC1EL,cAAc,CAAC,WAAW,EAAE;EAAEM,OAAO,EAAE;AAAK,CAAC,CAAC,CAG5C,CAAC;EAAEC,MAAM;EAAEC;AAAS,CAAC,KAAK;EAC3B,MAAM;IACLC,qBAAqB,GAAG,KAAK;IAC7BC,sBAAsB,GAAG,KAAK;IAC9BC,+BAA+B,GAAG,KAAK;IACvCC,UAAU,GAAGb,SAAS,CAACc;EACxB,CAAC,GAAGN,MAAM;EAEV,MAAMO,KAAK,GAAGlB,OAAO,CACpB,OAAO;IACNa,qBAAqB;IACrBG,UAAU;IACVF,sBAAsB;IACtBC;EACD,CAAC,CAAC,EACF,CACCF,qBAAqB,EACrBG,UAAU,EACVF,sBAAsB,EACtBC,+BAA+B,CAEjC,CAAC;EAED,OAAO;IACNI,KAAK,EAAE;MAAED;IAAM,CAAC;IAChBN,QAAQ,eACPN,IAAA,CAACJ,sBAAsB;MACtBkB,KAAK,EAAEC,MAAM,CAACC,SAAU;MACxBC,aAAa,EACZP,UAAU,KAAKb,SAAS,CAACqB,SAAS,GAAG,UAAU,GAAGC,SAClD;MAAAb,QAAA,eAEDN,IAAA,CAACP,sBAAsB;QAAAa,QAAA,EAAEA;MAAQ,CAAyB;IAAC,CACpC;EAE1B,CAAC;AACF,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA,OAAO,SAASc,aAAaA,CAC5BC,aAA8B,EAC9BC,SAAsC,EACD;EACrC,OAAO,SAASC,gBAAgBA,CAAC;IAChCf,sBAAsB;IACtBC,+BAA+B;IAC/BF,qBAAqB;IACrBG,UAAU;IACV,GAAGc;EACsB,CAAC,EAAE;IAC5B;IACA,MAAMnB,MAAuB,GAAG;MAC/BE,qBAAqB,EACpBA,qBAAqB,IAAIc,aAAa,CAACd,qBAAqB;MAC7DG,UAAU,EAAEA,UAAU,IAAIW,aAAa,CAACX,UAAU;MAClDF,sBAAsB,EACrBA,sBAAsB,IAAIa,aAAa,CAACb,sBAAsB;MAC/DC,+BAA+B,EAC9BA,+BAA+B,IAC/BY,aAAa,CAACZ;IAChB,CAAC;IACD,oBACCT,IAAA,CAACE,yBAAyB;MAACG,MAAM,EAAEA,MAAO;MAAAC,QAAA,eACzCN,IAAA,CAACsB,SAAS;QAAA,GAAME;MAAK,CAAc;IAAC,CACV,CAAC;EAE9B,CAAC;AACF;AAEA,MAAMT,MAAM,GAAGpB,UAAU,CAAC8B,MAAM,CAAC;EAChCT,SAAS,EAAE;IAAEU,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC;AAEF,SAASvB,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["SafeAreaProviderCompat","memo","useMemo","StyleSheet","GestureHandlerRootView","StackType","createProvider","jsx","_jsx","StackCoreRoot","children","stackType","style","styles","container","pointerEvents","COMPONENT","undefined","StackCoreProvider","useStackCoreStore","guarded","config","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","STACK_TYPE","BLANK","flags","value","create","flex"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/core.provider.tsx"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAA4B;AACnE,SAASC,IAAI,EAAkBC,OAAO,QAAQ,OAAO;AACrD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,SAASC,SAAS,QAAQ,yBAAyB;AACnD,OAAOC,cAAc,MAAM,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuBzD,MAAMC,aAAa,gBAAGR,IAAI,CAAC,SAASQ,aAAaA,CAAC;EACjDC,QAAQ;EACRC;AAID,CAAC,EAAE;EACF,oBACCH,IAAA,CAACJ,sBAAsB;IACtBQ,KAAK,EAAEC,MAAM,CAACC,SAAU;IACxBC,aAAa,EAAEJ,SAAS,KAAKN,SAAS,CAACW,SAAS,GAAG,UAAU,GAAGC,SAAU;IAAAP,QAAA,eAE1EF,IAAA,CAACR,sBAAsB;MAAAU,QAAA,EAAEA;IAAQ,CAAyB;EAAC,CACpC,CAAC;AAE3B,CAAC,CAAC;AAEF,OAAO,MAAM;EAAEQ,iBAAiB;EAAEC;AAAkB,CAAC,GAAGb,cAAc,CACrE,WAAW,EACX;EAAEc,OAAO,EAAE;AAAK,CACjB,CAAC,CAAgD,CAAC;EAAEC,MAAM;EAAEX;AAAS,CAAC,KAAK;EAC1E,MAAM;IACLY,qBAAqB,GAAG,KAAK;IAC7BC,sBAAsB,GAAG,KAAK;IAC9BC,+BAA+B,GAAG,KAAK;IACvCC,UAAU,GAAGpB,SAAS,CAACqB;EACxB,CAAC,GAAGL,MAAM;EAEV,MAAMM,KAAK,GAAGzB,OAAO,CACpB,OAAO;IACNoB,qBAAqB;IACrBG,UAAU;IACVF,sBAAsB;IACtBC;EACD,CAAC,CAAC,EACF,CACCF,qBAAqB,EACrBG,UAAU,EACVF,sBAAsB,EACtBC,+BAA+B,CAEjC,CAAC;EAED,OAAO;IACNI,KAAK,EAAE;MAAED;IAAM,CAAC;IAChBjB,QAAQ,eAAEF,IAAA,CAACC,aAAa;MAACE,SAAS,EAAEc,UAAW;MAAAf,QAAA,EAAEA;IAAQ,CAAgB;EAC1E,CAAC;AACF,CAAC,CAAC;AAEF,MAAMG,MAAM,GAAGV,UAAU,CAAC0B,MAAM,CAAC;EAChCf,SAAS,EAAE;IAAEgB,IAAI,EAAE;EAAE;AACtB,CAAC,CAAC","ignoreList":[]}
@@ -2,19 +2,30 @@
2
2
 
3
3
  import { useMemo } from "react";
4
4
  import { StackProvider } from "../../hooks/navigation/use-stack";
5
+ import createProvider from "../../utils/create-provider";
5
6
  import { isOverlayVisible } from "../../utils/overlay/visibility";
6
- import { useStackCoreContext } from "./core.provider";
7
+ import { useStackCoreStore } from "./core.provider";
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
- function useDirectStackValue(props) {
9
- const {
10
- state,
11
- navigation,
12
- descriptors,
13
- describe
14
- } = props;
15
- const {
16
- flags
17
- } = useStackCoreContext();
9
+ const {
10
+ DirectStackProvider: DirectStackStoreProvider,
11
+ useDirectStackStore
12
+ } = createProvider("DirectStack", {
13
+ guarded: true
14
+ })(({
15
+ children,
16
+ value
17
+ }) => ({
18
+ children,
19
+ value
20
+ }));
21
+ function DirectStackProvider({
22
+ state,
23
+ navigation,
24
+ descriptors,
25
+ describe,
26
+ children
27
+ }) {
28
+ const flags = useStackCoreStore(store => store.flags);
18
29
  const navigatorKey = state.key;
19
30
  const preloadedDescriptors = useMemo(() => {
20
31
  return state.preloadedRoutes.reduce((acc, route) => {
@@ -36,20 +47,25 @@ function useDirectStackValue(props) {
36
47
  ...descriptors
37
48
  };
38
49
  let shouldShowFloatOverlay = false;
39
- for (const route of allRoutes) {
50
+ for (let index = 0; index < allRoutes.length; index++) {
51
+ const route = allRoutes[index];
52
+ if (!route) {
53
+ throw new Error(`Missing native stack route at index ${index}.`);
54
+ }
40
55
  const descriptor = allDescriptors[route.key];
41
56
  const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
57
+ if (!descriptor) {
58
+ throw new Error(`Missing native descriptor for route "${route.key}".`);
59
+ }
42
60
  scenes.push({
61
+ activity: index === state.index ? "active" : index === state.index - 1 ? "inert" : "inactive",
43
62
  route,
44
63
  descriptor,
45
64
  isPreloaded
46
65
  });
47
66
  routeKeys.push(route.key);
48
- if (!shouldShowFloatOverlay && descriptor) {
49
- const options = descriptor.options;
50
- if (options?.enableTransitions === true && isOverlayVisible(options)) {
51
- shouldShowFloatOverlay = true;
52
- }
67
+ if (!shouldShowFloatOverlay && descriptor.options?.enableTransitions === true && isOverlayVisible(descriptor.options)) {
68
+ shouldShowFloatOverlay = true;
53
69
  }
54
70
  }
55
71
  return {
@@ -58,9 +74,9 @@ function useDirectStackValue(props) {
58
74
  routeKeys,
59
75
  allRoutes
60
76
  };
61
- }, [state.routes, state.preloadedRoutes, preloadedDescriptors, descriptors]);
77
+ }, [state.routes, state.preloadedRoutes, state.index, preloadedDescriptors, descriptors]);
62
78
  const focusedIndex = state.index;
63
- const stackContextValue = useMemo(() => ({
79
+ const stackValue = useMemo(() => ({
64
80
  flags,
65
81
  navigatorKey,
66
82
  routeKeys,
@@ -68,34 +84,21 @@ function useDirectStackValue(props) {
68
84
  scenes,
69
85
  focusedIndex
70
86
  }), [flags, navigatorKey, routeKeys, allRoutes, scenes, focusedIndex]);
71
-
72
- // DirectStack context value
73
- const lifecycleValue = useMemo(() => ({
87
+ const directStackValue = {
74
88
  state,
75
89
  navigation,
76
90
  descriptors,
77
91
  scenes,
78
92
  focusedIndex,
79
93
  shouldShowFloatOverlay
80
- }), [state, navigation, descriptors, scenes, focusedIndex, shouldShowFloatOverlay]);
81
- return {
82
- ...lifecycleValue,
83
- stackContextValue
84
- };
85
- }
86
- function withDirectStack(Component) {
87
- return function DirectStackProvider(props) {
88
- const {
89
- stackContextValue,
90
- ...lifecycleValue
91
- } = useDirectStackValue(props);
92
- return /*#__PURE__*/_jsx(StackProvider, {
93
- value: stackContextValue,
94
- children: /*#__PURE__*/_jsx(Component, {
95
- ...lifecycleValue
96
- })
97
- });
98
94
  };
95
+ return /*#__PURE__*/_jsx(StackProvider, {
96
+ value: stackValue,
97
+ children: /*#__PURE__*/_jsx(DirectStackStoreProvider, {
98
+ value: directStackValue,
99
+ children: children
100
+ })
101
+ });
99
102
  }
100
- export { withDirectStack };
103
+ export { DirectStackProvider, useDirectStackStore };
101
104
  //# sourceMappingURL=direct.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","StackProvider","isOverlayVisible","useStackCoreContext","jsx","_jsx","useDirectStackValue","props","state","navigation","descriptors","describe","flags","navigatorKey","key","preloadedDescriptors","preloadedRoutes","reduce","acc","route","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","routes","concat","allDescriptors","descriptor","isPreloaded","undefined","push","options","enableTransitions","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","value","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","StackProvider","createProvider","isOverlayVisible","useStackCoreStore","jsx","_jsx","DirectStackProvider","DirectStackStoreProvider","useDirectStackStore","guarded","children","value","state","navigation","descriptors","describe","flags","store","navigatorKey","key","preloadedDescriptors","preloadedRoutes","reduce","acc","route","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","routes","concat","allDescriptors","index","length","Error","descriptor","isPreloaded","undefined","push","activity","options","enableTransitions","focusedIndex","stackValue","directStackValue"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":";;AAAA,SAAyBA,OAAO,QAAQ,OAAO;AAE/C,SAECC,aAAa,QACP,kCAAkC;AAMzC,OAAOC,cAAc,MAAM,6BAA6B;AACxD,SAASC,gBAAgB,QAAQ,gCAAgC;AACjE,SAASC,iBAAiB,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWpD,MAAM;EAAEC,mBAAmB,EAAEC,wBAAwB;EAAEC;AAAoB,CAAC,GAC3EP,cAAc,CAAC,aAAa,EAAE;EAAEQ,OAAO,EAAE;AAAK,CAAC,CAAC,CAG9C,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,MAAM;EAAED,QAAQ;EAAEC;AAAM,CAAC,CAAC,CAAC;AAElD,SAASL,mBAAmBA,CAAC;EAC5BM,KAAK;EACLC,UAAU;EACVC,WAAW;EACXC,QAAQ;EACRL;AACyB,CAAC,EAAE;EAC5B,MAAMM,KAAK,GAAGb,iBAAiB,CAAEc,KAAK,IAAKA,KAAK,CAACD,KAAK,CAAC;EACvD,MAAME,YAAY,GAAGN,KAAK,CAACO,GAAG;EAC9B,MAAMC,oBAAoB,GAAGrB,OAAO,CAAC,MAAM;IAC1C,OAAOa,KAAK,CAACS,eAAe,CAACC,MAAM,CAClC,CAACC,GAAG,EAAEC,KAAK,KAAK;MACfD,GAAG,CAACC,KAAK,CAACL,GAAG,CAAC,GAAGI,GAAG,CAACC,KAAK,CAACL,GAAG,CAAC,IAAIJ,QAAQ,CAACS,KAAK,EAAE,IAAI,CAAC;MACxD,OAAOD,GAAG;IACX,CAAC,EACD,CAAC,CACF,CAAC;EACF,CAAC,EAAE,CAACX,KAAK,CAACS,eAAe,EAAEN,QAAQ,CAAC,CAAC;EAErC,MAAM;IAAEU,MAAM;IAAEC,sBAAsB;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAC7D7B,OAAO,CAAC,MAAM;IACb,MAAM6B,SAAS,GAAGhB,KAAK,CAACiB,MAAM,CAACC,MAAM,CAAClB,KAAK,CAACS,eAAe,CAAC;IAC5D,MAAMI,MAA0B,GAAG,EAAE;IACrC,MAAME,SAAmB,GAAG,EAAE;IAC9B,MAAMI,cAAwC,GAAG;MAChD,GAAGX,oBAAoB;MACvB,GAAGN;IACJ,CAAC;IACD,IAAIY,sBAAsB,GAAG,KAAK;IAElC,KAAK,IAAIM,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGJ,SAAS,CAACK,MAAM,EAAED,KAAK,EAAE,EAAE;MACtD,MAAMR,KAAK,GAAGI,SAAS,CAACI,KAAK,CAAC;MAC9B,IAAI,CAACR,KAAK,EAAE;QACX,MAAM,IAAIU,KAAK,CAAC,uCAAuCF,KAAK,GAAG,CAAC;MACjE;MACA,MAAMG,UAAU,GAAGJ,cAAc,CAACP,KAAK,CAACL,GAAG,CAAC;MAC5C,MAAMiB,WAAW,GAChBhB,oBAAoB,CAACI,KAAK,CAACL,GAAG,CAAC,KAAKkB,SAAS,IAC7CvB,WAAW,CAACU,KAAK,CAACL,GAAG,CAAC,KAAKkB,SAAS;MAErC,IAAI,CAACF,UAAU,EAAE;QAChB,MAAM,IAAID,KAAK,CACd,wCAAwCV,KAAK,CAACL,GAAG,IAClD,CAAC;MACF;MAEAM,MAAM,CAACa,IAAI,CAAC;QACXC,QAAQ,EACPP,KAAK,KAAKpB,KAAK,CAACoB,KAAK,GAClB,QAAQ,GACRA,KAAK,KAAKpB,KAAK,CAACoB,KAAK,GAAG,CAAC,GACxB,OAAO,GACP,UAAU;QACfR,KAAK;QACLW,UAAU;QACVC;MACD,CAAC,CAAC;MACFT,SAAS,CAACW,IAAI,CAACd,KAAK,CAACL,GAAG,CAAC;MAEzB,IACC,CAACO,sBAAsB,IACvBS,UAAU,CAACK,OAAO,EAAEC,iBAAiB,KAAK,IAAI,IAC9CvC,gBAAgB,CAACiC,UAAU,CAACK,OAAO,CAAC,EACnC;QACDd,sBAAsB,GAAG,IAAI;MAC9B;IACD;IAEA,OAAO;MACND,MAAM;MACNC,sBAAsB;MACtBC,SAAS;MACTC;IACD,CAAC;EACF,CAAC,EAAE,CACFhB,KAAK,CAACiB,MAAM,EACZjB,KAAK,CAACS,eAAe,EACrBT,KAAK,CAACoB,KAAK,EACXZ,oBAAoB,EACpBN,WAAW,CACX,CAAC;EAEH,MAAM4B,YAAY,GAAG9B,KAAK,CAACoB,KAAK;EAChC,MAAMW,UAAU,GAAG5C,OAAO,CACzB,OAAO;IACNiB,KAAK;IACLE,YAAY;IACZS,SAAS;IACTE,MAAM,EAAED,SAAS;IACjBH,MAAM;IACNiB;EACD,CAAC,CAAC,EACF,CAAC1B,KAAK,EAAEE,YAAY,EAAES,SAAS,EAAEC,SAAS,EAAEH,MAAM,EAAEiB,YAAY,CACjE,CAAC;EACD,MAAME,gBAAgB,GAAG;IACxBhC,KAAK;IACLC,UAAU;IACVC,WAAW;IACXW,MAAM;IACNiB,YAAY;IACZhB;EACD,CAAC;EAED,oBACCrB,IAAA,CAACL,aAAa;IAACW,KAAK,EAAEgC,UAAW;IAAAjC,QAAA,eAChCL,IAAA,CAACE,wBAAwB;MAACI,KAAK,EAAEiC,gBAAiB;MAAAlC,QAAA,EAChDA;IAAQ,CACgB;EAAC,CACb,CAAC;AAElB;AAQA,SAASJ,mBAAmB,EAAEE,mBAAmB","ignoreList":[]}
@@ -1,7 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import { cancelAnimation, makeMutable } from "react-native-reanimated";
4
+ import { FALSE, TRUE } from "../constants";
5
+ import { emit } from "../utils/animation/emit";
4
6
  import { createStore } from "../utils/create-store";
7
+ export const emitMotionStart = animations => {
8
+ "worklet";
9
+
10
+ animations.progressSettled.set(FALSE);
11
+ if (animations.progressAnimating.get()) {
12
+ return false;
13
+ }
14
+ emit(animations.willAnimate, TRUE, FALSE);
15
+ requestAnimationFrame(() => {
16
+ "worklet";
17
+
18
+ animations.progressAnimating.set(TRUE);
19
+ });
20
+ return true;
21
+ };
5
22
  function createAnimationBag() {
6
23
  return {
7
24
  transitionProgress: makeMutable(0),
@@ -1 +1 @@
1
- {"version":3,"names":["cancelAnimation","makeMutable","createStore","createAnimationBag","transitionProgress","visualProgress","stackProgress","willAnimate","closing","progressAnimating","progressSettled","entering","AnimationStore","createBag","disposeBag","bag"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAChC,SAASC,WAAW,QAAQ,uBAAuB;AAanD,SAASC,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAEH,WAAW,CAAC,CAAC,CAAC;IAClCI,cAAc,EAAEJ,WAAW,CAAC,CAAC,CAAC;IAC9BK,aAAa,EAAEL,WAAW,CAAC,CAAC,CAAC;IAC7BM,WAAW,EAAEN,WAAW,CAAC,CAAC,CAAC;IAC3BO,OAAO,EAAEP,WAAW,CAAC,CAAC,CAAC;IACvBQ,iBAAiB,EAAER,WAAW,CAAC,CAAC,CAAC;IACjCS,eAAe,EAAET,WAAW,CAAC,CAAC,CAAC;IAC/BU,QAAQ,EAAEV,WAAW,CAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,cAAc,GAAGV,WAAW,CAAoB;EAC5DW,SAAS,EAAEV,kBAAkB;EAC7BW,UAAU,EAAGC,GAAG,IAAK;IACpBf,eAAe,CAACe,GAAG,CAACX,kBAAkB,CAAC;IACvCJ,eAAe,CAACe,GAAG,CAACV,cAAc,CAAC;IACnCL,eAAe,CAACe,GAAG,CAACT,aAAa,CAAC;IAClCN,eAAe,CAACe,GAAG,CAACR,WAAW,CAAC;IAChCP,eAAe,CAACe,GAAG,CAACN,iBAAiB,CAAC;IACtCT,eAAe,CAACe,GAAG,CAACL,eAAe,CAAC;IACpCV,eAAe,CAACe,GAAG,CAACP,OAAO,CAAC;IAC5BR,eAAe,CAACe,GAAG,CAACJ,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["cancelAnimation","makeMutable","FALSE","TRUE","emit","createStore","emitMotionStart","animations","progressSettled","set","progressAnimating","get","willAnimate","requestAnimationFrame","createAnimationBag","transitionProgress","visualProgress","stackProgress","closing","entering","AnimationStore","createBag","disposeBag","bag"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;AAAA,SACCA,eAAe,EACfC,WAAW,QAEL,yBAAyB;AAChC,SAASC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAC1C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,WAAW,QAAQ,uBAAuB;AAanD,OAAO,MAAMC,eAAe,GAAIC,UAA6B,IAAK;EACjE,SAAS;;EAETA,UAAU,CAACC,eAAe,CAACC,GAAG,CAACP,KAAK,CAAC;EAErC,IAAIK,UAAU,CAACG,iBAAiB,CAACC,GAAG,CAAC,CAAC,EAAE;IACvC,OAAO,KAAK;EACb;EAEAP,IAAI,CAACG,UAAU,CAACK,WAAW,EAAET,IAAI,EAAED,KAAK,CAAC;EACzCW,qBAAqB,CAAC,MAAM;IAC3B,SAAS;;IACTN,UAAU,CAACG,iBAAiB,CAACD,GAAG,CAACN,IAAI,CAAC;EACvC,CAAC,CAAC;EACF,OAAO,IAAI;AACZ,CAAC;AAED,SAASW,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAEd,WAAW,CAAC,CAAC,CAAC;IAClCe,cAAc,EAAEf,WAAW,CAAC,CAAC,CAAC;IAC9BgB,aAAa,EAAEhB,WAAW,CAAC,CAAC,CAAC;IAC7BW,WAAW,EAAEX,WAAW,CAAC,CAAC,CAAC;IAC3BiB,OAAO,EAAEjB,WAAW,CAAC,CAAC,CAAC;IACvBS,iBAAiB,EAAET,WAAW,CAAC,CAAC,CAAC;IACjCO,eAAe,EAAEP,WAAW,CAAC,CAAC,CAAC;IAC/BkB,QAAQ,EAAElB,WAAW,CAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMmB,cAAc,GAAGf,WAAW,CAAoB;EAC5DgB,SAAS,EAAEP,kBAAkB;EAC7BQ,UAAU,EAAGC,GAAG,IAAK;IACpBvB,eAAe,CAACuB,GAAG,CAACR,kBAAkB,CAAC;IACvCf,eAAe,CAACuB,GAAG,CAACP,cAAc,CAAC;IACnChB,eAAe,CAACuB,GAAG,CAACN,aAAa,CAAC;IAClCjB,eAAe,CAACuB,GAAG,CAACX,WAAW,CAAC;IAChCZ,eAAe,CAACuB,GAAG,CAACb,iBAAiB,CAAC;IACtCV,eAAe,CAACuB,GAAG,CAACf,eAAe,CAAC;IACpCR,eAAe,CAACuB,GAAG,CAACL,OAAO,CAAC;IAC5BlB,eAAe,CAACuB,GAAG,CAACJ,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["StackType"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAmBA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;;AAOA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["StackType"],"sourceRoot":"../../../../src","sources":["shared/types/stack.types.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;;AAYA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;;AAOA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { runOnJS } from "react-native-reanimated";
4
4
  import { FALSE, TRUE } from "../../constants";
5
+ import { emitMotionStart } from "../../stores/animation.store";
5
6
  import { animate, isSpringAnimationConfig } from "./animate";
6
7
  const setTransitionLifecycleFlags = (animations, isClosing, markEntering) => {
7
8
  "worklet";
@@ -33,7 +34,8 @@ export const animateToProgress = ({
33
34
  animationProgress,
34
35
  emitWillAnimate = true,
35
36
  markEntering = true,
36
- initialVelocity
37
+ initialVelocity,
38
+ isDragging
37
39
  }) => {
38
40
  "worklet";
39
41
 
@@ -50,12 +52,11 @@ export const animateToProgress = ({
50
52
  } : config;
51
53
  const {
52
54
  transitionProgress,
53
- willAnimate,
54
55
  progressAnimating,
55
56
  progressSettled,
56
57
  entering
57
58
  } = animations;
58
- const startAnimation = () => {
59
+ const startAnimation = activateMotion => {
59
60
  "worklet";
60
61
 
61
62
  const {
@@ -79,15 +80,16 @@ export const animateToProgress = ({
79
80
  }
80
81
  return;
81
82
  }
82
- progressAnimating.set(TRUE); //<-- Do not move this into the callback
83
+ if (activateMotion) {
84
+ progressAnimating.set(TRUE);
85
+ }
83
86
  progressSettled.set(FALSE);
84
87
  transitionProgress.set(animate(value, effectiveConfig, state => {
85
88
  "worklet";
86
89
 
87
- if (state.settled) {
88
- progressSettled.set(TRUE);
89
- }
90
90
  if (!state.finished) return;
91
+ if (isDragging?.get()) return;
92
+ progressSettled.set(TRUE);
91
93
  animationProgress.set(animationProgressTo);
92
94
  if (shouldClearEnteringOnFinish) {
93
95
  entering.set(FALSE);
@@ -125,15 +127,14 @@ export const animateToProgress = ({
125
127
  };
126
128
  if (emitWillAnimate) {
127
129
  setTransitionLifecycleFlags(animations, isClosing, markEntering);
128
- willAnimate.set(TRUE);
130
+ emitMotionStart(animations);
129
131
  requestAnimationFrame(() => {
130
132
  "worklet";
131
133
 
132
- willAnimate.set(FALSE);
133
- startAnimation();
134
+ startAnimation(false);
134
135
  });
135
136
  return;
136
137
  }
137
- startAnimation();
138
+ startAnimation(true);
138
139
  };
139
140
  //# sourceMappingURL=animate-to-progress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["runOnJS","FALSE","TRUE","animate","isSpringAnimationConfig","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","entering","resolveAnimationProgressRange","currentProgress","targetProgress","from","Math","min","max","to","animateToProgress","target","spec","onAnimationFinish","animationProgress","emitWillAnimate","initialVelocity","value","config","close","open","isSpringConfig","effectiveConfig","velocity","transitionProgress","willAnimate","progressAnimating","progressSettled","startAnimation","animationProgressFrom","animationProgressTo","get","shouldClearEnteringOnFinish","state","settled","finished","requestAnimationFrame"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/animate-to-progress.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["runOnJS","FALSE","TRUE","emitMotionStart","animate","isSpringAnimationConfig","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","entering","resolveAnimationProgressRange","currentProgress","targetProgress","from","Math","min","max","to","animateToProgress","target","spec","onAnimationFinish","animationProgress","emitWillAnimate","initialVelocity","isDragging","value","config","close","open","isSpringConfig","effectiveConfig","velocity","transitionProgress","progressAnimating","progressSettled","startAnimation","activateMotion","animationProgressFrom","animationProgressTo","get","shouldClearEnteringOnFinish","state","finished","requestAnimationFrame"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/animate-to-progress.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { NO_STYLES } from "../../../constants";
3
4
  import { createBoundTag, normalizeBoundIdentity } from "./create-bound-tag";
4
5
  import { createLinkAccessor } from "./create-link-accessor";
5
6
  import { prepareBoundStyles, syncActiveGroupId } from "./prepare-bound-styles";
@@ -40,6 +41,11 @@ const createBoundsAccessorParts = ({
40
41
  styles: options => {
41
42
  "worklet";
42
43
 
44
+ // Keep the component at its base layout for pre-animation refresh
45
+ // measurement, then remove generated styles again after settlement.
46
+ if (!props.active.animating) {
47
+ return NO_STYLES;
48
+ }
43
49
  return prepareBoundStyles({
44
50
  props,
45
51
  options: {
@@ -1 +1 @@
1
- {"version":3,"names":["createBoundTag","normalizeBoundIdentity","createLinkAccessor","prepareBoundStyles","syncActiveGroupId","createBoundsAccessorParts","getProps","extendResult","getLink","createScopedBounds","identity","props","normalizedIdentity","tag","id","group","getValues","options","raw","scoped","styles","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;AAYA,SAASA,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAC3E,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,wBAAwB;AAc9E,MAAMC,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAGN,kBAAkB,CAACI,QAAQ,CAAC;EAEhD,MAAMG,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGL,QAAQ,CAAC,CAAC;IACxB,MAAMM,kBAAkB,GAAGX,sBAAsB,CAACS,QAAQ,CAAC;IAC3D,MAAMG,GAAG,GAAGb,cAAc,CAACY,kBAAkB,CAAC;IAC9CR,iBAAiB,CAAC;MACjBO,KAAK;MACLG,EAAE,EAAEF,kBAAkB,CAACE,EAAE;MACzBC,KAAK,EAAEH,kBAAkB,CAACG;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAOd,kBAAkB,CAAC;QACzBQ,KAAK;QACLM,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEF,kBAAkB,CAACE,EAAE;UACzBC,KAAK,EAAEH,kBAAkB,CAACG,KAAK;UAC/BG,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGH,OAA8B,IAAwB;QAC9D,SAAS;;QACT,OAAOd,kBAAkB,CAAC;UACzBQ,KAAK;UACLM,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEF,kBAAkB,CAACE,EAAE;YACzBC,KAAK,EAAEH,kBAAkB,CAACG;UAC3B;QACD,CAAC,CAAC;MACH,CAAC;MACDM,MAAM,EAAEL,SAAS;MACjBM,IAAI,EACHL,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDM,IAAI,EAAGT,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMU,YAAY,GACjBV,EAAE,IAAI,IAAI,GACPF,kBAAkB,GAClBX,sBAAsB,CAACa,EAAE,EAAEF,kBAAkB,CAACG,KAAK,CAAC;QACxD,MAAMU,OAAO,GAAGzB,cAAc,CAACwB,YAAY,CAAC;QAC5C,OAAOhB,OAAO,CAACiB,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzBlB,YAAY,GAAG;MACdmB,MAAM,EAAEP,MAAM;MACdT,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLE;IACD,CAAC,CAAC;IAEF,OAAOM,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNV;EACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMkB,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAEnB;EAAmB,CAAC,GAAGJ,yBAAyB,CAACuB,MAAM,CAAC;EAEhE,OAAOnB,kBAAkB;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NO_STYLES","createBoundTag","normalizeBoundIdentity","createLinkAccessor","prepareBoundStyles","syncActiveGroupId","createBoundsAccessorParts","getProps","extendResult","getLink","createScopedBounds","identity","props","normalizedIdentity","tag","id","group","getValues","options","raw","scoped","styles","active","animating","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,oBAAoB;AAa9C,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,oBAAoB;AAC3E,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,wBAAwB;AAc9E,MAAMC,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAGN,kBAAkB,CAACI,QAAQ,CAAC;EAEhD,MAAMG,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGL,QAAQ,CAAC,CAAC;IACxB,MAAMM,kBAAkB,GAAGX,sBAAsB,CAACS,QAAQ,CAAC;IAC3D,MAAMG,GAAG,GAAGb,cAAc,CAACY,kBAAkB,CAAC;IAC9CR,iBAAiB,CAAC;MACjBO,KAAK;MACLG,EAAE,EAAEF,kBAAkB,CAACE,EAAE;MACzBC,KAAK,EAAEH,kBAAkB,CAACG;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAOd,kBAAkB,CAAC;QACzBQ,KAAK;QACLM,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEF,kBAAkB,CAACE,EAAE;UACzBC,KAAK,EAAEH,kBAAkB,CAACG,KAAK;UAC/BG,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGH,OAA8B,IAAwB;QAC9D,SAAS;;QACT;QACA;QACA,IAAI,CAACN,KAAK,CAACU,MAAM,CAACC,SAAS,EAAE;UAC5B,OAAOvB,SAAS;QACjB;QAEA,OAAOI,kBAAkB,CAAC;UACzBQ,KAAK;UACLM,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEF,kBAAkB,CAACE,EAAE;YACzBC,KAAK,EAAEH,kBAAkB,CAACG;UAC3B;QACD,CAAC,CAAC;MACH,CAAC;MACDQ,MAAM,EAAEP,SAAS;MACjBQ,IAAI,EACHP,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDQ,IAAI,EAAGX,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMY,YAAY,GACjBZ,EAAE,IAAI,IAAI,GACPF,kBAAkB,GAClBX,sBAAsB,CAACa,EAAE,EAAEF,kBAAkB,CAACG,KAAK,CAAC;QACxD,MAAMY,OAAO,GAAG3B,cAAc,CAAC0B,YAAY,CAAC;QAC5C,OAAOlB,OAAO,CAACmB,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzBpB,YAAY,GAAG;MACdqB,MAAM,EAAET,MAAM;MACdT,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLE;IACD,CAAC,CAAC;IAEF,OAAOM,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNV;EACD,CAAC;AACF,CAAC;AAED,OAAO,MAAMoB,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAErB;EAAmB,CAAC,GAAGJ,yBAAyB,CAACyB,MAAM,CAAC;EAEhE,OAAOrB,kBAAkB;AAC1B,CAAC","ignoreList":[]}