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
@@ -1,11 +1,14 @@
1
1
  import { SafeAreaProviderCompat } from "@react-navigation/elements";
2
- import * as React from "react";
2
+ import type * as React from "react";
3
3
  import { StyleSheet } from "react-native";
4
4
  import { GestureHandlerRootView } from "react-native-gesture-handler";
5
+ import { StackType } from "../../types/stack.types";
5
6
  import createProvider from "../../utils/create-provider";
6
7
 
7
- interface StackCoreConfig {
8
+ export interface StackCoreConfig {
8
9
  TRANSITIONS_ALWAYS_ON?: boolean;
10
+ STACK_TYPE?: StackType;
11
+ DISABLE_NATIVE_SCREENS?: boolean;
9
12
  }
10
13
 
11
14
  interface StackCoreProviderProps {
@@ -13,47 +16,70 @@ interface StackCoreProviderProps {
13
16
  children: React.ReactNode;
14
17
  }
15
18
 
16
- interface StackCoreContextValue {
19
+ export interface StackCoreContextValue {
17
20
  flags: {
18
21
  TRANSITIONS_ALWAYS_ON: boolean;
22
+ STACK_TYPE?: StackType;
23
+ DISABLE_NATIVE_SCREENS: boolean;
19
24
  };
20
25
  }
21
26
 
22
- const { StackCoreProvider: InternalStackCoreProvider } = createProvider(
23
- "StackCore",
24
- { guarded: true },
25
- )<StackCoreProviderProps, StackCoreContextValue>(({ config, children }) => {
26
- const { TRANSITIONS_ALWAYS_ON = false } = config;
27
+ const { StackCoreProvider: InternalStackCoreProvider, useStackCoreContext } =
28
+ createProvider("StackCore", { guarded: true })<
29
+ StackCoreProviderProps,
30
+ StackCoreContextValue
31
+ >(({ config, children }) => {
32
+ const {
33
+ TRANSITIONS_ALWAYS_ON = false,
34
+ DISABLE_NATIVE_SCREENS = false,
35
+ STACK_TYPE = StackType.BLANK,
36
+ } = config;
27
37
 
28
- const value = React.useMemo(
29
- () => ({
30
- flags: { TRANSITIONS_ALWAYS_ON },
31
- }),
32
- [TRANSITIONS_ALWAYS_ON],
33
- );
34
-
35
- return {
36
- value,
37
- children: (
38
- <GestureHandlerRootView style={styles.container}>
39
- <SafeAreaProviderCompat>{children}</SafeAreaProviderCompat>
40
- </GestureHandlerRootView>
41
- ),
42
- };
43
- });
38
+ return {
39
+ value: {
40
+ flags: {
41
+ TRANSITIONS_ALWAYS_ON,
42
+ STACK_TYPE,
43
+ DISABLE_NATIVE_SCREENS,
44
+ },
45
+ },
46
+ children: (
47
+ <GestureHandlerRootView
48
+ style={styles.container}
49
+ pointerEvents={
50
+ STACK_TYPE === StackType.COMPONENT ? "box-none" : undefined
51
+ }
52
+ >
53
+ <SafeAreaProviderCompat>{children}</SafeAreaProviderCompat>
54
+ </GestureHandlerRootView>
55
+ ),
56
+ };
57
+ });
44
58
 
45
59
  /**
46
60
  * HOC that wraps a component with the StackCore provider.
47
61
  * Just a simple open gate
48
62
  */
49
63
  export function withStackCore<TProps extends object>(
50
- config: StackCoreConfig,
64
+ defaultConfig: StackCoreConfig,
51
65
  Component: React.ComponentType<TProps>,
52
- ): React.FC<TProps> {
53
- return function StackCoreWrapper(props: TProps) {
66
+ ): React.FC<TProps & StackCoreConfig> {
67
+ return function StackCoreWrapper({
68
+ DISABLE_NATIVE_SCREENS,
69
+ TRANSITIONS_ALWAYS_ON,
70
+ STACK_TYPE,
71
+ ...props
72
+ }: TProps & StackCoreConfig) {
73
+ // User props first, then defaultConfig overrides (config takes priority)
74
+ const config: StackCoreConfig = {
75
+ ...(DISABLE_NATIVE_SCREENS !== undefined && { DISABLE_NATIVE_SCREENS }),
76
+ ...(TRANSITIONS_ALWAYS_ON !== undefined && { TRANSITIONS_ALWAYS_ON }),
77
+ ...(STACK_TYPE !== undefined && { STACK_TYPE }),
78
+ ...defaultConfig,
79
+ };
54
80
  return (
55
81
  <InternalStackCoreProvider config={config}>
56
- <Component {...props} />
82
+ <Component {...(props as TProps)} />
57
83
  </InternalStackCoreProvider>
58
84
  );
59
85
  };
@@ -62,3 +88,5 @@ export function withStackCore<TProps extends object>(
62
88
  const styles = StyleSheet.create({
63
89
  container: { flex: 1 },
64
90
  });
91
+
92
+ export { useStackCoreContext };
@@ -16,6 +16,7 @@ import {
16
16
  type StackContextValue,
17
17
  } from "../../hooks/navigation/use-stack";
18
18
  import { AnimationStore } from "../../stores/animation.store";
19
+ import { useStackCoreContext } from "./core.provider";
19
20
 
20
21
  export interface DirectStackScene {
21
22
  route: StackNavigationState<ParamListBase>["routes"][number];
@@ -67,6 +68,7 @@ function useDirectStackValue(
67
68
  props: DirectStackProps,
68
69
  ): DirectStackContextValue & { stackContextValue: StackContextValue } {
69
70
  const { state, navigation, descriptors, describe } = props;
71
+ const { flags } = useStackCoreContext();
70
72
 
71
73
  const preloadedDescriptors = useMemo(() => {
72
74
  return state.preloadedRoutes.reduce<NativeStackDescriptorMap>(
@@ -156,7 +158,7 @@ function useDirectStackValue(
156
158
 
157
159
  const stackContextValue = useMemo<StackContextValue>(
158
160
  () => ({
159
- flags: { TRANSITIONS_ALWAYS_ON: false },
161
+ flags,
160
162
  routeKeys,
161
163
  routes: allRoutes,
162
164
  descriptors: allDescriptors,
@@ -173,6 +175,7 @@ function useDirectStackValue(
173
175
  focusedIndex,
174
176
  stackProgress,
175
177
  optimisticFocusedIndex,
178
+ flags,
176
179
  ],
177
180
  );
178
181
 
@@ -18,6 +18,7 @@ import type {
18
18
  BaseStackScene,
19
19
  BaseStackState,
20
20
  } from "../../types/stack.types";
21
+ import { useStackCoreContext } from "./core.provider";
21
22
  import { calculateActiveScreensLimit } from "./helpers/active-screens-limit";
22
23
  import { useLocalRoutes } from "./helpers/use-local-routes";
23
24
 
@@ -77,6 +78,7 @@ function useManagedStackValue<
77
78
  ): ManagedStackContextValue<TDescriptor> & {
78
79
  stackContextValue: StackContextValue;
79
80
  } {
81
+ const { flags } = useStackCoreContext();
80
82
  const { state, handleCloseRoute, closingRouteKeys } = useLocalRoutes(props);
81
83
 
82
84
  const { scenes, activeScreensLimit, shouldShowFloatOverlay, routeKeys } =
@@ -143,7 +145,7 @@ function useManagedStackValue<
143
145
  // StackContext value - for overlays via useStack()
144
146
  const stackContextValue = useMemo<StackContextValue>(
145
147
  () => ({
146
- flags: { TRANSITIONS_ALWAYS_ON: true },
148
+ flags,
147
149
  routeKeys,
148
150
  routes: state.routes as Route<string>[],
149
151
  descriptors: state.descriptors as Record<string, BaseStackDescriptor>,
@@ -160,6 +162,7 @@ function useManagedStackValue<
160
162
  focusedIndex,
161
163
  stackProgress,
162
164
  optimisticFocusedIndex,
165
+ flags,
163
166
  ],
164
167
  );
165
168
 
@@ -196,7 +199,7 @@ function useManagedStackValue<
196
199
 
197
200
  /**
198
201
  * HOC that wraps component with ManagedStack provider AND StackContext.
199
- * Used by blank-stack and component-stack which manage local route state for closing animations.
202
+ * Used by blank-stack which manages local route state for closing animations.
200
203
  * Generic over descriptor type - defaults to BaseStackDescriptor.
201
204
  */
202
205
  function withManagedStack<
@@ -33,4 +33,9 @@ export type BoundsAccessor = {
33
33
  property: keyof StyleProps,
34
34
  fallback?: number,
35
35
  ) => number;
36
+ interpolateBounds: (
37
+ id: string,
38
+ property: keyof MeasuredDimensions,
39
+ fallback?: number,
40
+ ) => number;
36
41
  };
@@ -24,7 +24,6 @@ export type {
24
24
  } from "./gesture.types";
25
25
 
26
26
  export type {
27
- ContainerOverlayProps,
28
27
  OverlayMode,
29
28
  OverlayProps,
30
29
  } from "./overlay.types";
@@ -5,7 +5,7 @@ import type {
5
5
  ScreenInterpolationProps,
6
6
  } from "./animation.types";
7
7
 
8
- export type OverlayMode = "float" | "screen" | "container";
8
+ export type OverlayMode = "float" | "screen";
9
9
 
10
10
  /**
11
11
  * Props passed to overlay components.
@@ -47,16 +47,3 @@ export type OverlayProps<TNavigation = unknown> = {
47
47
  */
48
48
  screenAnimation: DerivedValue<ScreenInterpolationProps>;
49
49
  };
50
-
51
- /**
52
- * Props passed to container overlay components.
53
- * Extends OverlayProps with children - the screen content to wrap.
54
- */
55
- export type ContainerOverlayProps<TNavigation = unknown> =
56
- OverlayProps<TNavigation> & {
57
- /**
58
- * The screen content to be wrapped by the container overlay.
59
- * This allows the overlay to act as a wrapper (e.g., MaskedView) around screens.
60
- */
61
- children: React.ReactNode;
62
- };
@@ -4,11 +4,7 @@ import type {
4
4
  TransitionSpec,
5
5
  } from "./animation.types";
6
6
  import type { GestureActivationArea, GestureDirection } from "./gesture.types";
7
- import type {
8
- ContainerOverlayProps,
9
- OverlayMode,
10
- OverlayProps,
11
- } from "./overlay.types";
7
+ import type { OverlayMode, OverlayProps } from "./overlay.types";
12
8
 
13
9
  export type Layout = {
14
10
  width: number;
@@ -111,9 +107,7 @@ export type ScreenTransitionConfig = {
111
107
  * Function that returns a React Element to display as an overlay.
112
108
  * For container overlays (overlayMode: 'container'), use ContainerOverlayProps which includes children.
113
109
  */
114
- overlay?:
115
- | ((props: OverlayProps) => React.ReactNode)
116
- | ((props: ContainerOverlayProps) => React.ReactNode);
110
+ overlay?: (props: OverlayProps) => React.ReactNode;
117
111
 
118
112
  /**
119
113
  * How the overlay is positioned relative to screens.
@@ -2,7 +2,6 @@ import type { ScreenTransitionConfig } from "./screen.types";
2
2
 
3
3
  /**
4
4
  * Base route interface - minimal contract all stacks satisfy.
5
- * React Navigation routes and ComponentStack routes both extend this.
6
5
  * Uses `object` for params to be compatible with React Navigation's `Readonly<object | undefined>`.
7
6
  */
8
7
  export interface BaseStackRoute {
@@ -22,7 +21,7 @@ export interface BaseStackNavigation {
22
21
 
23
22
  /**
24
23
  * Base descriptor interface - generic over route, navigation, and options.
25
- * All stack descriptors (BlankStack, NativeStack, ComponentStack) extend this.
24
+ * All stack descriptors (BlankStack, NativeStack) extend this.
26
25
  */
27
26
  export interface BaseStackDescriptor<
28
27
  TRoute extends BaseStackRoute = BaseStackRoute,
@@ -57,3 +56,9 @@ export interface BaseStackState<
57
56
  index: number;
58
57
  key: string;
59
58
  }
59
+
60
+ export enum StackType {
61
+ NATIVE = "native",
62
+ BLANK = "blank",
63
+ COMPONENT = "component",
64
+ }
@@ -1,4 +1,4 @@
1
- import type { MeasuredDimensions } from "react-native-reanimated";
1
+ import { interpolate, type MeasuredDimensions } from "react-native-reanimated";
2
2
  import {
3
3
  EMPTY_BOUND_HELPER_RESULT,
4
4
  EMPTY_BOUND_HELPER_RESULT_RAW,
@@ -227,9 +227,26 @@ export const createBounds = (
227
227
  });
228
228
  };
229
229
 
230
+ const interpolateBounds = (
231
+ tag: string,
232
+ property: keyof MeasuredDimensions,
233
+ fallback?: number,
234
+ ): number => {
235
+ "worklet";
236
+ const link = getLink(tag);
237
+ const entering = !props.next;
238
+ const range = entering ? ENTER_RANGE : EXIT_RANGE;
239
+
240
+ const sourceValue = link?.source?.bounds?.[property] ?? fallback ?? 0;
241
+ const destValue = link?.destination?.bounds?.[property] ?? fallback ?? 0;
242
+
243
+ return interpolate(props.progress, range, [sourceValue, destValue], "clamp");
244
+ };
245
+
230
246
  return Object.assign(boundsFunction, {
231
247
  getSnapshot,
232
248
  getLink,
233
249
  interpolateStyle,
250
+ interpolateBounds,
234
251
  }) as BoundsAccessor;
235
252
  };
@@ -1,7 +1,4 @@
1
1
  import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-route-keys";
2
- import { AnimationStore } from "../../stores/animation.store";
3
- import { GestureStore } from "../../stores/gesture.store";
4
- import { readSharedValue } from "../read-shared-value";
5
2
  import { composeDescriptors } from "./compose-descriptors";
6
3
 
7
4
  interface RouteWithKey {
@@ -19,24 +16,6 @@ type SyncRoutesWithRemovedParams<
19
16
  closingRouteKeys: ReturnType<typeof useClosingRouteKeys>;
20
17
  };
21
18
 
22
- const isRouteDismissing = (routeKey: string): boolean => {
23
- const gestures = GestureStore.getRouteGestures(routeKey);
24
- const animations = AnimationStore.getAll(routeKey);
25
-
26
- const isBeingDragged = readSharedValue(gestures.isDragging) === 1;
27
- const isProgrammaticallyDismissing =
28
- readSharedValue(gestures.isDismissing) === 1;
29
- const isClosing = readSharedValue(animations.closing) === 1;
30
- const hasNotFullyEntered = readSharedValue(animations.progress) < 0.5;
31
-
32
- return (
33
- isBeingDragged ||
34
- isProgrammaticallyDismissing ||
35
- isClosing ||
36
- hasNotFullyEntered
37
- );
38
- };
39
-
40
19
  /**
41
20
  * Synchronizes routes while handling removed routes that may still be animating out.
42
21
  * This manages the complex logic of keeping closing routes visible during transitions.
@@ -62,54 +41,41 @@ export const syncRoutesWithRemoved = <
62
41
  };
63
42
  }
64
43
 
65
- // Reorder mid-dismiss routes to the end so they animate out above newer routes.
66
- // Only middle routes are moved - first (root) and last (focused) stay in place.
67
- const stableRoutes: Route[] = [];
68
- const dismissingMiddleRoutes: Route[] = [];
69
-
70
- for (let i = 0; i < nextRoutes.length; i++) {
71
- const route = nextRoutes[i];
72
- const isFirstOrLast = i === 0 || i === nextRoutes.length - 1;
73
-
74
- if (!isFirstOrLast && isRouteDismissing(route.key)) {
75
- closingRouteKeys.add(route.key);
76
- dismissingMiddleRoutes.push(route);
77
- } else {
78
- stableRoutes.push(route);
79
- }
80
- }
81
-
82
- const routes: Route[] = [...stableRoutes, ...dismissingMiddleRoutes];
44
+ // Start with next routes, will mutate if needed
45
+ const derivedRoutes: Route[] = nextRoutes.slice();
83
46
 
84
- // Handle focus transitions (when the top route changes)
47
+ // Get focused (last) routes for comparison
85
48
  const previousFocusedRoute = prevRoutes[prevRoutes.length - 1];
86
49
  const nextFocusedRoute = nextRoutes[nextRoutes.length - 1];
87
- const focusHasChanged =
50
+
51
+ // Handle focus changes between routes
52
+ if (
88
53
  previousFocusedRoute &&
89
54
  nextFocusedRoute &&
90
- previousFocusedRoute.key !== nextFocusedRoute.key;
91
-
92
- if (focusHasChanged) {
93
- const nextRouteExistedBefore = prevRoutes.some(
55
+ previousFocusedRoute.key !== nextFocusedRoute.key
56
+ ) {
57
+ const nextRouteWasPresent = prevRoutes.some(
94
58
  (route) => route.key === nextFocusedRoute.key,
95
59
  );
96
- const previousRouteStillExists = nextRoutes.some(
60
+ const previousRouteStillPresent = nextRoutes.some(
97
61
  (route) => route.key === previousFocusedRoute.key,
98
62
  );
99
63
 
100
- if (nextRouteExistedBefore && !previousRouteStillExists) {
101
- // Back navigation: previous route was popped, keep it for exit animation
64
+ if (nextRouteWasPresent && !previousRouteStillPresent) {
65
+ // Previous route was removed, mark as closing
102
66
  closingRouteKeys.add(previousFocusedRoute.key);
103
- routes.push(previousFocusedRoute);
67
+
68
+ derivedRoutes.push(previousFocusedRoute);
104
69
  } else {
105
- // Forward navigation: new route gained focus
70
+ // Next route is now active, not closing
106
71
  closingRouteKeys.remove(nextFocusedRoute.key);
107
72
 
108
- if (!previousRouteStillExists) {
109
- // Previous route was replaced, insert it underneath for transition
110
- const insertIndex = Math.max(routes.length - 1, 0);
111
- routes.splice(insertIndex, 0, previousFocusedRoute);
73
+ if (!previousRouteStillPresent) {
74
+ // Previous route needs to be inserted for transition
112
75
  closingRouteKeys.remove(previousFocusedRoute.key);
76
+
77
+ const insertIndex = Math.max(derivedRoutes.length - 1, 0);
78
+ derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
113
79
  }
114
80
  }
115
81
  } else if (nextFocusedRoute) {
@@ -117,8 +83,8 @@ export const syncRoutesWithRemoved = <
117
83
  closingRouteKeys.remove(nextFocusedRoute.key);
118
84
  }
119
85
 
120
- // Clean up orphaned closing keys
121
- const activeKeys = new Set(routes.map((route) => route.key));
86
+ // Clean up closing keys that are no longer in the route list
87
+ const activeKeys = new Set(derivedRoutes.map((route) => route.key));
122
88
  for (const key of Array.from(closingRouteKeys.ref.current)) {
123
89
  if (!activeKeys.has(key)) {
124
90
  closingRouteKeys.remove(key);
@@ -126,7 +92,11 @@ export const syncRoutesWithRemoved = <
126
92
  }
127
93
 
128
94
  return {
129
- routes,
130
- descriptors: composeDescriptors(routes, nextDescriptors, prevDescriptors),
95
+ routes: derivedRoutes,
96
+ descriptors: composeDescriptors(
97
+ derivedRoutes,
98
+ nextDescriptors,
99
+ prevDescriptors,
100
+ ),
131
101
  };
132
102
  };
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","AnimatedScreen","Animated","createAnimatedComponent","RNSScreen","Screen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","activeScreensLimit","routes","useManagedStackContext","routesLength","length","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","activity","activityState","pointerEvents","jsx","enabled","style","StyleSheet","absoluteFill","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/screens.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAMA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAqE,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAE,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,IAUhEkB,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;AAMnB,MAAMC,OAAO,GAAG,IAAI;AAEpB,MAAMC,cAAc,GAAGC,8BAAQ,CAACC,uBAAuB,CAACC,0BAAS,CAAC;AAE3D,MAAMC,MAAM,GAAGA,CAAC;EACtBC,QAAQ;EACRC,KAAK;EACLC,WAAW;EACXC,QAAQ;EACRC,YAAY;EACZC;AACY,CAAC,KAAK;EAClB,MAAM;IAAEC,kBAAkB;IAAEC;EAAO,CAAC,GAAG,IAAAC,+BAAsB,EAAC,CAAC;EAC/D,MAAMC,YAAY,GAAGF,MAAM,CAACG,MAAM;EAElC,MAAMC,aAAa,GAAGC,yBAAc,CAACC,YAAY,CAACb,QAAQ,EAAE,UAAU,CAAC;EACvE,MAAMc,YAAY,GAAGF,yBAAc,CAACC,YAAY,CAACb,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMe,cAAc,GAAG,IAAAC,qCAAc,EACpCvB,cAAc,CAACwB,0BAChB,CAAC;EAED,IAAAC,sCAAe,EAAC,MAAM;IACrB,IAAI,CAACP,aAAa,EAAE;MACnBI,cAAc,CAAC5B,GAAG,CAACM,cAAc,CAACwB,0BAA0B,CAAC;MAC7D;IACD;IAEA,IAAIhB,KAAK,GAAGQ,YAAY,GAAGH,kBAAkB,GAAG,CAAC,IAAIJ,WAAW,EAAE;MACjEa,cAAc,CAAC5B,GAAG,CAACM,cAAc,CAAC0B,QAAQ,CAAC;IAC5C,CAAC,MAAM;MACN,MAAMC,WAAW,GAChBnB,KAAK,KAAKQ,YAAY,GAAG,CAAC,GACvBhB,cAAc,CAAC4B,MAAM,GACrBpB,KAAK,IAAIQ,YAAY,GAAGH,kBAAkB,GACzCb,cAAc,CAACwB,0BAA0B,GACzCxB,cAAc,CAAC0B,QAAQ;MAE5B,MAAMG,CAAC,GAAG,IAAAC,kCAAW,EACpBZ,aAAa,CAACzB,GAAG,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,GAAGQ,OAAO,EAAE,CAAC,CAAC,EACnB,CAAC,CAAC,EAAE,CAAC,EAAE0B,WAAW,CAAC,EACnB,OACD,CAAC;MAED,MAAMI,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACJ,CAAC,CAAC,IAAI7B,cAAc,CAACwB,0BAA0B;MAEvE,IAAIO,IAAI,KAAKT,cAAc,CAAC7B,GAAG,CAAC,CAAC,EAAE;QAClC6B,cAAc,CAAC5B,GAAG,CAACqC,IAAI,CAAC;MACzB;IACD;EACD,CAAC,CAAC;EAEF,MAAMG,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,MAAMC,QAAQ,GAAGd,cAAc,CAAC7B,GAAG,CAAC,CAAC;IACrC,OAAO;MACN4C,aAAa,EAAED,QAAQ;MACvBxB,YAAY,EAAEwB,QAAQ,KAAKpC,cAAc,CAAC0B,QAAQ,IAAId,YAAY;MAClE0B,aAAa,EAAEjB,YAAY,CAAC5B,GAAG,CAAC,CAAC,GAC7B,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,oBACC,IAAAb,WAAA,CAAA2D,GAAA,EAACrC,cAAc;IACdsC,OAAO;IACPC,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BhC,YAAY,EAAEA,YAAa;IAC3BuB,aAAa,EAAEA,aAAc;IAAAxB,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC;AAACkC,OAAA,CAAAtC,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_useHighRefreshRate","_useStableCallback","_interopRequireDefault","_keys","_managed","_animation","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","BlankStackScreenLifecycleController","children","current","useKeys","handleCloseRoute","closingRouteKeysShared","useManagedStackContext","animations","AnimationStore","getAll","route","key","deactivateHighRefreshRate","activateHighRefreshRate","useHighRefreshRate","handleInitialize","useStableCallback","startScreenTransition","target","spec","options","transitionSpec","onAnimationFinish","handleCleanup","resetStoresForScreen","handleCloseEnd","finished","useAnimatedReaction","keys","value","includes","runOnJS","useLayoutEffect","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/controllers/blank-stack-lifecycle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AAAkF,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOlF;AACA;AACA;AACO,MAAMG,mCAAmC,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC3E,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAuB,CAAC;EACnD,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GAAG,IAAAC,+BAAsB,EAAC,CAAC;EAE7E,MAAMC,UAAU,GAAGC,yBAAc,CAACC,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAM;IAAEC,yBAAyB;IAAEC;EAAwB,CAAC,GAC3D,IAAAC,sCAAkB,EAACZ,OAAO,CAAC;EAE5B,MAAMa,gBAAgB,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAChDH,uBAAuB,CAAC,CAAC;IACzB,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEV;IACpB,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMW,aAAa,GAAG,IAAAP,0BAAiB,EAAC,MAAM;IAC7C,IAAAQ,0CAAoB,EAACtB,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEF,MAAMuB,cAAc,GAAG,IAAAT,0BAAiB,EAAEU,QAAiB,IAAK;IAC/Dd,yBAAyB,CAAC,CAAC;IAC3B,IAAI,CAACc,QAAQ,EAAE;MACd;IACD;IACAtB,gBAAgB,CAAC;MAAEM,KAAK,EAAER,OAAO,CAACQ;IAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,IAAAiB,0CAAmB,EAClB,OAAO;IACNC,IAAI,EAAEvB,sBAAsB,CAACwB;EAC9B,CAAC,CAAC,EACF,CAAC;IAAED;EAAK,CAAC,KAAK;IACb,IAAI,CAACA,IAAI,CAACE,QAAQ,CAAC5B,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC,EAAE;MACtC;IACD;IAEA,IAAAoB,8BAAO,EAAClB,uBAAuB,CAAC,CAAC,CAAC;IAClC,IAAAI,4CAAqB,EAAC;MACrBC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAEjB,OAAO,CAACkB,OAAO,CAACC,cAAc;MACpCd,UAAU;MACVe,iBAAiB,EAAEG;IACpB,CAAC,CAAC;EACH,CACD,CAAC;EAED,IAAAO,sBAAe,EAAC,MAAM;IACrBjB,gBAAgB,CAAC,CAAC;IAClB,OAAO,MAAM;MACZQ,aAAa,CAAC,CAAC;IAChB,CAAC;EACF,CAAC,EAAE,CAACR,gBAAgB,EAAEQ,aAAa,CAAC,CAAC;EAErC,OAAOtB,QAAQ;AAChB,CAAC;AAACgC,OAAA,CAAAjC,mCAAA,GAAAA,mCAAA","ignoreList":[]}
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ComponentView = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var React = _react;
9
- var _reactNative = require("react-native");
10
- var _overlay = require("../../shared/components/overlay");
11
- var _screenComposer = require("../../shared/providers/screen/screen-composer");
12
- var _core = require("../../shared/providers/stack/core.provider");
13
- var _managed = require("../../shared/providers/stack/managed.provider");
14
- var _componentStackLifecycle = require("../controllers/component-stack-lifecycle");
15
- var _screens = require("./screens");
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
- const SceneView = /*#__PURE__*/React.memo(function SceneView({
19
- descriptor
20
- }) {
21
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
22
- children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Screen, {}), descriptor.render()]
23
- });
24
- });
25
- const ComponentView = exports.ComponentView = (0, _core.withStackCore)({
26
- TRANSITIONS_ALWAYS_ON: true
27
- }, (0, _managed.withManagedStack)(({
28
- scenes,
29
- shouldShowFloatOverlay
30
- }) => {
31
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
32
- children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Container, {
33
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
34
- style: styles.container,
35
- children: scenes.map((scene, sceneIndex) => {
36
- const descriptor = scene.descriptor;
37
- const route = scene.route;
38
- const previousDescriptor = scenes[sceneIndex - 1]?.descriptor;
39
- const nextDescriptor = scenes[sceneIndex + 1]?.descriptor;
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_screens.Screen, {
41
- index: sceneIndex,
42
- routeKey: route.key,
43
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
44
- previous: previousDescriptor,
45
- current: descriptor,
46
- next: nextDescriptor,
47
- LifecycleController: _componentStackLifecycle.ComponentStackScreenLifecycleController,
48
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
49
- descriptor: descriptor
50
- }, route.key)
51
- })
52
- }, route.key);
53
- })
54
- })
55
- })]
56
- });
57
- }));
58
- const styles = _reactNative.StyleSheet.create({
59
- container: {
60
- flex: 1
61
- }
62
- });
63
- //# sourceMappingURL=component-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_overlay","_screenComposer","_core","_managed","_componentStackLifecycle","_screens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SceneView","memo","descriptor","jsxs","Fragment","children","options","overlayMode","jsx","Overlay","Screen","render","ComponentView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","withManagedStack","scenes","shouldShowFloatOverlay","Float","Container","View","style","styles","container","map","scene","sceneIndex","route","previousDescriptor","nextDescriptor","index","routeKey","key","ScreenComposer","previous","current","next","LifecycleController","ComponentStackScreenLifecycleController","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-view.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Screen = void 0;
7
- var _reactNative = require("react-native");
8
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _managed = require("../../shared/providers/stack/managed.provider");
10
- var _animation = require("../../shared/stores/animation.store");
11
- var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
- var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
14
- ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
15
- ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
16
- ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
17
- return ScreenActivity;
18
- }(ScreenActivity || {});
19
- const EPSILON = 1e-5;
20
- const Screen = ({
21
- routeKey,
22
- index,
23
- children
24
- }) => {
25
- const {
26
- activeScreensLimit,
27
- routes
28
- } = (0, _managed.useManagedStackContext)();
29
- const routesLength = routes.length;
30
- const sceneProgress = _animation.AnimationStore.getAnimation(routeKey, "progress");
31
- const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
32
- const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
33
- (0, _reactNativeReanimated.useDerivedValue)(() => {
34
- if (!sceneProgress) {
35
- screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
36
- return;
37
- }
38
- if (index < routesLength - activeScreensLimit - 1) {
39
- screenActivity.set(ScreenActivity.INACTIVE);
40
- } else {
41
- const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
42
- const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
43
- const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
44
- if (next !== screenActivity.get()) {
45
- screenActivity.set(next);
46
- }
47
- }
48
- });
49
- const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
50
- // const activity = screenActivity.get();
51
- return {
52
- // activityState: activity,
53
- // shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
54
- pointerEvents: sceneClosing.get() ? "none" : "box-none"
55
- };
56
- });
57
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
58
- style: _reactNative.StyleSheet.absoluteFill,
59
- animatedProps: animatedProps,
60
- children: children
61
- });
62
- };
63
- exports.Screen = Screen;
64
- //# sourceMappingURL=screens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","Screen","routeKey","index","children","activeScreensLimit","routes","useManagedStackContext","routesLength","length","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","next","Math","trunc","animatedProps","useAnimatedProps","pointerEvents","jsx","View","style","StyleSheet","absoluteFill","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/screens.tsx"],"mappings":"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","ignoreList":[]}