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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/README.md +103 -8
  2. package/lib/commonjs/blank-stack/components/adjusted-screen-container.js +36 -0
  3. package/lib/commonjs/blank-stack/components/adjusted-screen-container.js.map +1 -0
  4. package/lib/commonjs/blank-stack/components/{screens.js → adjusted-screen.js} +31 -11
  5. package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -0
  6. package/lib/commonjs/blank-stack/components/stack-view.js +33 -41
  7. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  8. package/lib/commonjs/blank-stack/components/stack-view.native.js +81 -0
  9. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -0
  10. package/lib/commonjs/component-stack/components/component-screen-container.js +23 -0
  11. package/lib/commonjs/component-stack/components/component-screen-container.js.map +1 -0
  12. package/lib/commonjs/component-stack/components/component-screen.js +36 -0
  13. package/lib/commonjs/component-stack/components/component-screen.js.map +1 -0
  14. package/lib/commonjs/component-stack/components/stack-view.js +64 -0
  15. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -0
  16. package/lib/commonjs/component-stack/index.js +3 -10
  17. package/lib/commonjs/component-stack/index.js.map +1 -1
  18. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +52 -0
  19. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  20. package/lib/commonjs/native-stack/views/NativeStackView.native.js +103 -105
  21. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  22. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +0 -25
  23. package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  24. package/lib/commonjs/shared/components/overlay/index.js +1 -3
  25. package/lib/commonjs/shared/components/overlay/index.js.map +1 -1
  26. package/lib/commonjs/shared/constants.js +3 -1
  27. package/lib/commonjs/shared/constants.js.map +1 -1
  28. package/lib/commonjs/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +16 -19
  29. package/lib/commonjs/shared/controller/managed-lifecycle.js.map +1 -0
  30. package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js +7 -1
  31. package/lib/commonjs/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
  32. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +2 -2
  33. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  34. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +3 -1
  35. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  36. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  37. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +5 -0
  38. package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  39. package/lib/commonjs/shared/providers/layout-anchor.provider.js +73 -0
  40. package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -0
  41. package/lib/commonjs/shared/providers/register-bounds.provider.js +9 -4
  42. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/keys.provider.js +2 -2
  44. package/lib/commonjs/shared/providers/screen/styles.provider.js +38 -4
  45. package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
  46. package/lib/commonjs/shared/providers/stack/core.provider.js +35 -12
  47. package/lib/commonjs/shared/providers/stack/core.provider.js.map +1 -1
  48. package/lib/commonjs/shared/providers/stack/direct.provider.js +6 -4
  49. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  50. package/lib/commonjs/shared/providers/stack/managed.provider.js +7 -5
  51. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  52. package/lib/commonjs/shared/types/index.js.map +1 -1
  53. package/lib/commonjs/shared/types/stack.types.js +26 -0
  54. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  55. package/lib/commonjs/shared/utils/bounds/index.js +13 -1
  56. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  57. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  58. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  59. package/lib/module/blank-stack/components/adjusted-screen-container.js +31 -0
  60. package/lib/module/blank-stack/components/adjusted-screen-container.js.map +1 -0
  61. package/lib/module/blank-stack/components/{screens.js → adjusted-screen.js} +30 -10
  62. package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -0
  63. package/lib/module/blank-stack/components/stack-view.js +33 -41
  64. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  65. package/lib/module/blank-stack/components/stack-view.native.js +76 -0
  66. package/lib/module/blank-stack/components/stack-view.native.js.map +1 -0
  67. package/lib/module/component-stack/components/component-screen-container.js +18 -0
  68. package/lib/module/component-stack/components/component-screen-container.js.map +1 -0
  69. package/lib/module/component-stack/components/component-screen.js +30 -0
  70. package/lib/module/component-stack/components/component-screen.js.map +1 -0
  71. package/lib/module/component-stack/components/stack-view.js +59 -0
  72. package/lib/module/component-stack/components/stack-view.js.map +1 -0
  73. package/lib/module/component-stack/index.js +1 -2
  74. package/lib/module/component-stack/index.js.map +1 -1
  75. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +48 -0
  76. package/lib/module/component-stack/navigators/create-component-stack-navigator.js.map +1 -0
  77. package/lib/module/native-stack/views/NativeStackView.native.js +103 -105
  78. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  79. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +0 -24
  80. package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
  81. package/lib/module/shared/components/overlay/index.js +1 -3
  82. package/lib/module/shared/components/overlay/index.js.map +1 -1
  83. package/lib/module/shared/constants.js +2 -0
  84. package/lib/module/shared/constants.js.map +1 -1
  85. package/lib/module/{blank-stack/controllers/blank-stack-lifecycle.js → shared/controller/managed-lifecycle.js} +14 -17
  86. package/lib/module/shared/controller/managed-lifecycle.js.map +1 -0
  87. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js +8 -1
  88. package/lib/module/shared/hooks/animation/use-high-refresh-rate.js.map +1 -1
  89. package/lib/module/shared/hooks/animation/use-screen-animation.js +2 -2
  90. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  91. package/lib/module/shared/hooks/gestures/use-build-gestures.js +4 -2
  92. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  93. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  94. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +5 -0
  95. package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
  96. package/lib/module/shared/providers/layout-anchor.provider.js +67 -0
  97. package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -0
  98. package/lib/module/shared/providers/register-bounds.provider.js +9 -4
  99. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  100. package/lib/module/shared/providers/screen/keys.provider.js +2 -2
  101. package/lib/module/shared/providers/screen/styles.provider.js +39 -5
  102. package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
  103. package/lib/module/shared/providers/stack/core.provider.js +34 -11
  104. package/lib/module/shared/providers/stack/core.provider.js.map +1 -1
  105. package/lib/module/shared/providers/stack/direct.provider.js +6 -4
  106. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  107. package/lib/module/shared/providers/stack/managed.provider.js +7 -5
  108. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  109. package/lib/module/shared/types/index.js.map +1 -1
  110. package/lib/module/shared/types/stack.types.js +30 -1
  111. package/lib/module/shared/types/stack.types.js.map +1 -1
  112. package/lib/module/shared/utils/bounds/index.js +13 -1
  113. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  114. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +20 -45
  115. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  116. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts +6 -0
  117. package/lib/typescript/blank-stack/components/adjusted-screen-container.d.ts.map +1 -0
  118. package/lib/typescript/blank-stack/components/{screens.d.ts → adjusted-screen.d.ts} +2 -2
  119. package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -0
  120. package/lib/typescript/blank-stack/components/stack-view.d.ts +1 -1
  121. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  122. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +4 -0
  123. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -0
  124. package/lib/typescript/blank-stack/types.d.ts +3 -1
  125. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  126. package/lib/typescript/component-stack/components/component-screen-container.d.ts +6 -0
  127. package/lib/typescript/component-stack/components/component-screen-container.d.ts.map +1 -0
  128. package/lib/typescript/component-stack/components/component-screen.d.ts +8 -0
  129. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -0
  130. package/lib/typescript/component-stack/components/stack-view.d.ts +4 -0
  131. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -0
  132. package/lib/typescript/component-stack/index.d.ts +2 -3
  133. package/lib/typescript/component-stack/index.d.ts.map +1 -1
  134. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +16 -0
  135. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -0
  136. package/lib/typescript/component-stack/types.d.ts +24 -191
  137. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  138. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts +1 -1
  139. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  140. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +0 -9
  141. package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  142. package/lib/typescript/shared/components/overlay/index.d.ts +0 -2
  143. package/lib/typescript/shared/components/overlay/index.d.ts.map +1 -1
  144. package/lib/typescript/shared/constants.d.ts +1 -0
  145. package/lib/typescript/shared/constants.d.ts.map +1 -1
  146. package/lib/typescript/shared/controller/managed-lifecycle.d.ts +9 -0
  147. package/lib/typescript/shared/controller/managed-lifecycle.d.ts.map +1 -0
  148. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts +7 -0
  149. package/lib/typescript/shared/hooks/animation/use-high-refresh-rate.d.ts.map +1 -1
  150. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts +2 -1
  151. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  152. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  153. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +4 -9
  154. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  155. package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
  156. package/lib/typescript/shared/index.d.ts +13 -13
  157. package/lib/typescript/shared/index.d.ts.map +1 -1
  158. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +34 -0
  159. package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -0
  160. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  161. package/lib/typescript/shared/providers/screen/keys.provider.d.ts +2 -2
  162. package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
  163. package/lib/typescript/shared/providers/stack/core.provider.d.ts +15 -4
  164. package/lib/typescript/shared/providers/stack/core.provider.d.ts.map +1 -1
  165. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  166. package/lib/typescript/shared/providers/stack/managed.provider.d.ts +1 -1
  167. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/types/bounds.types.d.ts +1 -0
  169. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  170. package/lib/typescript/shared/types/index.d.ts +1 -1
  171. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  172. package/lib/typescript/shared/types/overlay.types.d.ts +1 -12
  173. package/lib/typescript/shared/types/overlay.types.d.ts.map +1 -1
  174. package/lib/typescript/shared/types/screen.types.d.ts +2 -2
  175. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  176. package/lib/typescript/shared/types/stack.types.d.ts +5 -2
  177. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  178. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  179. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  180. package/package.json +1 -1
  181. package/src/blank-stack/components/adjusted-screen-container.tsx +25 -0
  182. package/src/blank-stack/components/{screens.tsx → adjusted-screen.tsx} +33 -12
  183. package/src/blank-stack/components/stack-view.native.tsx +94 -0
  184. package/src/blank-stack/components/stack-view.tsx +41 -47
  185. package/src/blank-stack/types.ts +3 -2
  186. package/src/component-stack/components/component-screen-container.tsx +15 -0
  187. package/src/component-stack/components/component-screen.tsx +40 -0
  188. package/src/component-stack/components/stack-view.tsx +74 -0
  189. package/src/component-stack/index.ts +6 -12
  190. package/src/component-stack/navigators/create-component-stack-navigator.tsx +88 -0
  191. package/src/component-stack/types.ts +80 -188
  192. package/src/native-stack/views/NativeStackView.native.tsx +104 -106
  193. package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -146
  194. package/src/shared/components/overlay/helpers/get-active-overlay.ts +0 -26
  195. package/src/shared/components/overlay/index.ts +0 -2
  196. package/src/shared/constants.ts +3 -0
  197. package/src/{blank-stack/controllers/blank-stack-lifecycle.tsx → shared/controller/managed-lifecycle.tsx} +14 -18
  198. package/src/shared/hooks/animation/use-high-refresh-rate.tsx +7 -1
  199. package/src/shared/hooks/animation/use-screen-animation.tsx +5 -3
  200. package/src/shared/hooks/gestures/use-build-gestures.tsx +9 -1
  201. package/src/shared/hooks/navigation/use-stack.tsx +4 -15
  202. package/src/shared/hooks/reanimated/use-shared-value-state.ts +5 -0
  203. package/src/shared/index.ts +2 -1
  204. package/src/shared/providers/layout-anchor.provider.tsx +81 -0
  205. package/src/shared/providers/register-bounds.provider.tsx +11 -4
  206. package/src/shared/providers/screen/keys.provider.tsx +2 -2
  207. package/src/shared/providers/screen/styles.provider.tsx +50 -5
  208. package/src/shared/providers/stack/core.provider.tsx +51 -28
  209. package/src/shared/providers/stack/direct.provider.tsx +4 -1
  210. package/src/shared/providers/stack/managed.provider.tsx +5 -2
  211. package/src/shared/types/bounds.types.ts +5 -0
  212. package/src/shared/types/index.ts +0 -1
  213. package/src/shared/types/overlay.types.ts +1 -14
  214. package/src/shared/types/screen.types.ts +2 -8
  215. package/src/shared/types/stack.types.ts +6 -2
  216. package/src/shared/utils/bounds/index.ts +18 -1
  217. package/src/shared/utils/navigation/sync-routes-with-removed.ts +28 -58
  218. package/lib/commonjs/blank-stack/components/screens.js.map +0 -1
  219. package/lib/commonjs/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  220. package/lib/commonjs/component-stack/components/component-view.js +0 -63
  221. package/lib/commonjs/component-stack/components/component-view.js.map +0 -1
  222. package/lib/commonjs/component-stack/components/screens.js +0 -64
  223. package/lib/commonjs/component-stack/components/screens.js.map +0 -1
  224. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js +0 -82
  225. package/lib/commonjs/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  226. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js +0 -321
  227. package/lib/commonjs/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  228. package/lib/commonjs/component-stack/hooks/use-component-navigation.js +0 -28
  229. package/lib/commonjs/component-stack/hooks/use-component-navigation.js.map +0 -1
  230. package/lib/commonjs/component-stack/navigators/create-component-navigator.js +0 -97
  231. package/lib/commonjs/component-stack/navigators/create-component-navigator.js.map +0 -1
  232. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js +0 -99
  233. package/lib/commonjs/shared/components/overlay/variations/container-overlay.js.map +0 -1
  234. package/lib/module/blank-stack/components/screens.js.map +0 -1
  235. package/lib/module/blank-stack/controllers/blank-stack-lifecycle.js.map +0 -1
  236. package/lib/module/component-stack/components/component-view.js +0 -58
  237. package/lib/module/component-stack/components/component-view.js.map +0 -1
  238. package/lib/module/component-stack/components/screens.js +0 -58
  239. package/lib/module/component-stack/components/screens.js.map +0 -1
  240. package/lib/module/component-stack/controllers/component-stack-lifecycle.js +0 -76
  241. package/lib/module/component-stack/controllers/component-stack-lifecycle.js.map +0 -1
  242. package/lib/module/component-stack/hooks/use-component-navigation-builder.js +0 -316
  243. package/lib/module/component-stack/hooks/use-component-navigation-builder.js.map +0 -1
  244. package/lib/module/component-stack/hooks/use-component-navigation.js +0 -25
  245. package/lib/module/component-stack/hooks/use-component-navigation.js.map +0 -1
  246. package/lib/module/component-stack/navigators/create-component-navigator.js +0 -91
  247. package/lib/module/component-stack/navigators/create-component-navigator.js.map +0 -1
  248. package/lib/module/shared/components/overlay/variations/container-overlay.js +0 -97
  249. package/lib/module/shared/components/overlay/variations/container-overlay.js.map +0 -1
  250. package/lib/typescript/blank-stack/components/screens.d.ts.map +0 -1
  251. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts +0 -9
  252. package/lib/typescript/blank-stack/controllers/blank-stack-lifecycle.d.ts.map +0 -1
  253. package/lib/typescript/component-stack/components/component-view.d.ts +0 -4
  254. package/lib/typescript/component-stack/components/component-view.d.ts.map +0 -1
  255. package/lib/typescript/component-stack/components/screens.d.ts +0 -9
  256. package/lib/typescript/component-stack/components/screens.d.ts.map +0 -1
  257. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts +0 -10
  258. package/lib/typescript/component-stack/controllers/component-stack-lifecycle.d.ts.map +0 -1
  259. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts +0 -19
  260. package/lib/typescript/component-stack/hooks/use-component-navigation-builder.d.ts.map +0 -1
  261. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts +0 -19
  262. package/lib/typescript/component-stack/hooks/use-component-navigation.d.ts.map +0 -1
  263. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts +0 -35
  264. package/lib/typescript/component-stack/navigators/create-component-navigator.d.ts.map +0 -1
  265. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts +0 -8
  266. package/lib/typescript/shared/components/overlay/variations/container-overlay.d.ts.map +0 -1
  267. package/src/component-stack/components/component-view.tsx +0 -72
  268. package/src/component-stack/components/screens.tsx +0 -86
  269. package/src/component-stack/controllers/component-stack-lifecycle.tsx +0 -80
  270. package/src/component-stack/hooks/use-component-navigation-builder.tsx +0 -388
  271. package/src/component-stack/hooks/use-component-navigation.tsx +0 -22
  272. package/src/component-stack/navigators/create-component-navigator.tsx +0 -104
  273. package/src/shared/components/overlay/variations/container-overlay.tsx +0 -98
