react-native-screen-transitions 3.6.0 → 3.7.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/blank-stack/components/stack-view.js +35 -39
  3. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  4. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
  5. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  6. package/lib/commonjs/component-stack/components/stack-view.js +4 -11
  7. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  8. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +1 -1
  9. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +6 -0
  10. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  11. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js +28 -0
  12. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js.map +1 -0
  13. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js +75 -0
  14. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -0
  15. package/lib/commonjs/shared/adapters/with-screen-transitions/options.js +103 -0
  16. package/lib/commonjs/shared/adapters/with-screen-transitions/options.js.map +1 -0
  17. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +143 -0
  18. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
  19. package/lib/commonjs/shared/adapters/with-screen-transitions/types.js +6 -0
  20. package/lib/commonjs/shared/adapters/with-screen-transitions/types.js.map +1 -0
  21. package/lib/commonjs/shared/components/activity/helpers.js +9 -0
  22. package/lib/commonjs/shared/components/activity/helpers.js.map +1 -0
  23. package/lib/commonjs/shared/components/activity/index.js +20 -0
  24. package/lib/commonjs/shared/components/activity/index.js.map +1 -0
  25. package/lib/commonjs/shared/components/activity/variants/activity-container.js +29 -0
  26. package/lib/commonjs/shared/components/activity/variants/activity-container.js.map +1 -0
  27. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +107 -0
  28. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -0
  29. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +10 -4
  30. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  31. package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js +13 -1
  32. package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
  33. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
  34. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  35. package/lib/commonjs/shared/components/screen-lifecycle/index.js +1 -1
  36. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  37. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +10 -4
  38. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  39. package/lib/commonjs/shared/hooks/navigation/use-stack.js +63 -6
  40. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  41. package/lib/commonjs/shared/index.js +8 -0
  42. package/lib/commonjs/shared/index.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +18 -29
  44. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/descriptors/index.js +6 -0
  46. package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
  48. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +1 -1
  50. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js +4 -1
  52. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
  54. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +4 -1
  56. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
  60. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  61. package/lib/commonjs/shared/providers/stack/direct.provider.js +4 -3
  62. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  63. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +199 -0
  64. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  65. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +62 -0
  66. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  67. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +81 -0
  68. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  69. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +123 -0
  70. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  71. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +6 -0
  72. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  73. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js +24 -0
  74. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  75. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +131 -0
  76. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  77. package/lib/commonjs/shared/providers/stack/managed.provider.js +18 -29
  78. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  79. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  80. package/lib/commonjs/shared/utils/create-provider.js +99 -10
  81. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  82. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  83. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  84. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  85. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  86. package/lib/commonjs/shared/utils/visibility-block-offset.js +13 -0
  87. package/lib/commonjs/shared/utils/visibility-block-offset.js.map +1 -0
  88. package/lib/module/blank-stack/components/stack-view.js +36 -40
  89. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  90. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
  91. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  92. package/lib/module/component-stack/components/stack-view.js +4 -11
  93. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  94. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +1 -1
  95. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +6 -0
  96. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  97. package/lib/module/shared/adapters/with-screen-transitions/context.js +23 -0
  98. package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -0
  99. package/lib/module/shared/adapters/with-screen-transitions/index.js +66 -0
  100. package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -0
  101. package/lib/module/shared/adapters/with-screen-transitions/options.js +98 -0
  102. package/lib/module/shared/adapters/with-screen-transitions/options.js.map +1 -0
  103. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +138 -0
  104. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
  105. package/lib/module/shared/adapters/with-screen-transitions/types.js +4 -0
  106. package/lib/module/shared/adapters/with-screen-transitions/types.js.map +1 -0
  107. package/lib/module/shared/components/activity/helpers.js +5 -0
  108. package/lib/module/shared/components/activity/helpers.js.map +1 -0
  109. package/lib/module/shared/components/activity/index.js +5 -0
  110. package/lib/module/shared/components/activity/index.js.map +1 -0
  111. package/lib/module/shared/components/activity/variants/activity-container.js +24 -0
  112. package/lib/module/shared/components/activity/variants/activity-container.js.map +1 -0
  113. package/lib/module/shared/components/activity/variants/activity-screen.js +103 -0
  114. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -0
  115. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +11 -5
  116. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  117. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js +11 -0
  118. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
  119. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
  120. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  121. package/lib/module/shared/components/screen-lifecycle/index.js +1 -1
  122. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  123. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +11 -5
  124. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  125. package/lib/module/shared/hooks/navigation/use-stack.js +63 -6
  126. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  127. package/lib/module/shared/index.js +3 -0
  128. package/lib/module/shared/index.js.map +1 -1
  129. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +17 -29
  130. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  131. package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
  132. package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
  133. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
  134. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  135. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +2 -2
  136. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  137. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +5 -2
  138. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  139. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
  140. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  141. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +5 -2
  142. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  143. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
  144. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  145. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
  146. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  147. package/lib/module/shared/providers/stack/direct.provider.js +5 -4
  148. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  149. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +194 -0
  150. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  151. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +57 -0
  152. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  153. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +69 -0
  154. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  155. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +118 -0
  156. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  157. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +4 -0
  158. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  159. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js +19 -0
  160. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  161. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +126 -0
  162. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  163. package/lib/module/shared/providers/stack/managed.provider.js +19 -30
  164. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  165. package/lib/module/shared/types/stack.types.js.map +1 -1
  166. package/lib/module/shared/utils/create-provider.js +100 -11
  167. package/lib/module/shared/utils/create-provider.js.map +1 -1
  168. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  169. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  170. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  171. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  172. package/lib/module/shared/utils/visibility-block-offset.js +8 -0
  173. package/lib/module/shared/utils/visibility-block-offset.js.map +1 -0
  174. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  175. package/lib/typescript/blank-stack/index.d.ts +1 -1
  176. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  177. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +4 -6
  178. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  179. package/lib/typescript/blank-stack/types.d.ts +41 -29
  180. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  181. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  182. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -1
  183. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +5 -0
  184. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  185. package/lib/typescript/native-stack/types.d.ts +25 -0
  186. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  187. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +15 -0
  188. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -0
  189. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +11 -0
  190. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -0
  191. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts +16 -0
  192. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts.map +1 -0
  193. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +12 -0
  194. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -0
  195. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts +24 -0
  196. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts.map +1 -0
  197. package/lib/typescript/shared/components/activity/helpers.d.ts +4 -0
  198. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -0
  199. package/lib/typescript/shared/components/activity/index.d.ts +3 -0
  200. package/lib/typescript/shared/components/activity/index.d.ts.map +1 -0
  201. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +6 -0
  202. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -0
  203. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +13 -0
  204. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -0
  205. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
  206. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
  207. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts +1 -0
  208. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -1
  209. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -2
  210. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  211. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  212. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  213. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +13 -1
  214. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  215. package/lib/typescript/shared/index.d.ts +15 -11
  216. package/lib/typescript/shared/index.d.ts.map +1 -1
  217. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +11 -3
  218. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  219. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
  220. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
  221. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  222. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts +1 -1
  223. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -1
  224. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -1
  225. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts +1 -1
  226. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -1
  227. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -1
  228. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +3 -1
  229. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  230. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  231. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +13 -0
  232. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +1 -0
  233. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +12 -0
  234. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +1 -0
  235. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts +11 -0
  236. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +1 -0
  237. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +12 -0
  238. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +1 -0
  239. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +40 -0
  240. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +1 -0
  241. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +12 -0
  242. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +1 -0
  243. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +13 -0
  244. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +1 -0
  245. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  246. package/lib/typescript/shared/types/index.d.ts +2 -2
  247. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  248. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts +3 -9
  249. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +1 -1
  250. package/lib/typescript/shared/types/screen.types.d.ts +24 -0
  251. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  252. package/lib/typescript/shared/types/stack.types.d.ts +7 -0
  253. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  254. package/lib/typescript/shared/utils/create-provider.d.ts +17 -3
  255. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  256. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +2 -1
  257. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
  258. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +2 -1
  259. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  260. package/lib/typescript/shared/utils/visibility-block-offset.d.ts +2 -0
  261. package/lib/typescript/shared/utils/visibility-block-offset.d.ts.map +1 -0
  262. package/package.json +11 -1
  263. package/src/blank-stack/components/stack-view.tsx +54 -48
  264. package/src/blank-stack/index.ts +1 -0
  265. package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +7 -15
  266. package/src/blank-stack/types.ts +44 -29
  267. package/src/component-stack/components/stack-view.tsx +4 -11
  268. package/src/component-stack/navigators/create-component-stack-navigator.tsx +1 -1
  269. package/src/native-stack/navigators/createNativeStackNavigator.tsx +5 -0
  270. package/src/native-stack/types.ts +25 -0
  271. package/src/shared/adapters/with-screen-transitions/context.tsx +42 -0
  272. package/src/shared/adapters/with-screen-transitions/index.tsx +155 -0
  273. package/src/shared/adapters/with-screen-transitions/options.ts +172 -0
  274. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +233 -0
  275. package/src/shared/adapters/with-screen-transitions/types.ts +28 -0
  276. package/src/shared/components/activity/helpers.ts +8 -0
  277. package/src/shared/components/activity/index.tsx +2 -0
  278. package/src/shared/components/activity/variants/activity-container.tsx +25 -0
  279. package/src/shared/components/activity/variants/activity-screen.tsx +133 -0
  280. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +23 -4
  281. package/src/shared/components/create-boundary-component/utils/measured-bounds.ts +15 -0
  282. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +9 -26
  283. package/src/shared/components/screen-lifecycle/index.tsx +1 -1
  284. package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -3
  285. package/src/shared/hooks/navigation/use-stack.tsx +115 -6
  286. package/src/shared/index.ts +9 -0
  287. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +31 -31
  288. package/src/shared/providers/screen/descriptors/index.tsx +1 -0
  289. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +2 -1
  290. package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +2 -2
  291. package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +7 -2
  292. package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +10 -2
  293. package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +7 -2
  294. package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +8 -3
  295. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +17 -1
  296. package/src/shared/providers/stack/direct.provider.tsx +13 -4
  297. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.ts +368 -0
  298. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts +129 -0
  299. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts +139 -0
  300. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts +198 -0
  301. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/types.ts +57 -0
  302. package/src/shared/providers/stack/helpers/managed-stack-state/index.ts +40 -0
  303. package/src/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.ts +160 -0
  304. package/src/shared/providers/stack/managed.provider.tsx +23 -39
  305. package/src/shared/types/index.ts +3 -0
  306. package/src/shared/types/providers/managed-stack.types.ts +6 -8
  307. package/src/shared/types/screen.types.ts +25 -0
  308. package/src/shared/types/stack.types.ts +11 -0
  309. package/src/shared/utils/create-provider.tsx +183 -8
  310. package/src/shared/utils/navigation/resolve-scene-neighbors.ts +9 -4
  311. package/src/shared/utils/navigation/sync-routes-with-removed.ts +38 -7
  312. package/src/shared/utils/visibility-block-offset.ts +4 -0
  313. package/lib/commonjs/blank-stack/components/stack-view.native.js +0 -64
  314. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +0 -1
  315. package/lib/commonjs/shared/components/native-screen-container.js +0 -42
  316. package/lib/commonjs/shared/components/native-screen-container.js.map +0 -1
  317. package/lib/commonjs/shared/components/native-screen.js +0 -125
  318. package/lib/commonjs/shared/components/native-screen.js.map +0 -1
  319. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -51
  320. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  321. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -15
  322. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  323. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -14
  324. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  325. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -13
  326. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  327. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js +0 -101
  328. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  329. package/lib/module/blank-stack/components/stack-view.native.js +0 -60
  330. package/lib/module/blank-stack/components/stack-view.native.js.map +0 -1
  331. package/lib/module/shared/components/native-screen-container.js +0 -37
  332. package/lib/module/shared/components/native-screen-container.js.map +0 -1
  333. package/lib/module/shared/components/native-screen.js +0 -119
  334. package/lib/module/shared/components/native-screen.js.map +0 -1
  335. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -47
  336. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  337. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -10
  338. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  339. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -9
  340. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  341. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -8
  342. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  343. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js +0 -95
  344. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  345. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +0 -3
  346. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +0 -1
  347. package/lib/typescript/shared/components/native-screen-container.d.ts +0 -6
  348. package/lib/typescript/shared/components/native-screen-container.d.ts.map +0 -1
  349. package/lib/typescript/shared/components/native-screen.d.ts +0 -12
  350. package/lib/typescript/shared/components/native-screen.d.ts.map +0 -1
  351. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts +0 -10
  352. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts.map +0 -1
  353. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts +0 -2
  354. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts.map +0 -1
  355. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts +0 -3
  356. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts.map +0 -1
  357. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts +0 -3
  358. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts.map +0 -1
  359. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts +0 -19
  360. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts.map +0 -1
  361. package/src/blank-stack/components/stack-view.native.tsx +0 -74
  362. package/src/shared/components/native-screen-container.tsx +0 -33
  363. package/src/shared/components/native-screen.tsx +0 -176
  364. package/src/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts +0 -65
  365. package/src/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts +0 -15
  366. package/src/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts +0 -12
  367. package/src/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts +0 -11
  368. package/src/shared/providers/stack/helpers/use-local-routes/index.ts +0 -147
