react-native-screen-transitions 3.2.0-beta.0 → 3.2.0-beta.1

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 (273) hide show
  1. package/README.md +103 -8
  2. package/lib/commonjs/blank-stack/components/adjusted-screen-container.js +36 -0
  3. package/lib/commonjs/blank-stack/components/adjusted-screen-container.js.map +1 -0
  4. package/lib/commonjs/blank-stack/components/{screens.js → adjusted-screen.js} +31 -11
  5. package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -0
  6. package/lib/commonjs/blank-stack/components/stack-view.js +33 -41
  7. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  8. package/lib/commonjs/blank-stack/components/stack-view.native.js +81 -0
  9. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -0
  10. package/lib/commonjs/component-stack/components/component-screen-container.js +23 -0
  11. package/lib/commonjs/component-stack/components/component-screen-container.js.map +1 -0
  12. package/lib/commonjs/component-stack/components/component-screen.js +36 -0
  13. package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
  14. package/lib/commonjs/component-stack/components/stack-view.js +64 -0
  15. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -0
  16. package/lib/commonjs/component-stack/index.js +3 -10
  17. package/lib/commonjs/component-stack/index.js.map +1 -1
  18. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +52 -0
  19. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  20. package/lib/commonjs/native-stack/views/NativeStackView.native.js +103 -105
  21. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  22. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +0 -25
  23. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  24. package/lib/commonjs/shared/components/overlay/index.js +1 -3
  25. package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
  26. package/lib/commonjs/shared/constants.js +3 -1
  27. package/lib/commonjs/shared/constants.js.map +1 -1
  28. package/lib/commonjs/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +16 -19
  29. package/lib/commonjs/shared/controller/managed-lifecycle.js.map +1 -0
  30. package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js +7 -1
  31. package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
  32. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +2 -2
  33. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  34. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +3 -1
  35. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  36. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  37. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +5 -0
  38. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  39. package/lib/commonjs/shared/providers/layout-anchor.provider.js +73 -0
  40. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -0
  41. package/lib/commonjs/shared/providers/register-bounds.provider.js +9 -4
  42. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/keys.provider.js +2 -2
  44. package/lib/commonjs/shared/providers/screen/styles.provider.js +38 -4
  45. package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
  46. package/lib/commonjs/shared/providers/stack/core.provider.js +35 -12
  47. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  48. package/lib/commonjs/shared/providers/stack/direct.provider.js +6 -4
  49. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  50. package/lib/commonjs/shared/providers/stack/managed.provider.js +7 -5
  51. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  52. package/lib/commonjs/shared/types/index.js.map +1 -1
  53. package/lib/commonjs/shared/types/stack.types.js +26 -0
  54. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  55. package/lib/commonjs/shared/utils/bounds/index.js +13 -1
  56. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  57. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  58. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  59. package/lib/module/blank-stack/components/adjusted-screen-container.js +31 -0
  60. package/lib/module/blank-stack/components/adjusted-screen-container.js.map +1 -0
  61. package/lib/module/blank-stack/components/{screens.js → adjusted-screen.js} +30 -10
  62. package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
  63. package/lib/module/blank-stack/components/stack-view.js +33 -41
  64. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  65. package/lib/module/blank-stack/components/stack-view.native.js +76 -0
  66. package/lib/module/blank-stack/components/stack-view.native.js.map +1 -0
  67. package/lib/module/component-stack/components/component-screen-container.js +18 -0
  68. package/lib/module/component-stack/components/component-screen-container.js.map +1 -0
  69. package/lib/module/component-stack/components/component-screen.js +30 -0
  70. package/lib/module/component-stack/components/component-screen.js.map +1 -0
  71. package/lib/module/component-stack/components/stack-view.js +59 -0
  72. package/lib/module/component-stack/components/stack-view.js.map +1 -0
  73. package/lib/module/component-stack/index.js +1 -2
  74. package/lib/module/component-stack/index.js.map +1 -1
  75. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +48 -0
  76. package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  77. package/lib/module/native-stack/views/NativeStackView.native.js +103 -105
  78. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  79. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +0 -24
  80. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  81. package/lib/module/shared/components/overlay/index.js +1 -3
  82. package/lib/module/shared/components/overlay/index.js.map +1 -1
  83. package/lib/module/shared/constants.js +2 -0
  84. package/lib/module/shared/constants.js.map +1 -1
  85. package/lib/module/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +14 -17
  86. package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
  87. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +8 -1
  88. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
  89. package/lib/module/shared/hooks/animation/use-screen-animation.js +2 -2
  90. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  91. package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -2
  92. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  93. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  94. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +5 -0
  95. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  96. package/lib/module/shared/providers/layout-anchor.provider.js +67 -0
  97. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -0
  98. package/lib/module/shared/providers/register-bounds.provider.js +9 -4
  99. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  100. package/lib/module/shared/providers/screen/keys.provider.js +2 -2
  101. package/lib/module/shared/providers/screen/styles.provider.js +39 -5
  102. package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
  103. package/lib/module/shared/providers/stack/core.provider.js +34 -11
  104. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  105. package/lib/module/shared/providers/stack/direct.provider.js +6 -4
  106. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  107. package/lib/module/shared/providers/stack/managed.provider.js +7 -5
  108. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  109. package/lib/module/shared/types/index.js.map +1 -1
  110. package/lib/module/shared/types/stack.types.js +30 -1
  111. package/lib/module/shared/types/stack.types.js.map +1 -1
  112. package/lib/module/shared/utils/bounds/index.js +13 -1
  113. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  114. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  115. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  116. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts +6 -0
  117. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts.map +1 -0
  118. package/lib/typescript/blank-stack/components/{screens.d.ts → adjusted-screen.d.ts} +2 -2
  119. package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -0
  120. package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
  121. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  122. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +4 -0
  123. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -0
  124. package/lib/typescript/blank-stack/types.d.ts +3 -1
  125. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  126. package/lib/typescript/component-stack/components/component-screen-container.d.ts +6 -0
  127. package/lib/typescript/component-stack/components/component-screen-container.d.ts.map +1 -0
  128. package/lib/typescript/component-stack/components/component-screen.d.ts +8 -0
  129. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -0
  130. package/lib/typescript/component-stack/components/stack-view.d.ts +4 -0
  131. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -0
  132. package/lib/typescript/component-stack/index.d.ts +2 -3
  133. package/lib/typescript/component-stack/index.d.ts.map +1 -1
  134. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +16 -0
  135. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -0
  136. package/lib/typescript/component-stack/types.d.ts +24 -191
  137. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  138. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
  139. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  140. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +0 -9
  141. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  142. package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
  143. package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
  144. package/lib/typescript/shared/constants.d.ts +1 -0
  145. package/lib/typescript/shared/constants.d.ts.map +1 -1
  146. package/lib/typescript/shared/controller/managed-lifecycle.d.ts +9 -0
  147. package/lib/typescript/shared/controller/managed-lifecycle.d.ts.map +1 -0
  148. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts +7 -0
  149. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -1
  150. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -1
  151. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  152. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  153. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +4 -9
  154. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  155. package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
  156. package/lib/typescript/shared/index.d.ts +13 -13
  157. package/lib/typescript/shared/index.d.ts.map +1 -1
  158. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +34 -0
  159. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -0
  160. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  161. package/lib/typescript/shared/providers/screen/keys.provider.d.ts +2 -2
  162. package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
  163. package/lib/typescript/shared/providers/stack/core.provider.d.ts +15 -4
  164. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  165. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  166. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
  167. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/types/bounds.types.d.ts +1 -0
  169. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  170. package/lib/typescript/shared/types/index.d.ts +1 -1
  171. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  172. package/lib/typescript/shared/types/overlay.types.d.ts +1 -12
  173. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  174. package/lib/typescript/shared/types/screen.types.d.ts +2 -2
  175. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  176. package/lib/typescript/shared/types/stack.types.d.ts +5 -2
  177. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  178. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  179. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  180. package/package.json +1 -1
  181. package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
  182. package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +33 -12
  183. package/src/blank-stack/components/stack-view.native.tsx +94 -0
  184. package/src/blank-stack/components/stack-view.tsx +41 -47
  185. package/src/blank-stack/types.ts +3 -2
  186. package/src/component-stack/components/component-screen-container.tsx +15 -0
  187. package/src/component-stack/components/component-screen.tsx +40 -0
  188. package/src/component-stack/components/stack-view.tsx +74 -0
  189. package/src/component-stack/index.ts +6 -12
  190. package/src/component-stack/navigators/create-component-stack-navigator.tsx +88 -0
  191. package/src/component-stack/types.ts +80 -188
  192. package/src/native-stack/views/NativeStackView.native.tsx +104 -106
  193. package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -146
  194. package/src/shared/components/overlay/helpers/get-active-overlay.ts +0 -26
  195. package/src/shared/components/overlay/index.ts +0 -2
  196. package/src/shared/constants.ts +3 -0
  197. package/src/{blank-stack/controllers/blank-stack-lifecycle.tsx → shared/controller/managed-lifecycle.tsx} +14 -18
  198. package/src/shared/hooks/animation/use-high-refresh-rate.tsx +7 -1
  199. package/src/shared/hooks/animation/use-screen-animation.tsx +5 -3
  200. package/src/shared/hooks/gestures/use-build-gestures.tsx +9 -1
  201. package/src/shared/hooks/navigation/use-stack.tsx +4 -15
  202. package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
  203. package/src/shared/index.ts +2 -1
  204. package/src/shared/providers/layout-anchor.provider.tsx +81 -0
  205. package/src/shared/providers/register-bounds.provider.tsx +11 -4
  206. package/src/shared/providers/screen/keys.provider.tsx +2 -2
  207. package/src/shared/providers/screen/styles.provider.tsx +50 -5
  208. package/src/shared/providers/stack/core.provider.tsx +51 -28
  209. package/src/shared/providers/stack/direct.provider.tsx +4 -1
  210. package/src/shared/providers/stack/managed.provider.tsx +5 -2
  211. package/src/shared/types/bounds.types.ts +5 -0
  212. package/src/shared/types/index.ts +0 -1
  213. package/src/shared/types/overlay.types.ts +1 -14
  214. package/src/shared/types/screen.types.ts +2 -8
  215. package/src/shared/types/stack.types.ts +6 -2
  216. package/src/shared/utils/bounds/index.ts +18 -1
  217. package/src/shared/utils/navigation/sync-routes-with-removed.ts +28 -58
  218. package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
  219. package/lib/commonjs/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  220. package/lib/commonjs/component-stack/components/component-view.js +0 -63
  221. package/lib/commonjs/component-stack/components/component-view.js.map +0 -1
  222. package/lib/commonjs/component-stack/components/screens.js +0 -64
  223. package/lib/commonjs/component-stack/components/screens.js.map +0 -1
  224. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js +0 -82
  225. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  226. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js +0 -321
  227. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  228. package/lib/commonjs/component-stack/hooks/use-component-navigation.js +0 -28
  229. package/lib/commonjs/component-stack/hooks/use-component-navigation.js.map +0 -1
  230. package/lib/commonjs/component-stack/navigators/create-component-navigator.js +0 -97
  231. package/lib/commonjs/component-stack/navigators/create-component-navigator.js.map +0 -1
  232. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js +0 -99
  233. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js.map +0 -1
  234. package/lib/module/blank-stack/components/screens.js.map +0 -1
  235. package/lib/module/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  236. package/lib/module/component-stack/components/component-view.js +0 -58
  237. package/lib/module/component-stack/components/component-view.js.map +0 -1
  238. package/lib/module/component-stack/components/screens.js +0 -58
  239. package/lib/module/component-stack/components/screens.js.map +0 -1
  240. package/lib/module/component-stack/controllers/component-stack-lifecycle.js +0 -76
  241. package/lib/module/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  242. package/lib/module/component-stack/hooks/use-component-navigation-builder.js +0 -316
  243. package/lib/module/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  244. package/lib/module/component-stack/hooks/use-component-navigation.js +0 -25
  245. package/lib/module/component-stack/hooks/use-component-navigation.js.map +0 -1
  246. package/lib/module/component-stack/navigators/create-component-navigator.js +0 -91
  247. package/lib/module/component-stack/navigators/create-component-navigator.js.map +0 -1
  248. package/lib/module/shared/components/overlay/variations/container-overlay.js +0 -97
  249. package/lib/module/shared/components/overlay/variations/container-overlay.js.map +0 -1
  250. package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
  251. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts +0 -9
  252. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts.map +0 -1
  253. package/lib/typescript/component-stack/components/component-view.d.ts +0 -4
  254. package/lib/typescript/component-stack/components/component-view.d.ts.map +0 -1
  255. package/lib/typescript/component-stack/components/screens.d.ts +0 -9
  256. package/lib/typescript/component-stack/components/screens.d.ts.map +0 -1
  257. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts +0 -10
  258. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts.map +0 -1
  259. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts +0 -19
  260. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts.map +0 -1
  261. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts +0 -19
  262. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts.map +0 -1
  263. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts +0 -35
  264. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts.map +0 -1
  265. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts +0 -8
  266. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts.map +0 -1
  267. package/src/component-stack/components/component-view.tsx +0 -72
  268. package/src/component-stack/components/screens.tsx +0 -86
  269. package/src/component-stack/controllers/component-stack-lifecycle.tsx +0 -80
  270. package/src/component-stack/hooks/use-component-navigation-builder.tsx +0 -388
  271. package/src/component-stack/hooks/use-component-navigation.tsx +0 -22
  272. package/src/component-stack/navigators/create-component-navigator.tsx +0 -104
  273. package/src/shared/components/overlay/variations/container-overlay.tsx +0 -98
