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

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 (285) 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.js +38 -0
  11. package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
  12. package/lib/commonjs/component-stack/components/stack-view.js +65 -0
  13. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -0
  14. package/lib/commonjs/component-stack/index.js +3 -10
  15. package/lib/commonjs/component-stack/index.js.map +1 -1
  16. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +82 -0
  17. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  18. package/lib/commonjs/native-stack/views/NativeStackView.native.js +103 -105
  19. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  20. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +0 -25
  21. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  22. package/lib/commonjs/shared/components/overlay/index.js +1 -3
  23. package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
  24. package/lib/commonjs/shared/components/root-transition-aware.js +5 -1
  25. package/lib/commonjs/shared/components/root-transition-aware.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/hooks/use-stack-pointer-events.js +23 -0
  40. package/lib/commonjs/shared/hooks/use-stack-pointer-events.js.map +1 -0
  41. package/lib/commonjs/shared/providers/gestures.provider.js +3 -0
  42. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  43. package/lib/commonjs/shared/providers/layout-anchor.provider.js +73 -0
  44. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -0
  45. package/lib/commonjs/shared/providers/register-bounds.provider.js +9 -4
  46. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/keys.provider.js +2 -2
  48. package/lib/commonjs/shared/providers/screen/styles.provider.js +38 -4
  49. package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
  50. package/lib/commonjs/shared/providers/stack/core.provider.js +36 -12
  51. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  52. package/lib/commonjs/shared/providers/stack/direct.provider.js +6 -4
  53. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  54. package/lib/commonjs/shared/providers/stack/managed.provider.js +7 -5
  55. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  56. package/lib/commonjs/shared/types/index.js.map +1 -1
  57. package/lib/commonjs/shared/types/stack.types.js +27 -0
  58. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  59. package/lib/commonjs/shared/utils/bounds/index.js +13 -1
  60. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  61. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  62. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  63. package/lib/module/blank-stack/components/adjusted-screen-container.js +31 -0
  64. package/lib/module/blank-stack/components/adjusted-screen-container.js.map +1 -0
  65. package/lib/module/blank-stack/components/{screens.js → adjusted-screen.js} +30 -10
  66. package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
  67. package/lib/module/blank-stack/components/stack-view.js +33 -41
  68. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  69. package/lib/module/blank-stack/components/stack-view.native.js +76 -0
  70. package/lib/module/blank-stack/components/stack-view.native.js.map +1 -0
  71. package/lib/module/component-stack/components/component-screen.js +32 -0
  72. package/lib/module/component-stack/components/component-screen.js.map +1 -0
  73. package/lib/module/component-stack/components/stack-view.js +60 -0
  74. package/lib/module/component-stack/components/stack-view.js.map +1 -0
  75. package/lib/module/component-stack/index.js +1 -2
  76. package/lib/module/component-stack/index.js.map +1 -1
  77. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +77 -0
  78. package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  79. package/lib/module/native-stack/views/NativeStackView.native.js +103 -105
  80. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  81. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +0 -24
  82. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  83. package/lib/module/shared/components/overlay/index.js +1 -3
  84. package/lib/module/shared/components/overlay/index.js.map +1 -1
  85. package/lib/module/shared/components/root-transition-aware.js +5 -1
  86. package/lib/module/shared/components/root-transition-aware.js.map +1 -1
  87. package/lib/module/shared/constants.js +2 -0
  88. package/lib/module/shared/constants.js.map +1 -1
  89. package/lib/module/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +14 -17
  90. package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
  91. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +8 -1
  92. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
  93. package/lib/module/shared/hooks/animation/use-screen-animation.js +2 -2
  94. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  95. package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -2
  96. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  97. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  98. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +5 -0
  99. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  100. package/lib/module/shared/hooks/use-stack-pointer-events.js +20 -0
  101. package/lib/module/shared/hooks/use-stack-pointer-events.js.map +1 -0
  102. package/lib/module/shared/providers/gestures.provider.js +3 -0
  103. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  104. package/lib/module/shared/providers/layout-anchor.provider.js +67 -0
  105. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -0
  106. package/lib/module/shared/providers/register-bounds.provider.js +9 -4
  107. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  108. package/lib/module/shared/providers/screen/keys.provider.js +2 -2
  109. package/lib/module/shared/providers/screen/styles.provider.js +39 -5
  110. package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
  111. package/lib/module/shared/providers/stack/core.provider.js +35 -11
  112. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  113. package/lib/module/shared/providers/stack/direct.provider.js +6 -4
  114. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  115. package/lib/module/shared/providers/stack/managed.provider.js +7 -5
  116. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  117. package/lib/module/shared/types/index.js.map +1 -1
  118. package/lib/module/shared/types/stack.types.js +31 -1
  119. package/lib/module/shared/types/stack.types.js.map +1 -1
  120. package/lib/module/shared/utils/bounds/index.js +13 -1
  121. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  122. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  123. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  124. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts +6 -0
  125. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts.map +1 -0
  126. package/lib/typescript/blank-stack/components/{screens.d.ts → adjusted-screen.d.ts} +2 -2
  127. package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -0
  128. package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
  129. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  130. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +4 -0
  131. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -0
  132. package/lib/typescript/blank-stack/types.d.ts +3 -1
  133. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  134. package/lib/typescript/component-stack/components/component-screen.d.ts +8 -0
  135. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -0
  136. package/lib/typescript/component-stack/components/stack-view.d.ts +4 -0
  137. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -0
  138. package/lib/typescript/component-stack/index.d.ts +2 -3
  139. package/lib/typescript/component-stack/index.d.ts.map +1 -1
  140. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +23 -0
  141. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -0
  142. package/lib/typescript/component-stack/types.d.ts +24 -191
  143. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  144. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
  145. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  146. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +0 -9
  147. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  148. package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
  149. package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
  150. package/lib/typescript/shared/components/root-transition-aware.d.ts.map +1 -1
  151. package/lib/typescript/shared/constants.d.ts +1 -0
  152. package/lib/typescript/shared/constants.d.ts.map +1 -1
  153. package/lib/typescript/shared/controller/managed-lifecycle.d.ts +9 -0
  154. package/lib/typescript/shared/controller/managed-lifecycle.d.ts.map +1 -0
  155. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts +7 -0
  156. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -1
  157. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -1
  158. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  159. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  160. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +4 -9
  161. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  162. package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
  163. package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts +10 -0
  164. package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts.map +1 -0
  165. package/lib/typescript/shared/index.d.ts +13 -13
  166. package/lib/typescript/shared/index.d.ts.map +1 -1
  167. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +34 -0
  169. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -0
  170. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  171. package/lib/typescript/shared/providers/screen/keys.provider.d.ts +2 -2
  172. package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
  173. package/lib/typescript/shared/providers/stack/core.provider.d.ts +15 -4
  174. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  175. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  176. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
  177. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  178. package/lib/typescript/shared/types/bounds.types.d.ts +1 -0
  179. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  180. package/lib/typescript/shared/types/index.d.ts +1 -1
  181. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  182. package/lib/typescript/shared/types/overlay.types.d.ts +1 -12
  183. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  184. package/lib/typescript/shared/types/screen.types.d.ts +2 -2
  185. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  186. package/lib/typescript/shared/types/stack.types.d.ts +6 -2
  187. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  188. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  189. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  190. package/package.json +1 -1
  191. package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
  192. package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +33 -12
  193. package/src/blank-stack/components/stack-view.native.tsx +94 -0
  194. package/src/blank-stack/components/stack-view.tsx +41 -47
  195. package/src/blank-stack/types.ts +3 -2
  196. package/src/component-stack/components/component-screen.tsx +40 -0
  197. package/src/component-stack/components/stack-view.tsx +74 -0
  198. package/src/component-stack/index.ts +6 -12
  199. package/src/component-stack/navigators/create-component-stack-navigator.tsx +119 -0
  200. package/src/component-stack/types.ts +80 -188
  201. package/src/native-stack/views/NativeStackView.native.tsx +104 -106
  202. package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -146
  203. package/src/shared/components/overlay/helpers/get-active-overlay.ts +0 -26
  204. package/src/shared/components/overlay/index.ts +0 -2
  205. package/src/shared/components/root-transition-aware.tsx +7 -2
  206. package/src/shared/constants.ts +3 -0
  207. package/src/{blank-stack/controllers/blank-stack-lifecycle.tsx → shared/controller/managed-lifecycle.tsx} +14 -18
  208. package/src/shared/hooks/animation/use-high-refresh-rate.tsx +7 -1
  209. package/src/shared/hooks/animation/use-screen-animation.tsx +5 -3
  210. package/src/shared/hooks/gestures/use-build-gestures.tsx +9 -1
  211. package/src/shared/hooks/navigation/use-stack.tsx +4 -15
  212. package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
  213. package/src/shared/hooks/use-stack-pointer-events.ts +15 -0
  214. package/src/shared/index.ts +2 -1
  215. package/src/shared/providers/gestures.provider.tsx +5 -1
  216. package/src/shared/providers/layout-anchor.provider.tsx +81 -0
  217. package/src/shared/providers/register-bounds.provider.tsx +11 -4
  218. package/src/shared/providers/screen/keys.provider.tsx +2 -2
  219. package/src/shared/providers/screen/styles.provider.tsx +50 -5
  220. package/src/shared/providers/stack/core.provider.tsx +56 -28
  221. package/src/shared/providers/stack/direct.provider.tsx +4 -1
  222. package/src/shared/providers/stack/managed.provider.tsx +5 -2
  223. package/src/shared/types/bounds.types.ts +5 -0
  224. package/src/shared/types/index.ts +0 -1
  225. package/src/shared/types/overlay.types.ts +1 -14
  226. package/src/shared/types/screen.types.ts +2 -8
  227. package/src/shared/types/stack.types.ts +7 -2
  228. package/src/shared/utils/bounds/index.ts +18 -1
  229. package/src/shared/utils/navigation/sync-routes-with-removed.ts +28 -58
  230. package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
  231. package/lib/commonjs/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  232. package/lib/commonjs/component-stack/components/component-view.js +0 -63
  233. package/lib/commonjs/component-stack/components/component-view.js.map +0 -1
  234. package/lib/commonjs/component-stack/components/screens.js +0 -64
  235. package/lib/commonjs/component-stack/components/screens.js.map +0 -1
  236. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js +0 -82
  237. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  238. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js +0 -321
  239. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  240. package/lib/commonjs/component-stack/hooks/use-component-navigation.js +0 -28
  241. package/lib/commonjs/component-stack/hooks/use-component-navigation.js.map +0 -1
  242. package/lib/commonjs/component-stack/navigators/create-component-navigator.js +0 -97
  243. package/lib/commonjs/component-stack/navigators/create-component-navigator.js.map +0 -1
  244. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js +0 -99
  245. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js.map +0 -1
  246. package/lib/module/blank-stack/components/screens.js.map +0 -1
  247. package/lib/module/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  248. package/lib/module/component-stack/components/component-view.js +0 -58
  249. package/lib/module/component-stack/components/component-view.js.map +0 -1
  250. package/lib/module/component-stack/components/screens.js +0 -58
  251. package/lib/module/component-stack/components/screens.js.map +0 -1
  252. package/lib/module/component-stack/controllers/component-stack-lifecycle.js +0 -76
  253. package/lib/module/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  254. package/lib/module/component-stack/hooks/use-component-navigation-builder.js +0 -316
  255. package/lib/module/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  256. package/lib/module/component-stack/hooks/use-component-navigation.js +0 -25
  257. package/lib/module/component-stack/hooks/use-component-navigation.js.map +0 -1
  258. package/lib/module/component-stack/navigators/create-component-navigator.js +0 -91
  259. package/lib/module/component-stack/navigators/create-component-navigator.js.map +0 -1
  260. package/lib/module/shared/components/overlay/variations/container-overlay.js +0 -97
  261. package/lib/module/shared/components/overlay/variations/container-overlay.js.map +0 -1
  262. package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
  263. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts +0 -9
  264. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts.map +0 -1
  265. package/lib/typescript/component-stack/components/component-view.d.ts +0 -4
  266. package/lib/typescript/component-stack/components/component-view.d.ts.map +0 -1
  267. package/lib/typescript/component-stack/components/screens.d.ts +0 -9
  268. package/lib/typescript/component-stack/components/screens.d.ts.map +0 -1
  269. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts +0 -10
  270. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts.map +0 -1
  271. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts +0 -19
  272. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts.map +0 -1
  273. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts +0 -19
  274. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts.map +0 -1
  275. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts +0 -35
  276. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts.map +0 -1
  277. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts +0 -8
  278. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts.map +0 -1
  279. package/src/component-stack/components/component-view.tsx +0 -72
  280. package/src/component-stack/components/screens.tsx +0 -86
  281. package/src/component-stack/controllers/component-stack-lifecycle.tsx +0 -80
  282. package/src/component-stack/hooks/use-component-navigation-builder.tsx +0 -388
  283. package/src/component-stack/hooks/use-component-navigation.tsx +0 -22
  284. package/src/component-stack/navigators/create-component-navigator.tsx +0 -104
  285. 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,32 @@
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
+ const POINT_NONE = "none";
9
+ const POINT_BOX_NONE = "box-none";
10
+ export const ComponentScreen = ({
11
+ routeKey,
12
+ children
13
+ }) => {
14
+ const sceneClosing = AnimationStore.getAnimation(routeKey, "closing");
15
+ const screenRef = useAnimatedRef();
16
+ const animatedProps = useAnimatedProps(() => {
17
+ return {
18
+ pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
19
+ };
20
+ });
21
+ const ComponentScreenComponent = Animated.View;
22
+ return /*#__PURE__*/_jsx(ComponentScreenComponent, {
23
+ ref: screenRef,
24
+ style: StyleSheet.absoluteFill,
25
+ animatedProps: animatedProps,
26
+ children: /*#__PURE__*/_jsx(LayoutAnchorProvider, {
27
+ anchorRef: screenRef,
28
+ children: children
29
+ })
30
+ });
31
+ };
32
+ //# sourceMappingURL=component-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Animated","useAnimatedProps","useAnimatedRef","LayoutAnchorProvider","AnimationStore","jsx","_jsx","POINT_NONE","POINT_BOX_NONE","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;AAMrE,MAAMC,UAAU,GAAG,MAAe;AAClC,MAAMC,cAAc,GAAG,UAAmB;AAE1C,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGR,cAAc,CAACS,YAAY,CAACH,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMI,SAAS,GAAGZ,cAAc,CAAO,CAAC;EAExC,MAAMa,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC5C,OAAO;MACNe,aAAa,EAAEJ,YAAY,CAACK,GAAG,CAAC,CAAC,GAAGV,UAAU,GAAGC;IAClD,CAAC;EACF,CAAC,CAAC;EAEF,MAAMU,wBAAwB,GAAGlB,QAAQ,CAACmB,IAAI;EAE9C,oBACCb,IAAA,CAACY,wBAAwB;IACxBE,GAAG,EAAEN,SAAU;IACfO,KAAK,EAAEtB,UAAU,CAACuB,YAAa;IAC/BP,aAAa,EAAEA,aAAc;IAAAJ,QAAA,eAE7BL,IAAA,CAACH,oBAAoB;MAACoB,SAAS,EAAET,SAAU;MAAAH,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC","ignoreList":[]}
@@ -0,0 +1,60 @@
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 { StackType } from "../../shared/types/stack.types";
12
+ import { ComponentScreen } from "./component-screen";
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
+ STACK_TYPE: StackType.COMPONENT
33
+ }, withManagedStack(({
34
+ scenes,
35
+ shouldShowFloatOverlay
36
+ }) => {
37
+ return /*#__PURE__*/_jsxs(Fragment, {
38
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(Fragment, {
39
+ children: scenes.map((scene, sceneIndex) => {
40
+ const descriptor = scene.descriptor;
41
+ const route = scene.route;
42
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
43
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
44
+ return /*#__PURE__*/_jsx(ComponentScreen, {
45
+ routeKey: route.key,
46
+ children: /*#__PURE__*/_jsx(ScreenComposer, {
47
+ previous: previousDescriptor,
48
+ current: descriptor,
49
+ next: nextDescriptor,
50
+ LifecycleController: ManagedLifecycle,
51
+ children: /*#__PURE__*/_jsx(SceneView, {
52
+ descriptor: descriptor
53
+ }, route.key)
54
+ })
55
+ }, route.key);
56
+ })
57
+ })]
58
+ });
59
+ }));
60
+ //# sourceMappingURL=stack-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","React","Fragment","Overlay","ManagedLifecycle","ScreenComposer","withStackCore","withManagedStack","StackType","ComponentScreen","jsx","_jsx","jsxs","_jsxs","SceneView","memo","descriptor","route","navigation","render","Provider","value","children","options","overlayMode","Screen","StackView","TRANSITIONS_ALWAYS_ON","STACK_TYPE","COMPONENT","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;AAChF,SAASC,SAAS,QAAQ,gCAAgC;AAK1D,SAASC,eAAe,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMrD,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,IAAI;EAAEC,UAAU,EAAEpB,SAAS,CAACqB;AAAU,CAAC,EAChEtB,gBAAgB,CACf,CAAC;EAAEuB,MAAM;EAAEC;AAAuB,CAAC,KAAK;EACvC,oBACClB,KAAA,CAACX,QAAQ;IAAAoB,QAAA,GACPS,sBAAsB,gBAAGpB,IAAA,CAACR,OAAO,CAAC6B,KAAK,IAAE,CAAC,GAAG,IAAI,eAElDrB,IAAA,CAACT,QAAQ;MAAAoB,QAAA,EACPQ,MAAM,CAACG,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMnB,UAAU,GAAGkB,KAAK,CAAClB,UAAU;QACnC,MAAMC,KAAK,GAAGiB,KAAK,CAACjB,KAAK;QAEzB,MAAMmB,kBAAkB,GACvBN,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;QAChD,MAAMC,cAAc,GACnBR,MAAM,CAACK,UAAU,GAAG,CAAC,CAAC,EAAEnB,UAAU,IAAIqB,SAAS;QAEhD,oBACC1B,IAAA,CAACF,eAAe;UAAiB8B,QAAQ,EAAEtB,KAAK,CAACuB,GAAI;UAAAlB,QAAA,eACpDX,IAAA,CAACN,cAAc;YACdoC,QAAQ,EAAEL,kBAAmB;YAC7BM,OAAO,EAAE1B,UAAW;YACpB2B,IAAI,EAAEL,cAAe;YACrBM,mBAAmB,EAAExC,gBAAiB;YAAAkB,QAAA,eAEtCX,IAAA,CAACG,SAAS;cAAiBE,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACuB,GAA8B;UAAC,CACtC;QAAC,GARIvB,KAAK,CAACuB,GASX,CAAC;MAEpB,CAAC;IAAC,CACO,CAAC;EAAA,CACF,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,77 @@
1
+ "use strict";
2
+
3
+ import { createNavigatorFactory, NavigationContainer, NavigationIndependentTree, StackRouter, useNavigationBuilder } from "@react-navigation/native";
4
+ import * as React from "react";
5
+ import { StackView } from "../components/stack-view";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ /**
8
+ * Context to detect if we're inside a ComponentStack.
9
+ * Used to avoid double-wrapping nested ComponentStacks in NavigationIndependentTree.
10
+ */
11
+ const ComponentStackContext = /*#__PURE__*/React.createContext(false);
12
+ ComponentStackContext.displayName = "ComponentStackContext";
13
+ const ComponentStackNavigatorInner = /*#__PURE__*/React.memo(function ComponentStackNavigatorInner({
14
+ id,
15
+ initialRouteName,
16
+ children,
17
+ layout,
18
+ screenListeners,
19
+ screenOptions,
20
+ screenLayout,
21
+ ...rest
22
+ }) {
23
+ const {
24
+ state,
25
+ describe,
26
+ descriptors,
27
+ navigation,
28
+ NavigationContent
29
+ } = useNavigationBuilder(StackRouter, {
30
+ id,
31
+ initialRouteName,
32
+ children,
33
+ layout,
34
+ screenListeners,
35
+ screenOptions,
36
+ screenLayout
37
+ });
38
+ return /*#__PURE__*/_jsx(NavigationContent, {
39
+ children: /*#__PURE__*/_jsx(StackView, {
40
+ ...rest,
41
+ state: state,
42
+ navigation: navigation,
43
+ descriptors: descriptors,
44
+ describe: describe
45
+ })
46
+ });
47
+ });
48
+
49
+ /**
50
+ * ComponentStackNavigator conditionally wraps in NavigationIndependentTree.
51
+ * - If already inside a ComponentStack (nested), just render the inner navigator
52
+ * so it participates in the parent's navigation tree and goBack() works.
53
+ * - If top-level, wrap in NavigationIndependentTree + NavigationContainer
54
+ * to isolate from Expo Router / React Navigation.
55
+ */
56
+ function IsolatedComponentStackNavigator(props) {
57
+ const isNested = React.useContext(ComponentStackContext);
58
+ if (isNested) {
59
+ return /*#__PURE__*/_jsx(ComponentStackNavigatorInner, {
60
+ ...props
61
+ });
62
+ }
63
+ return /*#__PURE__*/_jsx(NavigationIndependentTree, {
64
+ children: /*#__PURE__*/_jsx(NavigationContainer, {
65
+ children: /*#__PURE__*/_jsx(ComponentStackContext.Provider, {
66
+ value: true,
67
+ children: /*#__PURE__*/_jsx(ComponentStackNavigatorInner, {
68
+ ...props
69
+ })
70
+ })
71
+ })
72
+ });
73
+ }
74
+ export function createComponentStackNavigator(config) {
75
+ return createNavigatorFactory(IsolatedComponentStackNavigator)(config);
76
+ }
77
+ //# sourceMappingURL=create-component-stack-navigator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createNavigatorFactory","NavigationContainer","NavigationIndependentTree","StackRouter","useNavigationBuilder","React","StackView","jsx","_jsx","ComponentStackContext","createContext","displayName","ComponentStackNavigatorInner","memo","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","rest","state","describe","descriptors","navigation","NavigationContent","IsolatedComponentStackNavigator","props","isNested","useContext","Provider","value","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,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQrD;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,gBAAGJ,KAAK,CAACK,aAAa,CAAU,KAAK,CAAC;AACjED,qBAAqB,CAACE,WAAW,GAAG,uBAAuB;AAE3D,MAAMC,4BAA4B,gBAAGP,KAAK,CAACQ,IAAI,CAC9C,SAASD,4BAA4BA,CAAC;EACrCE,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,GACpEtB,oBAAoB,CAMlBD,WAAW,EAAE;IACdW,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC;EACD,CAAC,CAAC;EAEH,oBACCZ,IAAA,CAACkB,iBAAiB;IAAAV,QAAA,eACjBR,IAAA,CAACF,SAAS;MAAA,GACLe,IAAI;MACRC,KAAK,EAAEA,KAAM;MACbG,UAAU,EAAEA,UAAW;MACvBD,WAAW,EAAEA,WAAY;MACzBD,QAAQ,EAAEA;IAAS,CACnB;EAAC,CACgB,CAAC;AAEtB,CACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASI,+BAA+BA,CAACC,KAAmC,EAAE;EAC7E,MAAMC,QAAQ,GAAGxB,KAAK,CAACyB,UAAU,CAACrB,qBAAqB,CAAC;EAExD,IAAIoB,QAAQ,EAAE;IACb,oBAAOrB,IAAA,CAACI,4BAA4B;MAAA,GAAKgB;IAAK,CAAG,CAAC;EACnD;EAEA,oBACCpB,IAAA,CAACN,yBAAyB;IAAAc,QAAA,eACzBR,IAAA,CAACP,mBAAmB;MAAAe,QAAA,eACnBR,IAAA,CAACC,qBAAqB,CAACsB,QAAQ;QAACC,KAAK,EAAE,IAAK;QAAAhB,QAAA,eAC3CR,IAAA,CAACI,4BAA4B;UAAA,GAAKgB;QAAK,CAAG;MAAC,CACZ;IAAC,CACb;EAAC,CACI,CAAC;AAE9B;AAEA,OAAO,SAASK,6BAA6BA,CAmB3CC,MAAe,EAAmC;EACnD,OAAOlC,sBAAsB,CAAC2B,+BAA+B,CAAC,CAACO,MAAM,CAAC;AACvE","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
  });