@@ -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,8 @@ 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
+ }
@@ -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":"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","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":[]}
@@ -1,82 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ComponentStackScreenLifecycleController = void 0;
7
- var _react = require("react");
8
- var _reactNativeReanimated = require("react-native-reanimated");
9
- var _useHighRefreshRate = require("../../shared/hooks/animation/use-high-refresh-rate");
10
- var _useStableCallback = _interopRequireDefault(require("../../shared/hooks/use-stable-callback"));
11
- var _keys = require("../../shared/providers/screen/keys.provider");
12
- var _managed = require("../../shared/providers/stack/managed.provider");
13
- var _animation = require("../../shared/stores/animation.store");
14
- var _startScreenTransition = require("../../shared/utils/animation/start-screen-transition");
15
- var _resetStoresForScreen = require("../../shared/utils/reset-stores-for-screen");
16
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- /**
18
- * Lifecycle controller built out for Component Stack implementation.
19
- * Uses the shared ManagedStackContext for closing route handling.
20
- */
21
- const ComponentStackScreenLifecycleController = ({
22
- children
23
- }) => {
24
- const {
25
- current
26
- } = (0, _keys.useKeys)();
27
- const {
28
- handleCloseRoute,
29
- closingRouteKeysShared
30
- } = (0, _managed.useManagedStackContext)();
31
- const animations = _animation.AnimationStore.getAll(current.route.key);
32
- const {
33
- deactivateHighRefreshRate,
34
- activateHighRefreshRate
35
- } = (0, _useHighRefreshRate.useHighRefreshRate)(current);
36
- const handleInitialize = (0, _useStableCallback.default)(() => {
37
- activateHighRefreshRate();
38
- (0, _startScreenTransition.startScreenTransition)({
39
- target: "open",
40
- spec: current.options.transitionSpec,
41
- animations,
42
- onAnimationFinish: deactivateHighRefreshRate
43
- });
44
- });
45
- const handleCleanup = (0, _useStableCallback.default)(() => {
46
- (0, _resetStoresForScreen.resetStoresForScreen)(current);
47
- });
48
- const handleCloseEnd = (0, _useStableCallback.default)(finished => {
49
- deactivateHighRefreshRate();
50
- if (!finished) {
51
- return;
52
- }
53
- handleCloseRoute({
54
- route: current.route
55
- });
56
- });
57
- (0, _reactNativeReanimated.useAnimatedReaction)(() => ({
58
- keys: closingRouteKeysShared.value
59
- }), ({
60
- keys
61
- }) => {
62
- if (!keys.includes(current.route.key)) {
63
- return;
64
- }
65
- (0, _reactNativeReanimated.runOnJS)(activateHighRefreshRate)();
66
- (0, _startScreenTransition.startScreenTransition)({
67
- target: "close",
68
- spec: current.options.transitionSpec,
69
- animations,
70
- onAnimationFinish: handleCloseEnd
71
- });
72
- });
73
- (0, _react.useLayoutEffect)(() => {
74
- handleInitialize();
75
- return () => {
76
- handleCleanup();
77
- };
78
- }, [handleInitialize, handleCleanup]);
79
- return children;
80
- };
81
- exports.ComponentStackScreenLifecycleController = ComponentStackScreenLifecycleController;
82
- //# sourceMappingURL=component-stack-lifecycle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_useHighRefreshRate","_useStableCallback","_interopRequireDefault","_keys","_managed","_animation","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","ComponentStackScreenLifecycleController","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":["component-stack/controllers/component-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;AACA;AACO,MAAMG,uCAAuC,GAAGA,CAAC;EACvDC;AACM,CAAC,KAAK;EACZ,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAA2B,CAAC;EACvD,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,uCAAA,GAAAA,uCAAA","ignoreList":[]}