@@ -1,57 +1,53 @@
1
1
  "use strict";
2
2
 
3
- import { Fragment } from "react";
4
- import { NativeScreen } from "../../shared/components/native-screen";
5
- import { NativeScreenContainer } from "../../shared/components/native-screen-container";
3
+ import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
4
+ import { Fragment, memo } from "react";
5
+ import { ActivityContainer, ActivityScreen } from "../../shared/components/activity";
6
6
  import { Overlay } from "../../shared/components/overlay";
7
- import { SceneView } from "../../shared/components/scene-view";
8
7
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
8
  import { withStackCore } from "../../shared/providers/stack/core.provider";
10
9
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
11
- import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
12
- import { isFabric } from "../../shared/utils/platform";
13
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const BlankSceneRow = /*#__PURE__*/memo(function BlankSceneRow({
12
+ scene,
13
+ paintDriverRouteKey
14
+ }) {
15
+ const descriptor = scene.descriptor;
16
+ const route = scene.route;
17
+ return /*#__PURE__*/_jsx(NavigationContext.Provider, {
18
+ value: descriptor.navigation,
19
+ children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
20
+ value: route,
21
+ children: /*#__PURE__*/_jsx(ActivityScreen, {
22
+ activity: descriptor.activity,
23
+ inactiveBehavior: descriptor.options.inactiveBehavior,
24
+ paintDriverRouteKey: paintDriverRouteKey,
25
+ hasNestedState: "state" in route,
26
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
27
+ previous: scene.previousDescriptor,
28
+ current: descriptor,
29
+ next: scene.nextDescriptor,
30
+ children: descriptor.render?.()
31
+ })
32
+ })
33
+ })
34
+ });
35
+ });
14
36
  export const StackView = withStackCore({
15
37
  TRANSITIONS_ALWAYS_ON: true,
16
- DISABLE_NATIVE_SCREENS: true
38
+ DISABLE_NATIVE_SCREENS: false
17
39
  }, withManagedStack(({
18
- descriptors,
19
- focusedIndex,
20
40
  scenes,
21
- shouldShowFloatOverlay,
22
- closingRouteMap
41
+ shouldShowFloatOverlay
23
42
  }) => {
24
- const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
25
43
  return /*#__PURE__*/_jsxs(Fragment, {
26
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(NativeScreenContainer, {
27
- children: scenes.map((scene, sceneIndex) => {
28
- const descriptor = scene.descriptor;
44
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ActivityContainer, {
45
+ children: scenes.map((scene, index) => {
29
46
  const route = scene.route;
30
- const isFocused = focusedIndex === sceneIndex;
31
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
32
- const {
33
- previousDescriptor,
34
- nextDescriptor
35
- } = resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
36
- const isPreloaded = descriptors[route.key] === undefined;
37
-
38
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
39
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
40
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
41
- return /*#__PURE__*/_jsx(NativeScreen, {
42
- isPreloaded: isPreloaded,
43
- index: sceneIndex,
44
- routeKey: route.key,
45
- shouldFreeze: shouldFreeze,
46
- freezeOnBlur: descriptor.options.freezeOnBlur,
47
- children: /*#__PURE__*/_jsx(ScreenComposer, {
48
- previous: previousDescriptor,
49
- current: descriptor,
50
- next: nextDescriptor,
51
- children: /*#__PURE__*/_jsx(SceneView, {
52
- descriptor: descriptor
53
- }, route.key)
54
- })
47
+ const paintDriverRouteKey = scenes[index + 2]?.route.key;
48
+ return /*#__PURE__*/_jsx(BlankSceneRow, {
49
+ scene: scene,
50
+ paintDriverRouteKey: paintDriverRouteKey
55
51
  }, route.key);
56
52
  })
57
53
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["Fragment","NativeScreen","NativeScreenContainer","Overlay","SceneView","ScreenComposer","withStackCore","withManagedStack","resolveSceneNeighbors","isFabric","jsx","_jsx","jsxs","_jsxs","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","closingRouteMap","isRouteClosing","routeKey","Boolean","current","children","Float","map","scene","sceneIndex","descriptor","route","isFocused","isBelowFocused","previousDescriptor","nextDescriptor","isPreloaded","key","undefined","shouldFreeze","index","freezeOnBlur","options","previous","next"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,YAAY,QAAQ,uCAAuC;AACpE,SAASC,qBAAqB,QAAQ,iDAAiD;AACvF,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,qBAAqB,QAAQ,uDAAuD;AAC7F,SAASC,QAAQ,QAAQ,6BAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMvD,OAAO,MAAMC,SAAS,GAAGR,aAAa,CACrC;EAAES,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAK,CAAC,EAC7DT,gBAAgB,CACf,CAAC;EACAU,WAAW;EACXC,YAAY;EACZC,MAAM;EACNC,sBAAsB;EACtBC;AACD,CAAC,KAAK;EACL,MAAMC,cAAc,GAAIC,QAAgB,IACvCC,OAAO,CAACH,eAAe,CAACI,OAAO,CAACF,QAAQ,CAAC,CAAC;EAE3C,oBACCV,KAAA,CAACb,QAAQ;IAAA0B,QAAA,GACPN,sBAAsB,gBAAGT,IAAA,CAACR,OAAO,CAACwB,KAAK,IAAE,CAAC,GAAG,IAAI,eAElDhB,IAAA,CAACT,qBAAqB;MAAAwB,QAAA,EACpBP,MAAM,CAACS,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;QACnC,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;QACzB,MAAMC,SAAS,GAAGf,YAAY,KAAKY,UAAU;QAC7C,MAAMI,cAAc,GAAGhB,YAAY,GAAG,CAAC,KAAKY,UAAU;QAEtD,MAAM;UAAEK,kBAAkB;UAAEC;QAAe,CAAC,GAC3C5B,qBAAqB,CAACW,MAAM,EAAEW,UAAU,EAAER,cAAc,CAAC;QAE1D,MAAMe,WAAW,GAAGpB,WAAW,CAACe,KAAK,CAACM,GAAG,CAAC,KAAKC,SAAS;;QAExD;QACA;QACA,MAAMC,YAAY,GAAG/B,QAAQ,CAAC,CAAC,GAC5B,CAAC4B,WAAW,IAAI,CAACJ,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACG,WAAW,IAAI,CAACJ,SAAS;QAC7B,oBACCtB,IAAA,CAACV,YAAY;UAEZoC,WAAW,EAAEA,WAAY;UACzBI,KAAK,EAAEX,UAAW;UAClBP,QAAQ,EAAES,KAAK,CAACM,GAAI;UACpBE,YAAY,EAAEA,YAAa;UAC3BE,YAAY,EAAEX,UAAU,CAACY,OAAO,CAACD,YAAa;UAAAhB,QAAA,eAE9Cf,IAAA,CAACN,cAAc;YACduC,QAAQ,EAAET,kBAAmB;YAC7BV,OAAO,EAAEM,UAAW;YACpBc,IAAI,EAAET,cAAe;YAAAV,QAAA,eAErBf,IAAA,CAACP,SAAS;cAAiB2B,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACM,GAA8B;UAAC,CACtC;QAAC,GAbZN,KAAK,CAACM,GAcE,CAAC;MAEjB,CAAC;IAAC,CACoB,CAAC;EAAA,CACf,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","Fragment","memo","ActivityContainer","ActivityScreen","Overlay","ScreenComposer","withStackCore","withManagedStack","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,QAAQ,EAAEC,IAAI,QAAQ,OAAO;AACtC,SACCC,iBAAiB,EACjBC,cAAc,QACR,kCAAkC;AACzC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYjF,MAAMC,aAAa,gBAAGX,IAAI,CAAC,SAASW,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,CAACN,cAAc;QACdkB,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,GAAGzB,aAAa,CACrC;EAAE0B,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAM,CAAC,EAC9D1B,gBAAgB,CACf,CAAC;EAAE2B,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACCxB,KAAA,CAACX,QAAQ;IAAAoB,QAAA,GACPe,sBAAsB,gBAAG1B,IAAA,CAACL,OAAO,CAACgC,KAAK,IAAE,CAAC,GAAG,IAAI,eAElD3B,IAAA,CAACP,iBAAiB;MAAAkB,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,CACX,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
@@ -15,8 +15,6 @@ function BlankStackNavigatorInner({
15
15
  screenListeners,
16
16
  screenOptions,
17
17
  screenLayout,
18
- DISABLE_NATIVE_SCREENS,
19
- DISABLE_NATIVE_SCREEN_CONTAINER,
20
18
  ...rest
21
19
  }) {
22
20
  const {
@@ -38,8 +36,6 @@ function BlankStackNavigatorInner({
38
36
  return /*#__PURE__*/_jsx(NavigationContent, {
39
37
  children: /*#__PURE__*/_jsx(StackView, {
40
38
  ...rest,
41
- DISABLE_NATIVE_SCREENS: DISABLE_NATIVE_SCREENS,
42
- DISABLE_NATIVE_SCREEN_CONTAINER: DISABLE_NATIVE_SCREEN_CONTAINER,
43
39
  state: state,
44
40
  navigation: navigation,
45
41
  descriptors: descriptors,
@@ -48,17 +44,16 @@ function BlankStackNavigatorInner({
48
44
  });
49
45
  }
50
46
  function BlankStackNavigator({
47
+ enableNativeScreens,
51
48
  independent = false,
52
- enableNativeScreens = true,
49
+ nativeScreens,
53
50
  ...rest
54
51
  }) {
55
52
  const isNested = React.useContext(BlankStackContext);
53
+ const nativeScreensEnabled = nativeScreens ?? enableNativeScreens ?? true;
56
54
  const navigator = /*#__PURE__*/_jsx(BlankStackNavigatorInner, {
57
55
  ...rest,
58
- ...(!enableNativeScreens && {
59
- DISABLE_NATIVE_SCREENS: true
60
- }),
61
- DISABLE_NATIVE_SCREEN_CONTAINER: independent
56
+ DISABLE_NATIVE_SCREENS: !nativeScreensEnabled
62
57
  });
63
58
  if (!independent || isNested) {
64
59
  return navigator;
@@ -77,14 +72,12 @@ BlankStackNavigator.displayName = "BlankStackNavigator";
77
72
  * Creates a blank stack navigator with gesture-driven transitions.
78
73
  *
79
74
  * By default, blank stack behaves like the existing top-level blank stack:
80
- * it participates in the current navigation tree and uses native screen
81
- * primitives on supported native platforms.
75
+ * it participates in the current navigation tree and renders screens with
76
+ * react-native-screens.
82
77
  *
83
78
  * Blank stack also accepts navigator-specific props for embedded-flow behavior:
79
+ * - `nativeScreens: false` renders blank-stack screens as regular React Native views
84
80
  * - `independent: true` creates an isolated navigator for nested flows
85
- * - `enableNativeScreens: false` renders the stack with regular views instead
86
- * of `react-native-screens`
87
- *
88
81
  * In the dynamic API, pass these to `<Stack.Navigator />`.
89
82
  * In the static API, pass them in the same config object as `screens`.
90
83
  */
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","React","useTabPressReset","StackView","jsx","_jsx","BlankStackContext","createContext","displayName","BlankStackNavigatorInner","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","rest","state","describe","descriptors","navigation","NavigationContent","index","key","BlankStackNavigator","independent","enableNativeScreens","isNested","useContext","navigator","Provider","value","createBlankStackNavigator","config"],"sourceRoot":"../../../../src","sources":["blank-stack/navigators/create-blank-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EAKzBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,gBAAgB,QAAQ,mDAAmD;AACpF,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAiBrD,MAAMC,iBAAiB,gBAAGL,KAAK,CAACM,aAAa,CAAU,KAAK,CAAC;AAC7DD,iBAAiB,CAACE,WAAW,GAAG,mBAAmB;AAEnD,SAASC,wBAAwBA,CAAC;EACjCC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,sBAAsB;EACtBC,+BAA+B;EAC/B,GAAGC;AAC2B,CAAC,EAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpExB,oBAAoB,CAMlBD,WAAW,EAAE;IACdW,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHd,gBAAgB,CAACqB,UAAU,EAAEH,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACM,GAAG,CAAC;EAEpD,oBACCrB,IAAA,CAACmB,iBAAiB;IAAAZ,QAAA,eACjBP,IAAA,CAACF,SAAS;MAAA,GACLgB,IAAI;MACRF,sBAAsB,EAAEA,sBAAuB;MAC/CC,+BAA+B,EAAEA,+BAAgC;MACjEE,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;AAEA,SAASM,mBAAmBA,CAAC;EAC5BC,WAAW,GAAG,KAAK;EACnBC,mBAAmB,GAAG,IAAI;EAC1B,GAAGV;AACsB,CAAC,EAAE;EAC5B,MAAMW,QAAQ,GAAG7B,KAAK,CAAC8B,UAAU,CAACzB,iBAAiB,CAAC;EAEpD,MAAM0B,SAAS,gBACd3B,IAAA,CAACI,wBAAwB;IAAA,GACpBU,IAAI;IAAA,IACH,CAACU,mBAAmB,IAAI;MAC5BZ,sBAAsB,EAAE;IACzB,CAAC;IACDC,+BAA+B,EAAEU;EAAY,CAC7C,CACD;EAED,IAAI,CAACA,WAAW,IAAIE,QAAQ,EAAE;IAC7B,OAAOE,SAAS;EACjB;EAEA,oBACC3B,IAAA,CAACP,yBAAyB;IAAAc,QAAA,eACzBP,IAAA,CAACR,mBAAmB;MAAAe,QAAA,eACnBP,IAAA,CAACC,iBAAiB,CAAC2B,QAAQ;QAACC,KAAK,EAAE,IAAK;QAAAtB,QAAA,EACtCoB;MAAS,CACiB;IAAC,CACT;EAAC,CACI,CAAC;AAE9B;AAEAL,mBAAmB,CAACnB,WAAW,GAAG,qBAAqB;AAqBvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS2B,yBAAyBA,CAQvCC,MAAe,EAAmC;EACnD,OAAOxC,sBAAsB,CAAC+B,mBAAmB,CAAC,CAACS,MAAM,CAAC;AAC3D","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","React","useTabPressReset","StackView","jsx","_jsx","BlankStackContext","createContext","displayName","BlankStackNavigatorInner","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","index","key","BlankStackNavigator","enableNativeScreens","independent","nativeScreens","isNested","useContext","nativeScreensEnabled","navigator","DISABLE_NATIVE_SCREENS","Provider","value","createBlankStackNavigator","config"],"sourceRoot":"../../../../src","sources":["blank-stack/navigators/create-blank-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EAKzBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,gBAAgB,QAAQ,mDAAmD;AACpF,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBrD,MAAMC,iBAAiB,gBAAGL,KAAK,CAACM,aAAa,CAAU,KAAK,CAAC;AAC7DD,iBAAiB,CAACE,WAAW,GAAG,mBAAmB;AAEnD,SAASC,wBAAwBA,CAAC;EACjCC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AAC2B,CAAC,EAAE;EACjC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpEtB,oBAAoB,CAMlBD,WAAW,EAAE;IACdW,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHd,gBAAgB,CAACmB,UAAU,EAAEH,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACM,GAAG,CAAC;EAEpD,oBACCnB,IAAA,CAACiB,iBAAiB;IAAAV,QAAA,eACjBP,IAAA,CAACF,SAAS;MAAA,GACLc,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;AAEA,SAASM,mBAAmBA,CAAC;EAC5BC,mBAAmB;EACnBC,WAAW,GAAG,KAAK;EACnBC,aAAa;EACb,GAAGX;AACsB,CAAC,EAAE;EAC5B,MAAMY,QAAQ,GAAG5B,KAAK,CAAC6B,UAAU,CAACxB,iBAAiB,CAAC;EACpD,MAAMyB,oBAAoB,GAAGH,aAAa,IAAIF,mBAAmB,IAAI,IAAI;EAEzE,MAAMM,SAAS,gBACd3B,IAAA,CAACI,wBAAwB;IAAA,GACpBQ,IAAI;IACRgB,sBAAsB,EAAE,CAACF;EAAqB,CAC9C,CACD;EAED,IAAI,CAACJ,WAAW,IAAIE,QAAQ,EAAE;IAC7B,OAAOG,SAAS;EACjB;EAEA,oBACC3B,IAAA,CAACP,yBAAyB;IAAAc,QAAA,eACzBP,IAAA,CAACR,mBAAmB;MAAAe,QAAA,eACnBP,IAAA,CAACC,iBAAiB,CAAC4B,QAAQ;QAACC,KAAK,EAAE,IAAK;QAAAvB,QAAA,EACtCoB;MAAS,CACiB;IAAC,CACT;EAAC,CACI,CAAC;AAE9B;AAEAP,mBAAmB,CAACjB,WAAW,GAAG,qBAAqB;AAqBvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS4B,yBAAyBA,CAQvCC,MAAe,EAAmC;EACnD,OAAOzC,sBAAsB,CAAC6B,mBAAmB,CAAC,CAACY,MAAM,CAAC;AAC3D","ignoreList":[]}
@@ -7,7 +7,6 @@ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
7
7
  import { withStackCore } from "../../shared/providers/stack/core.provider";
8
8
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
9
9
  import { StackType } from "../../shared/types/stack.types";
10
- import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
11
10
  import { ComponentScreen } from "./component-screen";
12
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
12
  export const StackView = withStackCore({
@@ -15,24 +14,18 @@ export const StackView = withStackCore({
15
14
  STACK_TYPE: StackType.COMPONENT
16
15
  }, withManagedStack(({
17
16
  scenes,
18
- shouldShowFloatOverlay,
19
- closingRouteMap
17
+ shouldShowFloatOverlay
20
18
  }) => {
21
- const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
22
19
  return /*#__PURE__*/_jsxs(Fragment, {
23
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, scenes.map((scene, sceneIndex) => {
20
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, scenes.map(scene => {
24
21
  const descriptor = scene.descriptor;
25
22
  const route = scene.route;
26
- const {
27
- previousDescriptor,
28
- nextDescriptor
29
- } = resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
30
23
  return /*#__PURE__*/_jsx(ComponentScreen, {
31
24
  routeKey: route.key,
32
25
  children: /*#__PURE__*/_jsx(ScreenComposer, {
33
- previous: previousDescriptor,
26
+ previous: scene.previousDescriptor,
34
27
  current: descriptor,
35
- next: nextDescriptor,
28
+ next: scene.nextDescriptor,
36
29
  children: /*#__PURE__*/_jsx(SceneView, {
37
30
  descriptor: descriptor
38
31
  }, route.key)
@@ -1 +1 @@
1
- {"version":3,"names":["Fragment","Overlay","SceneView","ScreenComposer","withStackCore","withManagedStack","StackType","resolveSceneNeighbors","ComponentScreen","jsx","_jsx","jsxs","_jsxs","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","scenes","shouldShowFloatOverlay","closingRouteMap","isRouteClosing","routeKey","Boolean","current","children","Float","map","scene","sceneIndex","descriptor","route","previousDescriptor","nextDescriptor","key","previous","next"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,qBAAqB,QAAQ,uDAAuD;AAK7F,SAASC,eAAe,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErD,OAAO,MAAMC,SAAS,GAAGT,aAAa,CACrC;EAAEU,qBAAqB,EAAE,IAAI;EAAEC,UAAU,EAAET,SAAS,CAACU;AAAU,CAAC,EAChEX,gBAAgB,CACf,CAAC;EAAEY,MAAM;EAAEC,sBAAsB;EAAEC;AAAgB,CAAC,KAAK;EACxD,MAAMC,cAAc,GAAIC,QAAgB,IACvCC,OAAO,CAACH,eAAe,CAACI,OAAO,CAACF,QAAQ,CAAC,CAAC;EAE3C,oBACCT,KAAA,CAACZ,QAAQ;IAAAwB,QAAA,GACPN,sBAAsB,gBAAGR,IAAA,CAACT,OAAO,CAACwB,KAAK,IAAE,CAAC,GAAG,IAAI,EAEjDR,MAAM,CAACS,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;MAClC,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;MACnC,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;MAEzB,MAAM;QAAEC,kBAAkB;QAAEC;MAAe,CAAC,GAC3CzB,qBAAqB,CAACU,MAAM,EAAEW,UAAU,EAAER,cAAc,CAAC;MAE1D,oBACCV,IAAA,CAACF,eAAe;QAAiBa,QAAQ,EAAES,KAAK,CAACG,GAAI;QAAAT,QAAA,eACpDd,IAAA,CAACP,cAAc;UACd+B,QAAQ,EAAEH,kBAAmB;UAC7BR,OAAO,EAAEM,UAAW;UACpBM,IAAI,EAAEH,cAAe;UAAAR,QAAA,eAErBd,IAAA,CAACR,SAAS;YAAiB2B,UAAU,EAAEA;UAAW,GAAlCC,KAAK,CAACG,GAA8B;QAAC,CACtC;MAAC,GAPIH,KAAK,CAACG,GAQX,CAAC;IAEpB,CAAC,CAAC;EAAA,CACO,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Fragment","Overlay","SceneView","ScreenComposer","withStackCore","withManagedStack","StackType","ComponentScreen","jsx","_jsx","jsxs","_jsxs","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","scenes","shouldShowFloatOverlay","children","Float","map","scene","descriptor","route","routeKey","key","previous","previousDescriptor","current","next","nextDescriptor"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAK1D,SAASC,eAAe,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErD,OAAO,MAAMC,SAAS,GAAGR,aAAa,CACrC;EAAES,qBAAqB,EAAE,IAAI;EAAEC,UAAU,EAAER,SAAS,CAACS;AAAU,CAAC,EAChEV,gBAAgB,CACf,CAAC;EAAEW,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACCN,KAAA,CAACX,QAAQ;IAAAkB,QAAA,GACPD,sBAAsB,gBAAGR,IAAA,CAACR,OAAO,CAACkB,KAAK,IAAE,CAAC,GAAG,IAAI,EAEjDH,MAAM,CAACI,GAAG,CAAEC,KAAK,IAAK;MACtB,MAAMC,UAAU,GAAGD,KAAK,CAACC,UAAU;MACnC,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK;MAEzB,oBACCd,IAAA,CAACF,eAAe;QAAiBiB,QAAQ,EAAED,KAAK,CAACE,GAAI;QAAAP,QAAA,eACpDT,IAAA,CAACN,cAAc;UACduB,QAAQ,EAAEL,KAAK,CAACM,kBAAmB;UACnCC,OAAO,EAAEN,UAAW;UACpBO,IAAI,EAAER,KAAK,CAACS,cAAe;UAAAZ,QAAA,eAE3BT,IAAA,CAACP,SAAS;YAAiBoB,UAAU,EAAEA;UAAW,GAAlCC,KAAK,CAACE,GAA8B;QAAC,CACtC;MAAC,GAPIF,KAAK,CAACE,GAQX,CAAC;IAEpB,CAAC,CAAC;EAAA,CACO,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
@@ -76,7 +76,7 @@ function IsolatedComponentStackNavigator(props) {
76
76
  * @deprecated Component stack was originally introduced for independent,
77
77
  * embedded navigation flows. Blank stack now supports that use case directly
78
78
  * via navigator props such as `<BlankStack.Navigator independent />`, with
79
- * `enableNativeScreens` available when you need to switch between native
79
+ * `nativeScreens` available when you need to switch between native
80
80
  * screens and regular views. Prefer blank stack for new work; component stack
81
81
  * will be removed in a future release.
82
82
  */
@@ -40,6 +40,12 @@ function NativeStackNavigator({
40
40
  })
41
41
  });
42
42
  }
43
+
44
+ /**
45
+ * @deprecated The bundled native-stack integration is deprecated and will be removed in a future major release.
46
+ * Use `@react-navigation/native-stack` or Expo Router's native stack with
47
+ * `withScreenTransitions` from `react-native-screen-transitions` instead.
48
+ */
43
49
  export function createNativeStackNavigator(config) {
44
50
  return createNavigatorFactory(NativeStackNavigator)(config);
45
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createNavigatorFactory","StackRouter","useNavigationBuilder","useTabPressReset","NativeStackView","jsx","_jsx","NativeStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","index","key","createNativeStackNavigator","config"],"sourceRoot":"../../../../src","sources":["native-stack/navigators/createNativeStackNavigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EAKtBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,SAASC,gBAAgB,QAAQ,mDAAmD;AAQpF,SAASC,eAAe,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,SAASC,oBAAoBA,CAAC;EAC7BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AACuB,CAAC,EAAE;EAC7B,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpElB,oBAAoB,CAMlBD,WAAW,EAAE;IACdO,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHX,gBAAgB,CAACgB,UAAU,EAAEH,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACM,GAAG,CAAC;EAEpD,oBACChB,IAAA,CAACc,iBAAiB;IAAAV,QAAA,eACjBJ,IAAA,CAACF,eAAe;MAAA,GACXW,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;AAEA,OAAO,SAASM,0BAA0BA,CAmBxCC,MAAe,EAAmC;EACnD,OAAOxB,sBAAsB,CAACO,oBAAoB,CAAC,CAACiB,MAAM,CAAC;AAC5D","ignoreList":[]}
1
+ {"version":3,"names":["createNavigatorFactory","StackRouter","useNavigationBuilder","useTabPressReset","NativeStackView","jsx","_jsx","NativeStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","index","key","createNativeStackNavigator","config"],"sourceRoot":"../../../../src","sources":["native-stack/navigators/createNativeStackNavigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EAKtBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,SAASC,gBAAgB,QAAQ,mDAAmD;AAQpF,SAASC,eAAe,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3D,SAASC,oBAAoBA,CAAC;EAC7BC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AACuB,CAAC,EAAE;EAC7B,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpElB,oBAAoB,CAMlBD,WAAW,EAAE;IACdO,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEHX,gBAAgB,CAACgB,UAAU,EAAEH,KAAK,CAACK,KAAK,EAAEL,KAAK,CAACM,GAAG,CAAC;EAEpD,oBACChB,IAAA,CAACc,iBAAiB;IAAAV,QAAA,eACjBJ,IAAA,CAACF,eAAe;MAAA,GACXW,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,0BAA0BA,CAmBxCC,MAAe,EAAmC;EACnD,OAAOxB,sBAAsB,CAACO,oBAAoB,CAAC,CAACiB,MAAM,CAAC;AAC5D","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { createContext, useContext } from "react";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const ScreenTransitionsAdapterContext = /*#__PURE__*/createContext(null);
6
+ ScreenTransitionsAdapterContext.displayName = "ScreenTransitionsAdapter";
7
+ export function ScreenTransitionsAdapterProvider({
8
+ children,
9
+ value
10
+ }) {
11
+ return /*#__PURE__*/_jsx(ScreenTransitionsAdapterContext.Provider, {
12
+ value: value,
13
+ children: children
14
+ });
15
+ }
16
+ export function useScreenTransitionsAdapterContext() {
17
+ const context = useContext(ScreenTransitionsAdapterContext);
18
+ if (!context) {
19
+ throw new Error("useScreenTransitionsAdapterContext must be used within withScreenTransitions");
20
+ }
21
+ return context;
22
+ }
23
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","jsx","_jsx","ScreenTransitionsAdapterContext","displayName","ScreenTransitionsAdapterProvider","children","value","Provider","useScreenTransitionsAdapterContext","context","Error"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAclD,MAAMC,+BAA+B,gBACpCJ,aAAa,CAA8C,IAAI,CAAC;AAEjEI,+BAA+B,CAACC,WAAW,GAAG,0BAA0B;AAExE,OAAO,SAASC,gCAAgCA,CAAC;EAChDC,QAAQ;EACRC;AAID,CAAC,EAAE;EACF,oBACCL,IAAA,CAACC,+BAA+B,CAACK,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAD,QAAA,EACrDA;EAAQ,CACgC,CAAC;AAE7C;AAEA,OAAO,SAASG,kCAAkCA,CAAA,EAAG;EACpD,MAAMC,OAAO,GAAGV,UAAU,CAACG,+BAA+B,CAAC;EAC3D,IAAI,CAACO,OAAO,EAAE;IACb,MAAM,IAAIC,KAAK,CACd,8EACD,CAAC;EACF;EACA,OAAOD,OAAO;AACf","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import { Children, cloneElement, forwardRef, isValidElement, useCallback, useMemo } from "react";
4
+ import { adaptNativeStackTransitionOptions } from "./options";
5
+ import { ScreenTransitionsScreenLayout, ScreenTransitionsStackLayout } from "./stack-layout";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export { resolveScreenTransitionOptions } from "./options";
8
+ function adaptNavigatorChildren(children) {
9
+ return Children.map(children, child => {
10
+ if (! /*#__PURE__*/isValidElement(child)) {
11
+ return child;
12
+ }
13
+ const props = child.props;
14
+ const nextProps = {};
15
+ let changed = false;
16
+ if ("options" in props) {
17
+ nextProps.options = adaptNativeStackTransitionOptions(props.options);
18
+ changed = true;
19
+ }
20
+ if ("screenOptions" in props) {
21
+ nextProps.screenOptions = adaptNativeStackTransitionOptions(props.screenOptions);
22
+ changed = true;
23
+ }
24
+ if (props.children !== undefined && typeof props.children !== "function") {
25
+ nextProps.children = adaptNavigatorChildren(props.children);
26
+ changed = true;
27
+ }
28
+ if (!changed) {
29
+ return child;
30
+ }
31
+ return /*#__PURE__*/cloneElement(child, nextProps);
32
+ });
33
+ }
34
+ export function withScreenTransitions(navigator) {
35
+ const BaseNavigator = navigator.Navigator;
36
+ const Navigator = /*#__PURE__*/forwardRef(function ScreenTransitionsNavigator({
37
+ layout,
38
+ screenLayout,
39
+ ...props
40
+ }, ref) {
41
+ const transitionLayout = useCallback(layoutArgs => /*#__PURE__*/_jsx(ScreenTransitionsStackLayout, {
42
+ layout: layout,
43
+ layoutArgs: layoutArgs
44
+ }), [layout]);
45
+ const transitionScreenLayout = useCallback(screenLayoutArgs => /*#__PURE__*/_jsx(ScreenTransitionsScreenLayout, {
46
+ screenLayout: screenLayout,
47
+ screenLayoutArgs: screenLayoutArgs
48
+ }), [screenLayout]);
49
+ const screenOptions = useMemo(() => adaptNativeStackTransitionOptions(props.screenOptions), [props.screenOptions]);
50
+ const children = useMemo(() => adaptNavigatorChildren(props.children), [props.children]);
51
+ return /*#__PURE__*/_jsx(BaseNavigator, {
52
+ ...props,
53
+ screenOptions: screenOptions,
54
+ ref: ref,
55
+ layout: transitionLayout,
56
+ screenLayout: transitionScreenLayout,
57
+ children: children
58
+ });
59
+ });
60
+ Navigator.displayName = `withScreenTransitions(${BaseNavigator.displayName ?? BaseNavigator.name ?? "Navigator"})`;
61
+ return {
62
+ ...navigator,
63
+ Navigator
64
+ };
65
+ }
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","cloneElement","forwardRef","isValidElement","useCallback","useMemo","adaptNativeStackTransitionOptions","ScreenTransitionsScreenLayout","ScreenTransitionsStackLayout","jsx","_jsx","resolveScreenTransitionOptions","adaptNavigatorChildren","children","map","child","props","nextProps","changed","options","screenOptions","undefined","withScreenTransitions","navigator","BaseNavigator","Navigator","ScreenTransitionsNavigator","layout","screenLayout","ref","transitionLayout","layoutArgs","transitionScreenLayout","screenLayoutArgs","displayName","name"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ const NATIVE_STACK_TRANSITION_RESET_OPTIONS = {
4
+ presentation: "containedTransparentModal",
5
+ animation: "none",
6
+ headerShown: false,
7
+ gestureEnabled: false
8
+ };
9
+ const COLLIDING_TRANSITION_OPTION_KEYS = ["gestureEnabled", "gestureDirection", "gestureResponseDistance"];
10
+ function isPlainOptions(value) {
11
+ return typeof value === "object" && value !== null;
12
+ }
13
+ function extractCollidingTransitionOptions(options) {
14
+ let screenTransition;
15
+ for (const key of COLLIDING_TRANSITION_OPTION_KEYS) {
16
+ if (!(key in options)) {
17
+ continue;
18
+ }
19
+ screenTransition ??= {};
20
+ screenTransition[key] = options[key];
21
+ }
22
+ return screenTransition;
23
+ }
24
+ function removeCollidingTransitionOptions(options) {
25
+ const nativeOptions = {
26
+ ...options
27
+ };
28
+ for (const key of COLLIDING_TRANSITION_OPTION_KEYS) {
29
+ delete nativeOptions[key];
30
+ }
31
+ return nativeOptions;
32
+ }
33
+ function applyNativeGestureAliases(options) {
34
+ const nativeOptions = {
35
+ ...options
36
+ };
37
+ const {
38
+ nativeGestureEnabled,
39
+ nativeGestureDirection,
40
+ nativeGestureResponseDistance
41
+ } = options;
42
+ delete nativeOptions.nativeGestureEnabled;
43
+ delete nativeOptions.nativeGestureDirection;
44
+ delete nativeOptions.nativeGestureResponseDistance;
45
+ if (nativeGestureEnabled !== undefined) {
46
+ nativeOptions.gestureEnabled = nativeGestureEnabled;
47
+ }
48
+ if (nativeGestureDirection !== undefined) {
49
+ nativeOptions.gestureDirection = nativeGestureDirection;
50
+ }
51
+ if (nativeGestureResponseDistance !== undefined) {
52
+ nativeOptions.gestureResponseDistance = nativeGestureResponseDistance;
53
+ }
54
+ return nativeOptions;
55
+ }
56
+ export function adaptNativeStackTransitionOptions(options) {
57
+ if (typeof options === "function") {
58
+ return (...args) => adaptNativeStackTransitionOptions(options(...args));
59
+ }
60
+ if (!isPlainOptions(options)) {
61
+ return options;
62
+ }
63
+ const inlineScreenTransition = extractCollidingTransitionOptions(options);
64
+ const explicitScreenTransition = options.screenTransition;
65
+ const hasTransitionsEnabled = options.enableTransitions === true || !!explicitScreenTransition;
66
+ if (!hasTransitionsEnabled) {
67
+ return applyNativeGestureAliases(options);
68
+ }
69
+ const nativeOptions = applyNativeGestureAliases(removeCollidingTransitionOptions(options));
70
+ const nativeGestureEnabled = nativeOptions.gestureEnabled;
71
+ const screenTransition = explicitScreenTransition && isPlainOptions(explicitScreenTransition) ? {
72
+ ...inlineScreenTransition,
73
+ ...explicitScreenTransition
74
+ } : inlineScreenTransition;
75
+ return {
76
+ ...nativeOptions,
77
+ ...NATIVE_STACK_TRANSITION_RESET_OPTIONS,
78
+ ...(nativeGestureEnabled !== undefined ? {
79
+ gestureEnabled: nativeGestureEnabled
80
+ } : null),
81
+ enableTransitions: true,
82
+ ...(screenTransition ? {
83
+ screenTransition
84
+ } : null)
85
+ };
86
+ }
87
+ export function resolveScreenTransitionOptions(options) {
88
+ const screenTransition = options.screenTransition;
89
+ if (!screenTransition) {
90
+ return options;
91
+ }
92
+ return {
93
+ ...options,
94
+ ...screenTransition,
95
+ enableTransitions: true
96
+ };
97
+ }
98
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NATIVE_STACK_TRANSITION_RESET_OPTIONS","presentation","animation","headerShown","gestureEnabled","COLLIDING_TRANSITION_OPTION_KEYS","isPlainOptions","value","extractCollidingTransitionOptions","options","screenTransition","key","removeCollidingTransitionOptions","nativeOptions","applyNativeGestureAliases","nativeGestureEnabled","nativeGestureDirection","nativeGestureResponseDistance","undefined","gestureDirection","gestureResponseDistance","adaptNativeStackTransitionOptions","args","inlineScreenTransition","explicitScreenTransition","hasTransitionsEnabled","enableTransitions","resolveScreenTransitionOptions"],"sourceRoot":"../../../../../src","sources":["shared/adapters/with-screen-transitions/options.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from "react";
4
+ import { Overlay } from "../../components/overlay";
5
+ import { StackProvider } from "../../hooks/navigation/use-stack";
6
+ import { ScreenComposer } from "../../providers/screen/screen-composer";
7
+ import { useStackCoreContext, withStackCore } from "../../providers/stack/core.provider";
8
+ import { useStackDerived } from "../../providers/stack/helpers/use-stack-derived";
9
+ import { AnimationStore } from "../../stores/animation.store";
10
+ import { StackType } from "../../types/stack.types";
11
+ import { isOverlayVisible } from "../../utils/overlay/visibility";
12
+ import { ScreenTransitionsAdapterProvider, useScreenTransitionsAdapterContext } from "./context";
13
+ import { resolveScreenTransitionOptions } from "./options";
14
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
+ const EMPTY_PRELOADED_ROUTES = [];
16
+ function getPreloadedRoutes(state) {
17
+ return state.preloadedRoutes ?? EMPTY_PRELOADED_ROUTES;
18
+ }
19
+ function normalizeDescriptor(descriptor) {
20
+ return {
21
+ ...descriptor,
22
+ options: resolveScreenTransitionOptions(descriptor.options)
23
+ };
24
+ }
25
+ function buildTransitionStackState({
26
+ state,
27
+ descriptors
28
+ }) {
29
+ const routes = state.routes;
30
+ const preloadedRoutes = getPreloadedRoutes(state);
31
+ const allRoutes = routes.concat(preloadedRoutes);
32
+ const routeKeys = [];
33
+ const scenes = [];
34
+ const animationMaps = [];
35
+ const routeIndexByKey = new Map();
36
+ let shouldShowFloatOverlay = false;
37
+ for (const route of allRoutes) {
38
+ const descriptor = descriptors[route.key];
39
+ if (!descriptor) {
40
+ if (preloadedRoutes.includes(route)) {
41
+ continue;
42
+ }
43
+ throw new Error(`withScreenTransitions could not find a descriptor for route "${route.key}".`);
44
+ }
45
+ const normalizedDescriptor = normalizeDescriptor(descriptor);
46
+ const sceneIndex = scenes.length;
47
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor;
48
+ if (previousDescriptor) {
49
+ scenes[sceneIndex - 1] = {
50
+ ...scenes[sceneIndex - 1],
51
+ nextDescriptor: normalizedDescriptor
52
+ };
53
+ }
54
+ scenes.push({
55
+ route,
56
+ descriptor: normalizedDescriptor,
57
+ previousDescriptor
58
+ });
59
+ routeKeys.push(route.key);
60
+ animationMaps.push(AnimationStore.getBag(route.key));
61
+ routeIndexByKey.set(route.key, sceneIndex);
62
+ if (!shouldShowFloatOverlay && normalizedDescriptor.options.enableTransitions && isOverlayVisible(normalizedDescriptor.options)) {
63
+ shouldShowFloatOverlay = true;
64
+ }
65
+ }
66
+ return {
67
+ routes: allRoutes,
68
+ routeKeys,
69
+ scenes,
70
+ animationMaps,
71
+ routeIndexByKey,
72
+ shouldShowFloatOverlay
73
+ };
74
+ }
75
+ function ScreenTransitionsStackContent({
76
+ layout,
77
+ layoutArgs
78
+ }) {
79
+ const {
80
+ flags
81
+ } = useStackCoreContext();
82
+ const transitionState = useMemo(() => buildTransitionStackState({
83
+ state: layoutArgs.state,
84
+ descriptors: layoutArgs.descriptors
85
+ }), [layoutArgs.state, layoutArgs.descriptors]);
86
+ const {
87
+ optimisticFocusedIndex
88
+ } = useStackDerived(transitionState.animationMaps);
89
+ const stackContextValue = useMemo(() => ({
90
+ flags,
91
+ navigatorKey: layoutArgs.state.key,
92
+ routeKeys: transitionState.routeKeys,
93
+ routes: transitionState.routes,
94
+ scenes: transitionState.scenes,
95
+ optimisticFocusedIndex,
96
+ focusedIndex: layoutArgs.state.index
97
+ }), [flags, layoutArgs.state.key, layoutArgs.state.index, transitionState.routeKeys, transitionState.routes, transitionState.scenes, optimisticFocusedIndex]);
98
+ const adapterContextValue = useMemo(() => ({
99
+ routeIndexByKey: transitionState.routeIndexByKey,
100
+ scenes: transitionState.scenes
101
+ }), [transitionState.routeIndexByKey, transitionState.scenes]);
102
+ const children = layout ? layout(layoutArgs) : layoutArgs.children;
103
+ return /*#__PURE__*/_jsx(ScreenTransitionsAdapterProvider, {
104
+ value: adapterContextValue,
105
+ children: /*#__PURE__*/_jsxs(StackProvider, {
106
+ value: stackContextValue,
107
+ children: [transitionState.shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, children]
108
+ })
109
+ });
110
+ }
111
+ export const ScreenTransitionsStackLayout = withStackCore({
112
+ TRANSITIONS_ALWAYS_ON: false,
113
+ STACK_TYPE: StackType.NATIVE
114
+ }, ScreenTransitionsStackContent);
115
+ export function ScreenTransitionsScreenLayout({
116
+ screenLayout,
117
+ screenLayoutArgs
118
+ }) {
119
+ const {
120
+ routeIndexByKey,
121
+ scenes
122
+ } = useScreenTransitionsAdapterContext();
123
+ const sceneIndex = routeIndexByKey.get(screenLayoutArgs.route.key);
124
+ const children = screenLayout ? screenLayout(screenLayoutArgs) : screenLayoutArgs.children;
125
+ if (sceneIndex === undefined) {
126
+ return /*#__PURE__*/_jsx(_Fragment, {
127
+ children: children
128
+ });
129
+ }
130
+ const scene = scenes[sceneIndex];
131
+ return /*#__PURE__*/_jsx(ScreenComposer, {
132
+ previous: scene.previousDescriptor,
133
+ current: scene.descriptor,
134
+ next: scene.nextDescriptor,
135
+ children: children
136
+ });
137
+ }
138
+ //# sourceMappingURL=stack-layout.js.map