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
@@ -3,9 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AnimationStore = void 0;
6
+ exports.emitMotionStart = exports.AnimationStore = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
+ var _constants = require("../constants");
9
+ var _emit = require("../utils/animation/emit");
8
10
  var _createStore = require("../utils/create-store");
11
+ const emitMotionStart = animations => {
12
+ "worklet";
13
+
14
+ animations.progressSettled.set(_constants.FALSE);
15
+ if (animations.progressAnimating.get()) {
16
+ return false;
17
+ }
18
+ (0, _emit.emit)(animations.willAnimate, _constants.TRUE, _constants.FALSE);
19
+ requestAnimationFrame(() => {
20
+ "worklet";
21
+
22
+ animations.progressAnimating.set(_constants.TRUE);
23
+ });
24
+ return true;
25
+ };
26
+ exports.emitMotionStart = emitMotionStart;
9
27
  function createAnimationBag() {
10
28
  return {
11
29
  transitionProgress: (0, _reactNativeReanimated.makeMutable)(0),
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_createStore","createAnimationBag","transitionProgress","makeMutable","visualProgress","stackProgress","willAnimate","closing","progressAnimating","progressSettled","entering","AnimationStore","exports","createStore","createBag","disposeBag","bag","cancelAnimation"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAaA,SAASE,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;IAClCC,cAAc,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;IAC9BE,aAAa,EAAE,IAAAF,kCAAW,EAAC,CAAC,CAAC;IAC7BG,WAAW,EAAE,IAAAH,kCAAW,EAAC,CAAC,CAAC;IAC3BI,OAAO,EAAE,IAAAJ,kCAAW,EAAC,CAAC,CAAC;IACvBK,iBAAiB,EAAE,IAAAL,kCAAW,EAAC,CAAC,CAAC;IACjCM,eAAe,EAAE,IAAAN,kCAAW,EAAC,CAAC,CAAC;IAC/BO,QAAQ,EAAE,IAAAP,kCAAW,EAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMQ,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,IAAAE,wBAAW,EAAoB;EAC5DC,SAAS,EAAEb,kBAAkB;EAC7Bc,UAAU,EAAGC,GAAG,IAAK;IACpB,IAAAC,sCAAe,EAACD,GAAG,CAACd,kBAAkB,CAAC;IACvC,IAAAe,sCAAe,EAACD,GAAG,CAACZ,cAAc,CAAC;IACnC,IAAAa,sCAAe,EAACD,GAAG,CAACX,aAAa,CAAC;IAClC,IAAAY,sCAAe,EAACD,GAAG,CAACV,WAAW,CAAC;IAChC,IAAAW,sCAAe,EAACD,GAAG,CAACR,iBAAiB,CAAC;IACtC,IAAAS,sCAAe,EAACD,GAAG,CAACP,eAAe,CAAC;IACpC,IAAAQ,sCAAe,EAACD,GAAG,CAACT,OAAO,CAAC;IAC5B,IAAAU,sCAAe,EAACD,GAAG,CAACN,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_constants","_emit","_createStore","emitMotionStart","animations","progressSettled","set","FALSE","progressAnimating","get","emit","willAnimate","TRUE","requestAnimationFrame","exports","createAnimationBag","transitionProgress","makeMutable","visualProgress","stackProgress","closing","entering","AnimationStore","createStore","createBag","disposeBag","bag","cancelAnimation"],"sourceRoot":"../../../../src","sources":["shared/stores/animation.store.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAaO,MAAMI,eAAe,GAAIC,UAA6B,IAAK;EACjE,SAAS;;EAETA,UAAU,CAACC,eAAe,CAACC,GAAG,CAACC,gBAAK,CAAC;EAErC,IAAIH,UAAU,CAACI,iBAAiB,CAACC,GAAG,CAAC,CAAC,EAAE;IACvC,OAAO,KAAK;EACb;EAEA,IAAAC,UAAI,EAACN,UAAU,CAACO,WAAW,EAAEC,eAAI,EAAEL,gBAAK,CAAC;EACzCM,qBAAqB,CAAC,MAAM;IAC3B,SAAS;;IACTT,UAAU,CAACI,iBAAiB,CAACF,GAAG,CAACM,eAAI,CAAC;EACvC,CAAC,CAAC;EACF,OAAO,IAAI;AACZ,CAAC;AAACE,OAAA,CAAAX,eAAA,GAAAA,eAAA;AAEF,SAASY,kBAAkBA,CAAA,EAAsB;EAChD,OAAO;IACNC,kBAAkB,EAAE,IAAAC,kCAAW,EAAC,CAAC,CAAC;IAClCC,cAAc,EAAE,IAAAD,kCAAW,EAAC,CAAC,CAAC;IAC9BE,aAAa,EAAE,IAAAF,kCAAW,EAAC,CAAC,CAAC;IAC7BN,WAAW,EAAE,IAAAM,kCAAW,EAAC,CAAC,CAAC;IAC3BG,OAAO,EAAE,IAAAH,kCAAW,EAAC,CAAC,CAAC;IACvBT,iBAAiB,EAAE,IAAAS,kCAAW,EAAC,CAAC,CAAC;IACjCZ,eAAe,EAAE,IAAAY,kCAAW,EAAC,CAAC,CAAC;IAC/BI,QAAQ,EAAE,IAAAJ,kCAAW,EAAC,CAAC;EACxB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMK,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAG,IAAAC,wBAAW,EAAoB;EAC5DC,SAAS,EAAET,kBAAkB;EAC7BU,UAAU,EAAGC,GAAG,IAAK;IACpB,IAAAC,sCAAe,EAACD,GAAG,CAACV,kBAAkB,CAAC;IACvC,IAAAW,sCAAe,EAACD,GAAG,CAACR,cAAc,CAAC;IACnC,IAAAS,sCAAe,EAACD,GAAG,CAACP,aAAa,CAAC;IAClC,IAAAQ,sCAAe,EAACD,GAAG,CAACf,WAAW,CAAC;IAChC,IAAAgB,sCAAe,EAACD,GAAG,CAAClB,iBAAiB,CAAC;IACtC,IAAAmB,sCAAe,EAACD,GAAG,CAACrB,eAAe,CAAC;IACpC,IAAAsB,sCAAe,EAACD,GAAG,CAACN,OAAO,CAAC;IAC5B,IAAAO,sCAAe,EAACD,GAAG,CAACL,QAAQ,CAAC;EAC9B;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["StackType","exports"],"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;AAHA,IAUYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["StackType","exports"],"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;AAHA,IAUYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.resolveAnimationProgressRange = exports.animateToProgress = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
8
  var _constants = require("../../constants");
9
+ var _animation = require("../../stores/animation.store");
9
10
  var _animate = require("./animate");
10
11
  const setTransitionLifecycleFlags = (animations, isClosing, markEntering) => {
11
12
  "worklet";
@@ -38,7 +39,8 @@ const animateToProgress = ({
38
39
  animationProgress,
39
40
  emitWillAnimate = true,
40
41
  markEntering = true,
41
- initialVelocity
42
+ initialVelocity,
43
+ isDragging
42
44
  }) => {
43
45
  "worklet";
44
46
 
@@ -55,12 +57,11 @@ const animateToProgress = ({
55
57
  } : config;
56
58
  const {
57
59
  transitionProgress,
58
- willAnimate,
59
60
  progressAnimating,
60
61
  progressSettled,
61
62
  entering
62
63
  } = animations;
63
- const startAnimation = () => {
64
+ const startAnimation = activateMotion => {
64
65
  "worklet";
65
66
 
66
67
  const {
@@ -84,15 +85,16 @@ const animateToProgress = ({
84
85
  }
85
86
  return;
86
87
  }
87
- progressAnimating.set(_constants.TRUE); //<-- Do not move this into the callback
88
+ if (activateMotion) {
89
+ progressAnimating.set(_constants.TRUE);
90
+ }
88
91
  progressSettled.set(_constants.FALSE);
89
92
  transitionProgress.set((0, _animate.animate)(value, effectiveConfig, state => {
90
93
  "worklet";
91
94
 
92
- if (state.settled) {
93
- progressSettled.set(_constants.TRUE);
94
- }
95
95
  if (!state.finished) return;
96
+ if (isDragging?.get()) return;
97
+ progressSettled.set(_constants.TRUE);
96
98
  animationProgress.set(animationProgressTo);
97
99
  if (shouldClearEnteringOnFinish) {
98
100
  entering.set(_constants.FALSE);
@@ -130,16 +132,15 @@ const animateToProgress = ({
130
132
  };
131
133
  if (emitWillAnimate) {
132
134
  setTransitionLifecycleFlags(animations, isClosing, markEntering);
133
- willAnimate.set(_constants.TRUE);
135
+ (0, _animation.emitMotionStart)(animations);
134
136
  requestAnimationFrame(() => {
135
137
  "worklet";
136
138
 
137
- willAnimate.set(_constants.FALSE);
138
- startAnimation();
139
+ startAnimation(false);
139
140
  });
140
141
  return;
141
142
  }
142
- startAnimation();
143
+ startAnimation(true);
143
144
  };
144
145
  exports.animateToProgress = animateToProgress;
145
146
  //# sourceMappingURL=animate-to-progress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_constants","_animate","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","TRUE","entering","FALSE","resolveAnimationProgressRange","currentProgress","targetProgress","from","Math","min","max","to","exports","animateToProgress","target","spec","onAnimationFinish","animationProgress","emitWillAnimate","initialVelocity","value","config","close","open","isSpringConfig","isSpringAnimationConfig","effectiveConfig","velocity","transitionProgress","willAnimate","progressAnimating","progressSettled","startAnimation","animationProgressFrom","animationProgressTo","get","shouldClearEnteringOnFinish","runOnJS","animate","state","settled","finished","requestAnimationFrame"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/animate-to-progress.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_constants","_animation","_animate","setTransitionLifecycleFlags","animations","isClosing","markEntering","closing","set","TRUE","entering","FALSE","resolveAnimationProgressRange","currentProgress","targetProgress","from","Math","min","max","to","exports","animateToProgress","target","spec","onAnimationFinish","animationProgress","emitWillAnimate","initialVelocity","isDragging","value","config","close","open","isSpringConfig","isSpringAnimationConfig","effectiveConfig","velocity","transitionProgress","progressAnimating","progressSettled","startAnimation","activateMotion","animationProgressFrom","animationProgressTo","get","shouldClearEnteringOnFinish","runOnJS","animate","state","finished","requestAnimationFrame","emitMotionStart"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/animate-to-progress.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createBoundsAccessorCore = void 0;
7
+ var _constants = require("../../../constants");
7
8
  var _createBoundTag = require("./create-bound-tag");
8
9
  var _createLinkAccessor = require("./create-link-accessor");
9
10
  var _prepareBoundStyles = require("./prepare-bound-styles");
@@ -44,6 +45,11 @@ const createBoundsAccessorParts = ({
44
45
  styles: options => {
45
46
  "worklet";
46
47
 
48
+ // Keep the component at its base layout for pre-animation refresh
49
+ // measurement, then remove generated styles again after settlement.
50
+ if (!props.active.animating) {
51
+ return _constants.NO_STYLES;
52
+ }
47
53
  return (0, _prepareBoundStyles.prepareBoundStyles)({
48
54
  props,
49
55
  options: {
@@ -1 +1 @@
1
- {"version":3,"names":["_createBoundTag","require","_createLinkAccessor","_prepareBoundStyles","createBoundsAccessorParts","getProps","extendResult","getLink","createLinkAccessor","createScopedBounds","identity","props","normalizedIdentity","normalizeBoundIdentity","tag","createBoundTag","syncActiveGroupId","id","group","getValues","options","prepareBoundStyles","raw","scoped","styles","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;;;;;AAYA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAcA,MAAMG,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sCAAkB,EAACH,QAAQ,CAAC;EAEhD,MAAMI,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGN,QAAQ,CAAC,CAAC;IACxB,MAAMO,kBAAkB,GAAG,IAAAC,sCAAsB,EAACH,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAAC,8BAAc,EAACH,kBAAkB,CAAC;IAC9C,IAAAI,qCAAiB,EAAC;MACjBL,KAAK;MACLM,EAAE,EAAEL,kBAAkB,CAACK,EAAE;MACzBC,KAAK,EAAEN,kBAAkB,CAACM;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAO,IAAAC,sCAAkB,EAAC;QACzBV,KAAK;QACLS,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;UACzBC,KAAK,EAAEN,kBAAkB,CAACM,KAAK;UAC/BI,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGJ,OAA8B,IAAwB;QAC9D,SAAS;;QACT,OAAO,IAAAC,sCAAkB,EAAC;UACzBV,KAAK;UACLS,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;YACzBC,KAAK,EAAEN,kBAAkB,CAACM;UAC3B;QACD,CAAC,CAAC;MACH,CAAC;MACDO,MAAM,EAAEN,SAAS;MACjBO,IAAI,EACHN,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDO,IAAI,EAAGV,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMW,YAAY,GACjBX,EAAE,IAAI,IAAI,GACPL,kBAAkB,GAClB,IAAAC,sCAAsB,EAACI,EAAE,EAAEL,kBAAkB,CAACM,KAAK,CAAC;QACxD,MAAMW,OAAO,GAAG,IAAAd,8BAAc,EAACa,YAAY,CAAC;QAC5C,OAAOrB,OAAO,CAACsB,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzBvB,YAAY,GAAG;MACdwB,MAAM,EAAEP,MAAM;MACdb,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLG;IACD,CAAC,CAAC;IAEF,OAAOS,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAEM,MAAMsB,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAEvB;EAAmB,CAAC,GAAGL,yBAAyB,CAAC4B,MAAM,CAAC;EAEhE,OAAOvB,kBAAkB;AAC1B,CAAC;AAACwB,OAAA,CAAAF,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_createBoundTag","_createLinkAccessor","_prepareBoundStyles","createBoundsAccessorParts","getProps","extendResult","getLink","createLinkAccessor","createScopedBounds","identity","props","normalizedIdentity","normalizeBoundIdentity","tag","createBoundTag","syncActiveGroupId","id","group","getValues","options","prepareBoundStyles","raw","scoped","styles","active","animating","NO_STYLES","values","math","link","linkIdentity","linkTag","target","createBoundsAccessorCore","params","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/create-bounds-accessor-core.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAaA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAcA,MAAMI,yBAAyB,GAAGA,CAAC;EAClCC,QAAQ;EACRC;AAC+B,CAAC,KAAK;EACrC,SAAS;;EAET,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sCAAkB,EAACH,QAAQ,CAAC;EAEhD,MAAMI,kBAAkB,GACvBC,QAA6B,IACH;IAC1B,SAAS;;IACT,MAAMC,KAAK,GAAGN,QAAQ,CAAC,CAAC;IACxB,MAAMO,kBAAkB,GAAG,IAAAC,sCAAsB,EAACH,QAAQ,CAAC;IAC3D,MAAMI,GAAG,GAAG,IAAAC,8BAAc,EAACH,kBAAkB,CAAC;IAC9C,IAAAI,qCAAiB,EAAC;MACjBL,KAAK;MACLM,EAAE,EAAEL,kBAAkB,CAACK,EAAE;MACzBC,KAAK,EAAEN,kBAAkB,CAACM;IAC3B,CAAC,CAAC;IACF,MAAMC,SAAS,GACdC,OAAW,IACgB;MAC3B,SAAS;;MACT,OAAO,IAAAC,sCAAkB,EAAC;QACzBV,KAAK;QACLS,OAAO,EAAE;UACR,GAAGA,OAAO;UACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;UACzBC,KAAK,EAAEN,kBAAkB,CAACM,KAAK;UAC/BI,GAAG,EAAE;QACN;MACD,CAAC,CAAC;IACH,CAAC;IAED,MAAMC,MAA4B,GAAG;MACpCC,MAAM,EAAGJ,OAA8B,IAAwB;QAC9D,SAAS;;QACT;QACA;QACA,IAAI,CAACT,KAAK,CAACc,MAAM,CAACC,SAAS,EAAE;UAC5B,OAAOC,oBAAS;QACjB;QAEA,OAAO,IAAAN,sCAAkB,EAAC;UACzBV,KAAK;UACLS,OAAO,EAAE;YACR,GAAGA,OAAO;YACVH,EAAE,EAAEL,kBAAkB,CAACK,EAAE;YACzBC,KAAK,EAAEN,kBAAkB,CAACM;UAC3B;QACD,CAAC,CAAC;MACH,CAAC;MACDU,MAAM,EAAET,SAAS;MACjBU,IAAI,EACHT,OAAW,IACP;QACJ,SAAS;;QACT,OAAOD,SAAS,CAACC,OAAO,CAAC;MAC1B,CAAC;MACDU,IAAI,EAAGb,EAAwB,IAAK;QACnC,SAAS;;QACT,MAAMc,YAAY,GACjBd,EAAE,IAAI,IAAI,GACPL,kBAAkB,GAClB,IAAAC,sCAAsB,EAACI,EAAE,EAAEL,kBAAkB,CAACM,KAAK,CAAC;QACxD,MAAMc,OAAO,GAAG,IAAAjB,8BAAc,EAACgB,YAAY,CAAC;QAC5C,OAAOxB,OAAO,CAACyB,OAAO,IAAI,EAAE,CAAC;MAC9B;IACD,CAAyB;IAEzB1B,YAAY,GAAG;MACd2B,MAAM,EAAEV,MAAM;MACdb,QAAQ,EAAEE,kBAAkB;MAC5BD,KAAK;MACLG;IACD,CAAC,CAAC;IAEF,OAAOS,MAAM;EACd,CAAoB;EAEpB,OAAO;IACNd;EACD,CAAC;AACF,CAAC;AAEM,MAAMyB,wBAAwB,GACpCC,MAAsC,IAClB;EACpB,SAAS;;EAET,MAAM;IAAE1B;EAAmB,CAAC,GAAGL,yBAAyB,CAAC+B,MAAM,CAAC;EAEhE,OAAO1B,kBAAkB;AAC1B,CAAC;AAAC2B,OAAA,CAAAF,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -10,12 +10,43 @@ var _jsxRuntime = require("react/jsx-runtime");
10
10
  * THANK YOU @MatiPl01
11
11
  * https://github.com/MatiPl01/react-native-sortables/blob/main/packages/react-native-sortables/src/providers/utils/createProvider.tsx
12
12
  * SUPER COOL AMAZING UTILITY
13
+ *
14
+ * Store-only provider: values propagate exclusively through a subscription
15
+ * store read with `use${Name}Store(selector)`. There is intentionally no raw
16
+ * context channel, so consumers subscribe only to the values they render.
17
+ *
18
+ * Factories do not memoize what they return:
19
+ * - `value`: the store shallow-compares snapshots and keeps the previous
20
+ * object when the contents are unchanged. Derived object and array fields
21
+ * must still have stable identities.
22
+ * - `children`: passed-through children keep their identity across
23
+ * provider-local renders. Factories that wrap children should use a
24
+ * module-level memoized component for the wrapper.
13
25
  */
14
26
 
15
27
  const NullProviderStore = {
16
28
  getSnapshot: () => null,
17
29
  subscribe: () => () => {}
18
30
  };
31
+ const shallowEqual = (a, b) => {
32
+ if (Object.is(a, b)) {
33
+ return true;
34
+ }
35
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
36
+ return false;
37
+ }
38
+ const aKeys = Object.keys(a);
39
+ const bKeys = Object.keys(b);
40
+ if (aKeys.length !== bKeys.length) {
41
+ return false;
42
+ }
43
+ for (const key of aKeys) {
44
+ if (!(key in b) || !Object.is(a[key], b[key])) {
45
+ return false;
46
+ }
47
+ }
48
+ return true;
49
+ };
19
50
  const createProviderStore = initialSnapshot => {
20
51
  let snapshot = initialSnapshot;
21
52
  const listeners = new Set();
@@ -27,7 +58,7 @@ const createProviderStore = initialSnapshot => {
27
58
  }
28
59
  },
29
60
  setSnapshot: nextSnapshot => {
30
- if (Object.is(snapshot, nextSnapshot)) {
61
+ if (shallowEqual(snapshot, nextSnapshot)) {
31
62
  return false;
32
63
  }
33
64
  snapshot = nextSnapshot;
@@ -47,28 +78,48 @@ function createProvider(name, options) {
47
78
  guarded = true
48
79
  } = options ?? {};
49
80
  const providerDisplayName = `${name}Provider`;
50
- const innerProviderDisplayName = `${name}InnerProvider`;
51
- const Context = /*#__PURE__*/(0, _react.createContext)(null);
52
- Context.displayName = name;
53
81
  const StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
54
82
  StoreContext.displayName = `${name}Store`;
83
+ const createStoreHook = strict => {
84
+ return selector => {
85
+ const store = (0, _react.useContext)(StoreContext);
86
+ const resolvedStore = store ?? NullProviderStore;
87
+ const selectorRef = (0, _react.useRef)(selector);
88
+ selectorRef.current = selector;
89
+ const getSelectedSnapshot = (0, _react.useCallback)(() => {
90
+ if (strict && store === null) {
91
+ throw new Error(`${name} store must be used within a ${name}Provider`);
92
+ }
93
+ const snapshot = resolvedStore.getSnapshot();
94
+ if (strict && snapshot === null) {
95
+ throw new Error(`${name} store must be used within an enabled ${name}Provider`);
96
+ }
97
+ return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
98
+ }, [resolvedStore, store]);
99
+ return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
100
+ };
101
+ };
102
+ const useStoreSelector = createStoreHook(guarded);
103
+ const factoryInternals = {
104
+ useParentStore: createStoreHook(false)
105
+ };
55
106
  const Provider = props => {
56
107
  const {
57
108
  children = props.children,
58
109
  enabled = true,
59
110
  value
60
- } = factory(props);
111
+ } = factory(props, factoryInternals);
61
112
  if (!value) {
62
113
  throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
63
114
  }
64
- const memoValue = (0, _react.useMemo)(() => enabled ? value : null, [enabled, value]);
115
+ const snapshotValue = enabled ? value : null;
65
116
  const storeRef = (0, _react.useRef)(null);
66
117
  const pendingNotifyRef = (0, _react.useRef)(false);
67
118
  if (storeRef.current === null) {
68
- storeRef.current = createProviderStore(memoValue);
119
+ storeRef.current = createProviderStore(snapshotValue);
69
120
  }
70
121
  const store = storeRef.current;
71
- pendingNotifyRef.current = store.setSnapshot(memoValue) || pendingNotifyRef.current;
122
+ pendingNotifyRef.current = store.setSnapshot(snapshotValue) || pendingNotifyRef.current;
72
123
  (0, _react.useLayoutEffect)(() => {
73
124
  if (!pendingNotifyRef.current) {
74
125
  return;
@@ -76,80 +127,15 @@ function createProvider(name, options) {
76
127
  pendingNotifyRef.current = false;
77
128
  store.notify();
78
129
  });
79
-
80
- // Per-instance ref ensures InnerProvider reads latest value while keeping
81
- // a stable component reference.
82
- const valueRef = (0, _react.useRef)(memoValue);
83
- valueRef.current = memoValue;
84
- const InnerProvider = (0, _react.useMemo)(() => {
85
- const NamedInnerProvider = ({
86
- children
87
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(StoreContext.Provider, {
88
- value: store,
89
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
90
- value: valueRef.current,
91
- children: children
92
- })
93
- });
94
- NamedInnerProvider.displayName = innerProviderDisplayName;
95
- return NamedInnerProvider;
96
- }, [store]);
97
- if (typeof children === "function") {
98
- return children({
99
- [`${name}Provider`]: InnerProvider
100
- });
101
- }
102
130
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StoreContext.Provider, {
103
131
  value: store,
104
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
105
- value: memoValue,
106
- children: children
107
- })
132
+ children: children
108
133
  });
109
134
  };
110
135
  Provider.displayName = providerDisplayName;
111
- const useEnhancedContext = () => {
112
- const context = (0, _react.useContext)(Context);
113
- if (guarded && context === null) {
114
- throw new Error(`${name} context must be used within a ${name}Provider`);
115
- }
116
- return context;
117
- };
118
- const useStoreSelector = selector => {
119
- const store = (0, _react.useContext)(StoreContext);
120
- const resolvedStore = store ?? NullProviderStore;
121
- const selectorRef = (0, _react.useRef)(selector);
122
- selectorRef.current = selector;
123
- const getSelectedSnapshot = (0, _react.useCallback)(() => {
124
- if (guarded && store === null) {
125
- throw new Error(`${name} store must be used within a ${name}Provider`);
126
- }
127
- const snapshot = resolvedStore.getSnapshot();
128
- if (guarded && snapshot === null) {
129
- throw new Error(`${name} store must be used within an enabled ${name}Provider`);
130
- }
131
- return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
132
- }, [resolvedStore, store]);
133
- return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
134
- };
135
- const useOptionalStoreSelector = selector => {
136
- const store = (0, _react.useContext)(StoreContext);
137
- const resolvedStore = store ?? NullProviderStore;
138
- const selectorRef = (0, _react.useRef)(selector);
139
- selectorRef.current = selector;
140
- const getSelectedSnapshot = (0, _react.useCallback)(() => {
141
- const snapshot = resolvedStore.getSnapshot();
142
- return selectorRef.current ? selectorRef.current(snapshot) : snapshot;
143
- }, [resolvedStore]);
144
- return (0, _react.useSyncExternalStore)(resolvedStore.subscribe, getSelectedSnapshot, getSelectedSnapshot);
145
- };
146
136
  return {
147
- [`${name}Context`]: Context,
148
- [`${name}StoreContext`]: StoreContext,
149
137
  [`${name}Provider`]: Provider,
150
- [`use${name}Context`]: useEnhancedContext,
151
- [`use${name}Store`]: useStoreSelector,
152
- [`use${name}OptionalStore`]: useOptionalStoreSelector
138
+ [`use${name}Store`]: useStoreSelector
153
139
  };
154
140
  };
155
141
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_jsxRuntime","NullProviderStore","getSnapshot","subscribe","createProviderStore","initialSnapshot","snapshot","listeners","Set","notify","listener","setSnapshot","nextSnapshot","Object","is","add","delete","createProvider","name","options","factory","guarded","providerDisplayName","innerProviderDisplayName","Context","createContext","displayName","StoreContext","Provider","props","children","enabled","value","Error","memoValue","useMemo","storeRef","useRef","pendingNotifyRef","current","store","useLayoutEffect","valueRef","InnerProvider","NamedInnerProvider","jsx","useEnhancedContext","context","useContext","useStoreSelector","selector","resolvedStore","selectorRef","getSelectedSnapshot","useCallback","useSyncExternalStore","useOptionalStoreSelector"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_jsxRuntime","NullProviderStore","getSnapshot","subscribe","shallowEqual","a","b","Object","is","aKeys","keys","bKeys","length","key","createProviderStore","initialSnapshot","snapshot","listeners","Set","notify","listener","setSnapshot","nextSnapshot","add","delete","createProvider","name","options","factory","guarded","providerDisplayName","StoreContext","createContext","displayName","createStoreHook","strict","selector","store","useContext","resolvedStore","selectorRef","useRef","current","getSelectedSnapshot","useCallback","Error","useSyncExternalStore","useStoreSelector","factoryInternals","useParentStore","Provider","props","children","enabled","value","snapshotValue","storeRef","pendingNotifyRef","useLayoutEffect","jsx"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,52 +6,84 @@ import { ActivityContainer, ActivityScreen } from "../../shared/components/activ
6
6
  import { PortalProvider } from "../../shared/components/boundary/portal";
7
7
  import { Overlay } from "../../shared/components/overlay";
8
8
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
- import { withBlankStack } from "../../shared/providers/stack/blank-stack.provider";
10
- import { withStackCore } from "../../shared/providers/stack/core.provider";
9
+ import { BlankStackProvider, useBlankStackStore } from "../../shared/providers/stack/blank-stack.provider";
10
+ import { StackCoreProvider } from "../../shared/providers/stack/core.provider";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const BlankSceneRow = /*#__PURE__*/memo(function BlankSceneRow({
13
- scene,
14
- paintDriverRouteKey
12
+ const BlankNavigationProvider = /*#__PURE__*/memo(function BlankNavigationProvider({
13
+ children,
14
+ routeKey
15
15
  }) {
16
- const descriptor = scene.descriptor;
17
- const route = scene.route;
16
+ const navigation = useBlankStackStore(store => store?.scenesByKey[routeKey]?.descriptor.navigation);
17
+ const route = useBlankStackStore(store => store?.scenesByKey[routeKey]?.route);
18
+ if (!navigation || !route) {
19
+ throw new Error(`Blank stack scene "${routeKey}" was not found.`);
20
+ }
18
21
  return /*#__PURE__*/_jsx(NavigationContext.Provider, {
19
- value: descriptor.navigation,
22
+ value: navigation,
20
23
  children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
21
24
  value: route,
22
- children: /*#__PURE__*/_jsx(ActivityScreen, {
23
- activity: descriptor.activity,
24
- inactiveBehavior: descriptor.options.inactiveBehavior,
25
- paintDriverRouteKey: paintDriverRouteKey,
26
- hasNestedState: "state" in route,
27
- children: /*#__PURE__*/_jsx(ScreenComposer, {
28
- previous: scene.previousDescriptor,
29
- current: descriptor,
30
- next: scene.nextDescriptor,
31
- children: descriptor.render?.()
25
+ children: children
26
+ })
27
+ });
28
+ });
29
+ const BlankSceneContent = /*#__PURE__*/memo(function BlankSceneContent({
30
+ routeKey
31
+ }) {
32
+ const render = useBlankStackStore(store => store?.scenesByKey[routeKey]?.descriptor.render);
33
+ return render?.() ?? null;
34
+ });
35
+ const BlankSceneRow = /*#__PURE__*/memo(function BlankSceneRow({
36
+ routeKey
37
+ }) {
38
+ return /*#__PURE__*/_jsx(BlankNavigationProvider, {
39
+ routeKey: routeKey,
40
+ children: /*#__PURE__*/_jsx(ActivityScreen, {
41
+ routeKey: routeKey,
42
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
43
+ routeKey: routeKey,
44
+ children: /*#__PURE__*/_jsx(BlankSceneContent, {
45
+ routeKey: routeKey
32
46
  })
33
47
  })
34
48
  })
35
49
  });
36
50
  });
37
- export const StackView = withStackCore({
38
- TRANSITIONS_ALWAYS_ON: true,
39
- DISABLE_NATIVE_SCREENS: false
40
- }, withBlankStack(({
41
- scenes,
42
- shouldShowFloatOverlay
43
- }) => {
51
+ const StackViewContent = /*#__PURE__*/memo(function StackViewContent() {
52
+ const routeKeys = useBlankStackStore(store => store?.routeKeys ?? EMPTY_ROUTE_KEYS);
53
+ const shouldShowFloatOverlay = useBlankStackStore(store => store?.shouldShowFloatOverlay ?? false);
44
54
  return /*#__PURE__*/_jsxs(PortalProvider, {
45
55
  children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ActivityContainer, {
46
- children: scenes.map((scene, index) => {
47
- const route = scene.route;
48
- const paintDriverRouteKey = scenes[index + 2]?.route.key;
49
- return /*#__PURE__*/_jsx(BlankSceneRow, {
50
- scene: scene,
51
- paintDriverRouteKey: paintDriverRouteKey
52
- }, route.key);
53
- })
56
+ children: routeKeys.map(routeKey => /*#__PURE__*/_jsx(BlankSceneRow, {
57
+ routeKey: routeKey
58
+ }, routeKey))
54
59
  })]
55
60
  });
56
- }));
61
+ });
62
+ const EMPTY_ROUTE_KEYS = [];
63
+ export const StackView = /*#__PURE__*/memo(function StackView({
64
+ DISABLE_NATIVE_SCREENS,
65
+ DISABLE_NATIVE_SCREEN_CONTAINER,
66
+ TRANSITIONS_ALWAYS_ON,
67
+ STACK_TYPE,
68
+ state,
69
+ navigation,
70
+ descriptors,
71
+ describe
72
+ }) {
73
+ return /*#__PURE__*/_jsx(StackCoreProvider, {
74
+ config: {
75
+ TRANSITIONS_ALWAYS_ON: TRANSITIONS_ALWAYS_ON ?? true,
76
+ STACK_TYPE,
77
+ DISABLE_NATIVE_SCREENS: DISABLE_NATIVE_SCREENS ?? false,
78
+ DISABLE_NATIVE_SCREEN_CONTAINER
79
+ },
80
+ children: /*#__PURE__*/_jsx(BlankStackProvider, {
81
+ state: state,
82
+ navigation: navigation,
83
+ descriptors: descriptors,
84
+ describe: describe,
85
+ children: /*#__PURE__*/_jsx(StackViewContent, {})
86
+ })
87
+ });
88
+ });
57
89
  //# sourceMappingURL=stack-view.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","memo","ActivityContainer","ActivityScreen","PortalProvider","Overlay","ScreenComposer","withBlankStack","withStackCore","jsx","_jsx","jsxs","_jsxs","BlankSceneRow","scene","paintDriverRouteKey","descriptor","route","Provider","value","navigation","children","activity","inactiveBehavior","options","hasNestedState","previous","previousDescriptor","current","next","nextDescriptor","render","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","scenes","shouldShowFloatOverlay","Float","map","index","key"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,SAASC,IAAI,QAAQ,OAAO;AAC5B,SACCC,iBAAiB,EACjBC,cAAc,QACR,kCAAkC;AACzC,SAASC,cAAc,QAAQ,yCAAyC;AACxE,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,aAAa,QAAQ,4CAA4C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAY3E,MAAMC,aAAa,gBAAGZ,IAAI,CAAC,SAASY,aAAaA,CAAC;EACjDC,KAAK;EACLC;AACmB,CAAC,EAAE;EACtB,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;EACnC,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;EAEzB,oBACCP,IAAA,CAACX,iBAAiB,CAACmB,QAAQ;IAACC,KAAK,EAAEH,UAAU,CAACI,UAAW;IAAAC,QAAA,eACxDX,IAAA,CAACV,sBAAsB,CAACkB,QAAQ;MAACC,KAAK,EAAEF,KAAM;MAAAI,QAAA,eAC7CX,IAAA,CAACP,cAAc;QACdmB,QAAQ,EAAEN,UAAU,CAACM,QAAS;QAC9BC,gBAAgB,EAAEP,UAAU,CAACQ,OAAO,CAACD,gBAAiB;QACtDR,mBAAmB,EAAEA,mBAAoB;QACzCU,cAAc,EAAE,OAAO,IAAIR,KAAM;QAAAI,QAAA,eAEjCX,IAAA,CAACJ,cAAc;UACdoB,QAAQ,EAAEZ,KAAK,CAACa,kBAAmB;UACnCC,OAAO,EAAEZ,UAAW;UACpBa,IAAI,EAAEf,KAAK,CAACgB,cAAe;UAAAT,QAAA,EAE1BL,UAAU,CAACe,MAAM,GAAG;QAAC,CACP;MAAC,CACF;IAAC,CACe;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMC,SAAS,GAAGxB,aAAa,CACrC;EAAEyB,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAM,CAAC,EAC9D3B,cAAc,CACb,CAAC;EAAE4B,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACCxB,KAAA,CAACR,cAAc;IAAAiB,QAAA,GACbe,sBAAsB,gBAAG1B,IAAA,CAACL,OAAO,CAACgC,KAAK,IAAE,CAAC,GAAG,IAAI,eAElD3B,IAAA,CAACR,iBAAiB;MAAAmB,QAAA,EAChBc,MAAM,CAACG,GAAG,CAAC,CAACxB,KAAK,EAAEyB,KAAK,KAAK;QAC7B,MAAMtB,KAAK,GAAGH,KAAK,CAACG,KAAK;QACzB,MAAMF,mBAAmB,GAAGoB,MAAM,CAACI,KAAK,GAAG,CAAC,CAAC,EAAEtB,KAAK,CAACuB,GAAG;QAExD,oBACC9B,IAAA,CAACG,aAAa;UAEbC,KAAK,EAAEA,KAAM;UACbC,mBAAmB,EAAEA;QAAoB,GAFpCE,KAAK,CAACuB,GAGX,CAAC;MAEJ,CAAC;IAAC,CACgB,CAAC;EAAA,CACL,CAAC;AAEnB,CACD,CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","memo","ActivityContainer","ActivityScreen","PortalProvider","Overlay","ScreenComposer","BlankStackProvider","useBlankStackStore","StackCoreProvider","jsx","_jsx","jsxs","_jsxs","BlankNavigationProvider","children","routeKey","navigation","store","scenesByKey","descriptor","route","Error","Provider","value","BlankSceneContent","render","BlankSceneRow","StackViewContent","routeKeys","EMPTY_ROUTE_KEYS","shouldShowFloatOverlay","Float","map","StackView","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","TRANSITIONS_ALWAYS_ON","STACK_TYPE","state","descriptors","describe","config"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}