@@ -3,14 +3,13 @@
3
3
  import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
4
4
  import * as React from "react";
5
5
  import { Fragment } from "react";
6
- import { StyleSheet } from "react-native";
7
- import { ScreenContainer } from "react-native-screens";
8
6
  import { Overlay } from "../../shared/components/overlay";
7
+ import { ManagedLifecycle } from "../../shared/controller/managed-lifecycle";
9
8
  import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
10
9
  import { withStackCore } from "../../shared/providers/stack/core.provider";
11
10
  import { withManagedStack } from "../../shared/providers/stack/managed.provider";
12
- import { BlankStackScreenLifecycleController } from "../controllers/blank-stack-lifecycle";
13
- import { Screen } from "./screens";
11
+ import { AdjustedScreen } from "./adjusted-screen";
12
+ import { AdjustedScreenContainer } from "./adjusted-screen-container";
14
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
14
  function isFabric() {
16
15
  return "nativeFabricUIManager" in global;
@@ -32,7 +31,8 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
32
31
  });
33
32
  });
34
33
  export const StackView = withStackCore({
35
- TRANSITIONS_ALWAYS_ON: true
34
+ TRANSITIONS_ALWAYS_ON: true,
35
+ DISABLE_NATIVE_SCREENS: true
36
36
  }, withManagedStack(({
37
37
  descriptors,
38
38
  focusedIndex,
@@ -40,45 +40,37 @@ export const StackView = withStackCore({
40
40
  shouldShowFloatOverlay
41
41
  }) => {
42
42
  return /*#__PURE__*/_jsxs(Fragment, {
43
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(Overlay.Container, {
44
- children: /*#__PURE__*/_jsx(ScreenContainer, {
45
- style: styles.container,
46
- children: scenes.map((scene, sceneIndex) => {
47
- const descriptor = scene.descriptor;
48
- const route = scene.route;
49
- const isFocused = focusedIndex === sceneIndex;
50
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
51
- const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
52
- const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
53
- const isPreloaded = descriptors[route.key] === undefined;
43
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(AdjustedScreenContainer, {
44
+ children: scenes.map((scene, sceneIndex) => {
45
+ const descriptor = scene.descriptor;
46
+ const route = scene.route;
47
+ const isFocused = focusedIndex === sceneIndex;
48
+ const isBelowFocused = focusedIndex - 1 === sceneIndex;
49
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
50
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
51
+ const isPreloaded = descriptors[route.key] === undefined;
54
52
 
55
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
56
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
57
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
58
- return /*#__PURE__*/_jsx(Screen, {
59
- isPreloaded: isPreloaded,
60
- index: sceneIndex,
61
- routeKey: route.key,
62
- shouldFreeze: shouldFreeze,
63
- freezeOnBlur: descriptor.options.freezeOnBlur,
64
- children: /*#__PURE__*/_jsx(ScreenComposer, {
65
- previous: previousDescriptor,
66
- current: descriptor,
67
- next: nextDescriptor,
68
- LifecycleController: BlankStackScreenLifecycleController,
69
- children: /*#__PURE__*/_jsx(SceneView, {
70
- descriptor: descriptor
71
- }, route.key)
72
- })
73
- }, route.key);
74
- })
53
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
54
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
55
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
56
+ return /*#__PURE__*/_jsx(AdjustedScreen, {
57
+ isPreloaded: isPreloaded,
58
+ index: sceneIndex,
59
+ routeKey: route.key,
60
+ shouldFreeze: shouldFreeze,
61
+ freezeOnBlur: descriptor.options.freezeOnBlur,
62
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
63
+ previous: previousDescriptor,
64
+ current: descriptor,
65
+ next: nextDescriptor,
66
+ LifecycleController: ManagedLifecycle,
67
+ children: /*#__PURE__*/_jsx(SceneView, {
68
+ descriptor: descriptor
69
+ }, route.key)
70
+ })
71
+ }, route.key);
75
72
  })
76
73
  })]
77
74
  });
78
75
  }));
79
- const styles = StyleSheet.create({
80
- container: {
81
- flex: 1
82
- }
83
- });
84
76
  //# sourceMappingURL=stack-view.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","StyleSheet","ScreenContainer","Overlay","ScreenComposer","withStackCore","withManagedStack","BlankStackScreenLifecycleController","Screen","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","StackView","TRANSITIONS_ALWAYS_ON","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","Container","style","styles","container","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next","LifecycleController","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","AdjustedScreen","AdjustedScreenContainer","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
4
+ import * as React from "react";
5
+ import { Fragment } from "react";
6
+ import { Overlay } from "../../shared/components/overlay";
7
+ import { ManagedLifecycle } from "../../shared/controller/managed-lifecycle";
8
+ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
+ import { withStackCore } from "../../shared/providers/stack/core.provider";
10
+ import { withManagedStack } from "../../shared/providers/stack/managed.provider";
11
+ import { AdjustedScreen } from "./adjusted-screen";
12
+ import { AdjustedScreenContainer } from "./adjusted-screen-container";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ function isFabric() {
15
+ return "nativeFabricUIManager" in global;
16
+ }
17
+ const SceneView = /*#__PURE__*/React.memo(function SceneView({
18
+ descriptor
19
+ }) {
20
+ const {
21
+ route,
22
+ navigation,
23
+ render
24
+ } = descriptor;
25
+ return /*#__PURE__*/_jsx(NavigationContext.Provider, {
26
+ value: navigation,
27
+ children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
28
+ value: route,
29
+ children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
30
+ })
31
+ });
32
+ });
33
+ export const StackView = withStackCore({
34
+ TRANSITIONS_ALWAYS_ON: true,
35
+ DISABLE_NATIVE_SCREENS: false
36
+ }, withManagedStack(({
37
+ descriptors,
38
+ focusedIndex,
39
+ scenes,
40
+ shouldShowFloatOverlay
41
+ }) => {
42
+ return /*#__PURE__*/_jsxs(Fragment, {
43
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(AdjustedScreenContainer, {
44
+ children: scenes.map((scene, sceneIndex) => {
45
+ const descriptor = scene.descriptor;
46
+ const route = scene.route;
47
+ const isFocused = focusedIndex === sceneIndex;
48
+ const isBelowFocused = focusedIndex - 1 === sceneIndex;
49
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
50
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
51
+ const isPreloaded = descriptors[route.key] === undefined;
52
+
53
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
54
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
55
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
56
+ return /*#__PURE__*/_jsx(AdjustedScreen, {
57
+ isPreloaded: isPreloaded,
58
+ index: sceneIndex,
59
+ routeKey: route.key,
60
+ shouldFreeze: shouldFreeze,
61
+ freezeOnBlur: descriptor.options.freezeOnBlur,
62
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
63
+ previous: previousDescriptor,
64
+ current: descriptor,
65
+ next: nextDescriptor,
66
+ LifecycleController: ManagedLifecycle,
67
+ children: /*#__PURE__*/_jsx(SceneView, {
68
+ descriptor: descriptor
69
+ }, route.key)
70
+ })
71
+ }, route.key);
72
+ })
73
+ })]
74
+ });
75
+ }));
76
+ //# sourceMappingURL=stack-view.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","AdjustedScreen","AdjustedScreenContainer","jsx","_jsx","jsxs","_jsxs","isFabric","global","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, View } from "react-native";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const ComponentScreenContainer = ({
6
+ children
7
+ }) => {
8
+ return /*#__PURE__*/_jsx(View, {
9
+ style: styles.container,
10
+ children: children
11
+ });
12
+ };
13
+ const styles = StyleSheet.create({
14
+ container: {
15
+ flex: 1
16
+ }
17
+ });
18
+ //# sourceMappingURL=component-screen-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","View","jsx","_jsx","ComponentScreenContainer","children","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen-container.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhD,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,oBAAOF,IAAA,CAACF,IAAI;IAACK,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAH,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAED,MAAME,MAAM,GAAGP,UAAU,CAACS,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from "react-native";
4
+ import Animated, { useAnimatedProps, useAnimatedRef } from "react-native-reanimated";
5
+ import { LayoutAnchorProvider } from "../../shared/providers/layout-anchor.provider";
6
+ import { AnimationStore } from "../../shared/stores/animation.store";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const ComponentScreen = ({
9
+ routeKey,
10
+ children
11
+ }) => {
12
+ const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
13
+ const screenRef = useAnimatedRef();
14
+ const animatedProps = useAnimatedProps(() => {
15
+ return {
16
+ pointerEvents: sceneClosing.get() ? "none" : "box-none"
17
+ };
18
+ });
19
+ const ComponentScreenComponent = Animated.View;
20
+ return /*#__PURE__*/_jsx(ComponentScreenComponent, {
21
+ ref: screenRef,
22
+ style: StyleSheet.absoluteFill,
23
+ animatedProps: animatedProps,
24
+ children: /*#__PURE__*/_jsx(LayoutAnchorProvider, {
25
+ anchorRef: screenRef,
26
+ children: children
27
+ })
28
+ });
29
+ };
30
+ //# sourceMappingURL=component-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Animated","useAnimatedProps","useAnimatedRef","LayoutAnchorProvider","AnimationStore","jsx","_jsx","ComponentScreen","routeKey","children","sceneClosing","getAnimation","screenRef","animatedProps","pointerEvents","get","ComponentScreenComponent","View","ref","style","absoluteFill","anchorRef"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;AACA,SAASA,UAAU,QAAmB,cAAc;AACpD,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,cAAc,QACR,yBAAyB;AAChC,SAASC,oBAAoB,QAAQ,+CAA+C;AACpF,SAASC,cAAc,QAAQ,qCAAqC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOrE,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGN,cAAc,CAACO,YAAY,CAACH,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMI,SAAS,GAAGV,cAAc,CAAO,CAAC;EAExC,MAAMW,aAAa,GAAGZ,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNa,aAAa,EAAEJ,YAAY,CAACK,GAAG,CAAC,CAAC,GAC7B,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,MAAMC,wBAAwB,GAAGhB,QAAQ,CAACiB,IAAI;EAE9C,oBACCX,IAAA,CAACU,wBAAwB;IACxBE,GAAG,EAAEN,SAAU;IACfO,KAAK,EAAEpB,UAAU,CAACqB,YAAa;IAC/BP,aAAa,EAAEA,aAAc;IAAAJ,QAAA,eAE7BH,IAAA,CAACH,oBAAoB;MAACkB,SAAS,EAAET,SAAU;MAAAH,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC","ignoreList":[]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
4
+ import * as React from "react";
5
+ import { Fragment } from "react";
6
+ import { Overlay } from "../../shared/components/overlay";
7
+ import { ManagedLifecycle } from "../../shared/controller/managed-lifecycle";
8
+ import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
+ import { withStackCore } from "../../shared/providers/stack/core.provider";
10
+ import { withManagedStack } from "../../shared/providers/stack/managed.provider";
11
+ import { ComponentScreen } from "./component-screen";
12
+ import { ComponentScreenContainer } from "./component-screen-container";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const SceneView = /*#__PURE__*/React.memo(function SceneView({
15
+ descriptor
16
+ }) {
17
+ const {
18
+ route,
19
+ navigation,
20
+ render
21
+ } = descriptor;
22
+ return /*#__PURE__*/_jsx(NavigationContext.Provider, {
23
+ value: navigation,
24
+ children: /*#__PURE__*/_jsxs(NavigationRouteContext.Provider, {
25
+ value: route,
26
+ children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/_jsx(Overlay.Screen, {}), render()]
27
+ })
28
+ });
29
+ });
30
+ export const StackView = withStackCore({
31
+ TRANSITIONS_ALWAYS_ON: true
32
+ }, withManagedStack(({
33
+ scenes,
34
+ shouldShowFloatOverlay
35
+ }) => {
36
+ return /*#__PURE__*/_jsxs(Fragment, {
37
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ComponentScreenContainer, {
38
+ children: scenes.map((scene, sceneIndex) => {
39
+ const descriptor = scene.descriptor;
40
+ const route = scene.route;
41
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
42
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
43
+ return /*#__PURE__*/_jsx(ComponentScreen, {
44
+ routeKey: route.key,
45
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
46
+ previous: previousDescriptor,
47
+ current: descriptor,
48
+ next: nextDescriptor,
49
+ LifecycleController: ManagedLifecycle,
50
+ children: /*#__PURE__*/_jsx(SceneView, {
51
+ descriptor: descriptor
52
+ }, route.key)
53
+ })
54
+ }, route.key);
55
+ })
56
+ })]
57
+ });
58
+ }));
59
+ //# sourceMappingURL=stack-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","ComponentScreen","ComponentScreenContainer","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","scenes","shouldShowFloatOverlay","Float","map","scene","sceneIndex","previousDescriptor","undefined","nextDescriptor","routeKey","key","previous","current","next","LifecycleController"],"sourceRoot":"../../../../src","sources":["component-stack/components/stack-view.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,OAAO;AAChC,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,gBAAgB,QAAQ,2CAA2C;AAC5E,SAASC,cAAc,QAAQ,+CAA+C;AAC9E,SAASC,aAAa,QAAQ,4CAA4C;AAC1E,SAASC,gBAAgB,QAAQ,+CAA+C;AAKhF,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,wBAAwB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMxE,MAAMC,SAAS,gBAAGb,KAAK,CAACc,IAAI,CAAC,SAASD,SAASA,CAAC;EAC/CE;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,KAAK;IAAEC,UAAU;IAAEC;EAAO,CAAC,GAAGH,UAAU;EAEhD,oBACCL,IAAA,CAACZ,iBAAiB,CAACqB,QAAQ;IAACC,KAAK,EAAEH,UAAW;IAAAI,QAAA,eAC7CT,KAAA,CAACb,sBAAsB,CAACoB,QAAQ;MAACC,KAAK,EAAEJ,KAAM;MAAAK,QAAA,GAC5CN,UAAU,CAACO,OAAO,CAACC,WAAW,KAAK,QAAQ,iBAAIb,IAAA,CAACR,OAAO,CAACsB,MAAM,IAAE,CAAC,EACjEN,MAAM,CAAC,CAAC;IAAA,CACuB;EAAC,CACP,CAAC;AAE/B,CAAC,CAAC;AAEF,OAAO,MAAMO,SAAS,GAAGpB,aAAa,CACrC;EAAEqB,qBAAqB,EAAE;AAAK,CAAC,EAC/BpB,gBAAgB,CACf,CAAC;EAAEqB,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACChB,KAAA,CAACX,QAAQ;IAAAoB,QAAA,GACPO,sBAAsB,gBAAGlB,IAAA,CAACR,OAAO,CAAC2B,KAAK,IAAE,CAAC,GAAG,IAAI,eAElDnB,IAAA,CAACF,wBAAwB;MAAAa,QAAA,EACvBM,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMjB,UAAU,GAAGgB,KAAK,CAAChB,UAAU;QACnC,MAAMC,KAAK,GAAGe,KAAK,CAACf,KAAK;QAEzB,MAAMiB,kBAAkB,GACvBN,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEjB,UAAU,IAAImB,SAAS;QAChD,MAAMC,cAAc,GACnBR,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEjB,UAAU,IAAImB,SAAS;QAEhD,oBACCxB,IAAA,CAACH,eAAe;UAAiB6B,QAAQ,EAAEpB,KAAK,CAACqB,GAAI;UAAAhB,QAAA,eACpDX,IAAA,CAACN,cAAc;YACdkC,QAAQ,EAAEL,kBAAmB;YAC7BM,OAAO,EAAExB,UAAW;YACpByB,IAAI,EAAEL,cAAe;YACrBM,mBAAmB,EAAEtC,gBAAiB;YAAAkB,QAAA,eAEtCX,IAAA,CAACG,SAAS;cAAiBE,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACqB,GAA8B;UAAC,CACtC;QAAC,GARIrB,KAAK,CAACqB,GASX,CAAC;MAEpB,CAAC;IAAC,CACuB,CAAC;EAAA,CAClB,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export { useComponentNavigation } from "./hooks/use-component-navigation";
4
- export { createComponentNavigator } from "./navigators/create-component-navigator";
3
+ export { createComponentStackNavigator } from "../component-stack/navigators/create-component-stack-navigator";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useComponentNavigation","createComponentNavigator"],"sourceRoot":"../../../src","sources":["component-stack/index.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,kCAAkC;AACzE,SAASC,wBAAwB,QAAQ,yCAAyC","ignoreList":[]}
1
+ {"version":3,"names":["createComponentStackNavigator"],"sourceRoot":"../../../src","sources":["component-stack/index.ts"],"mappings":";;AAAA,SAASA,6BAA6B,QAAQ,gEAAgE","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { createNavigatorFactory, NavigationContainer, NavigationIndependentTree, StackRouter, useNavigationBuilder } from "@react-navigation/native";
4
+ import { StackView } from "../components/stack-view";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ function ComponentStackNavigator({
7
+ id,
8
+ initialRouteName,
9
+ children,
10
+ layout,
11
+ screenListeners,
12
+ screenOptions,
13
+ screenLayout,
14
+ ...rest
15
+ }) {
16
+ const {
17
+ state,
18
+ describe,
19
+ descriptors,
20
+ navigation,
21
+ NavigationContent
22
+ } = useNavigationBuilder(StackRouter, {
23
+ id,
24
+ initialRouteName,
25
+ children,
26
+ layout,
27
+ screenListeners,
28
+ screenOptions,
29
+ screenLayout
30
+ });
31
+ return /*#__PURE__*/_jsx(NavigationIndependentTree, {
32
+ children: /*#__PURE__*/_jsx(NavigationContainer, {
33
+ children: /*#__PURE__*/_jsx(NavigationContent, {
34
+ children: /*#__PURE__*/_jsx(StackView, {
35
+ ...rest,
36
+ state: state,
37
+ navigation: navigation,
38
+ descriptors: descriptors,
39
+ describe: describe
40
+ })
41
+ })
42
+ })
43
+ });
44
+ }
45
+ export function createComponentStackNavigator(config) {
46
+ return createNavigatorFactory(ComponentStackNavigator)(config);
47
+ }
48
+ //# sourceMappingURL=create-component-stack-navigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","StackView","jsx","_jsx","ComponentStackNavigator","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","createComponentStackNavigator","config"],"sourceRoot":"../../../../src","sources":["component-stack/navigators/create-component-stack-navigator.tsx"],"mappings":";;AAAA,SACCA,sBAAsB,EACtBC,mBAAmB,EACnBC,yBAAyB,EAKzBC,WAAW,EAIXC,oBAAoB,QACd,0BAA0B;AACjC,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQrD,SAASC,uBAAuBA,CAAC;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,QAAQ;EACRC,MAAM;EACNC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZ,GAAGC;AAC0B,CAAC,EAAE;EAChC,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACpEjB,oBAAoB,CAMlBD,WAAW,EAAE;IACdM,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEH,oBACCR,IAAA,CAACL,yBAAyB;IAAAS,QAAA,eACzBJ,IAAA,CAACN,mBAAmB;MAAAU,QAAA,eACnBJ,IAAA,CAACc,iBAAiB;QAAAV,QAAA,eACjBJ,IAAA,CAACF,SAAS;UAAA,GACLW,IAAI;UACRC,KAAK,EAAEA,KAAM;UACbG,UAAU,EAAEA,UAAW;UACvBD,WAAW,EAAEA,WAAY;UACzBD,QAAQ,EAAEA;QAAS,CACnB;MAAC,CACgB;IAAC,CACA;EAAC,CACI,CAAC;AAE9B;AAEA,OAAO,SAASI,6BAA6BA,CAmB3CC,MAAe,EAAmC;EACnD,OAAOvB,sBAAsB,CAACQ,uBAAuB,CAAC,CAACe,MAAM,CAAC;AAC/D","ignoreList":[]}
@@ -356,113 +356,111 @@ export const NativeStackView = withStackCore({
356
356
  useInvalidPreventRemoveError(descriptors);
357
357
  const modalRouteKeys = getModalRouteKeys(state.routes, descriptors);
358
358
  return /*#__PURE__*/_jsxs(_Fragment, {
359
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(Overlay.Container, {
360
- children: /*#__PURE__*/_jsx(ScreenStack, {
361
- style: styles.container,
362
- children: scenes.map((scene, index) => {
363
- const {
364
- route,
365
- descriptor,
366
- isPreloaded
367
- } = scene;
368
- const isFocused = focusedIndex === index;
369
- const isBelowFocused = focusedIndex - 1 === index;
359
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(ScreenStack, {
360
+ style: styles.container,
361
+ children: scenes.map((scene, index) => {
362
+ const {
363
+ route,
364
+ descriptor,
365
+ isPreloaded
366
+ } = scene;
367
+ const isFocused = focusedIndex === index;
368
+ const isBelowFocused = focusedIndex - 1 === index;
370
369
 
371
- // Get previous/next descriptors from state.routes (not scenes) for proper navigation
372
- const previousKey = state.routes[index - 1]?.key;
373
- const nextKey = state.routes[index + 1]?.key;
374
- const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
375
- const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
376
- const isModal = modalRouteKeys.includes(route.key);
370
+ // Get previous/next descriptors from state.routes (not scenes) for proper navigation
371
+ const previousKey = state.routes[index - 1]?.key;
372
+ const nextKey = state.routes[index + 1]?.key;
373
+ const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
374
+ const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
375
+ const isModal = modalRouteKeys.includes(route.key);
377
376
 
378
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
379
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
380
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
381
- return /*#__PURE__*/_jsx(SceneView, {
382
- index: index,
383
- focused: isFocused,
384
- shouldFreeze: shouldFreeze,
385
- descriptor: descriptor,
386
- previousDescriptor: previousDescriptor,
387
- nextDescriptor: nextDescriptor,
388
- isPresentationModal: isModal,
389
- isPreloaded: isPreloaded,
390
- onWillDisappear: () => {
391
- navigation.emit({
392
- type: "transitionStart",
393
- data: {
394
- closing: true
395
- },
396
- target: route.key
397
- });
398
- },
399
- onWillAppear: () => {
400
- navigation.emit({
401
- type: "transitionStart",
402
- data: {
403
- closing: false
404
- },
405
- target: route.key
406
- });
407
- },
408
- onAppear: () => {
409
- navigation.emit({
410
- type: "transitionEnd",
411
- data: {
412
- closing: false
413
- },
414
- target: route.key
415
- });
416
- },
417
- onDisappear: () => {
418
- navigation.emit({
419
- type: "transitionEnd",
420
- data: {
421
- closing: true
422
- },
423
- target: route.key
424
- });
425
- },
426
- onDismissed: event => {
427
- navigation.dispatch({
428
- ...StackActions.pop(event.nativeEvent.dismissCount),
429
- source: route.key,
430
- target: state.key
431
- });
432
- setNextDismissedKey(route.key);
433
- },
434
- onHeaderBackButtonClicked: () => {
435
- navigation.dispatch({
436
- ...StackActions.pop(),
437
- source: route.key,
438
- target: state.key
439
- });
440
- },
441
- onNativeDismissCancelled: event => {
442
- navigation.dispatch({
443
- ...StackActions.pop(event.nativeEvent.dismissCount),
444
- source: route.key,
445
- target: state.key
446
- });
447
- },
448
- onGestureCancel: () => {
449
- navigation.emit({
450
- type: "gestureCancel",
451
- target: route.key
452
- });
453
- },
454
- onSheetDetentChanged: event => {
455
- navigation.emit({
456
- type: "sheetDetentChange",
457
- target: route.key,
458
- data: {
459
- index: event.nativeEvent.index,
460
- stable: event.nativeEvent.isStable
461
- }
462
- });
463
- }
464
- }, route.key);
465
- })
377
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
378
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
379
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
380
+ return /*#__PURE__*/_jsx(SceneView, {
381
+ index: index,
382
+ focused: isFocused,
383
+ shouldFreeze: shouldFreeze,
384
+ descriptor: descriptor,
385
+ previousDescriptor: previousDescriptor,
386
+ nextDescriptor: nextDescriptor,
387
+ isPresentationModal: isModal,
388
+ isPreloaded: isPreloaded,
389
+ onWillDisappear: () => {
390
+ navigation.emit({
391
+ type: "transitionStart",
392
+ data: {
393
+ closing: true
394
+ },
395
+ target: route.key
396
+ });
397
+ },
398
+ onWillAppear: () => {
399
+ navigation.emit({
400
+ type: "transitionStart",
401
+ data: {
402
+ closing: false
403
+ },
404
+ target: route.key
405
+ });
406
+ },
407
+ onAppear: () => {
408
+ navigation.emit({
409
+ type: "transitionEnd",
410
+ data: {
411
+ closing: false
412
+ },
413
+ target: route.key
414
+ });
415
+ },
416
+ onDisappear: () => {
417
+ navigation.emit({
418
+ type: "transitionEnd",
419
+ data: {
420
+ closing: true
421
+ },
422
+ target: route.key
423
+ });
424
+ },
425
+ onDismissed: event => {
426
+ navigation.dispatch({
427
+ ...StackActions.pop(event.nativeEvent.dismissCount),
428
+ source: route.key,
429
+ target: state.key
430
+ });
431
+ setNextDismissedKey(route.key);
432
+ },
433
+ onHeaderBackButtonClicked: () => {
434
+ navigation.dispatch({
435
+ ...StackActions.pop(),
436
+ source: route.key,
437
+ target: state.key
438
+ });
439
+ },
440
+ onNativeDismissCancelled: event => {
441
+ navigation.dispatch({
442
+ ...StackActions.pop(event.nativeEvent.dismissCount),
443
+ source: route.key,
444
+ target: state.key
445
+ });
446
+ },
447
+ onGestureCancel: () => {
448
+ navigation.emit({
449
+ type: "gestureCancel",
450
+ target: route.key
451
+ });
452
+ },
453
+ onSheetDetentChanged: event => {
454
+ navigation.emit({
455
+ type: "sheetDetentChange",
456
+ target: route.key,
457
+ data: {
458
+ index: event.nativeEvent.index,
459
+ stable: event.nativeEvent.isStable
460
+ }
461
+ });
462
+ }
463
+ }, route.key);
466
464
  })
467
465
  })]
468
466
  });