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
package/README.md CHANGED
@@ -34,12 +34,13 @@ npm install react-native-reanimated react-native-gesture-handler \
34
34
 
35
35
  ## Quick Start
36
36
 
37
- This package provides two stack navigators:
37
+ This package provides three stack navigators:
38
38
 
39
39
  | Stack | Description |
40
40
  | ----------------------------- | --------------------------------------------------------------------------------- |
41
41
  | **Blank Stack** (recommended) | Pure JavaScript stack with full control over transitions, overlays, and gestures. |
42
- | **Native Stack** | Extends `@react-navigation/native-stack`. Fewer features but potentially faster. |
42
+ | **Native Stack** | Extends `@react-navigation/native-stack`. Full overlay support, native primitives.|
43
+ | **Component Stack** | Standalone navigator without React Navigation. For internal/embedded navigation. |
43
44
 
44
45
  ### Choosing a Stack
45
46
 
@@ -51,14 +52,21 @@ This package provides two stack navigators:
51
52
 
52
53
  However, it's still a JavaScript implementation. While optimized to be as fast as possible (using `react-native-screens` under the hood, with animations and gesture logic running on the UI thread), heavy usage may not match native performance.
53
54
 
54
- **Native Stack** has limitations but uses native navigation primitives:
55
+ **Native Stack** uses native navigation primitives with some trade-offs:
55
56
 
56
- - No overlay system
57
+ - Full overlay system support (float and screen modes)
57
58
  - Relies on `beforeRemove` listeners to intercept navigation
58
59
  - Uses transparent modal presentation which can cause delayed touch events
59
60
  - Some edge cases with rapid navigation
60
61
 
61
- Choose Native Stack if you need maximum performance and can live without overlays.
62
+ Choose Native Stack if you need native performance with overlay support.
63
+
64
+ **Component Stack** is a standalone navigator that doesn't integrate with React Navigation:
65
+
66
+ - No integration with React Navigation ecosystem (no linking, no deep linking)
67
+ - Ideal for embedded navigation within a screen (e.g., onboarding flows, wizards)
68
+ - Lightweight, component-based API
69
+ - Full transition and gesture support
62
70
 
63
71
  ### Blank Stack Philosophy
64
72
 
@@ -492,9 +500,9 @@ Gesture rules with scrollables:
492
500
 
493
501
  ---
494
502
 
495
- ## Overlays (Blank Stack)
503
+ ## Overlays
496
504
 
497
- The Blank Stack supports persistent overlays that animate across screen transitions.
505
+ Both Blank Stack and Native Stack support persistent overlays that animate across screen transitions.
498
506
 
499
507
  ### Float Overlay
500
508
 
@@ -836,13 +844,100 @@ To avoid collisions with custom gesture options, some native options are renamed
836
844
 
837
845
  ### Limitations
838
846
 
839
- - Overlay system not available
840
847
  - Relies on `beforeRemove` listener to intercept navigation
841
848
  - Uses transparent modal presentation
842
849
  - Some edge cases with rapid navigation
843
850
 
844
851
  ---
845
852
 
853
+ ## Component Stack
854
+
855
+ A standalone navigator for when you don't need React Navigation integration. Perfect for embedded flows like onboarding, wizards, or any self-contained navigation.
856
+
857
+ ### Setup
858
+
859
+ ```tsx
860
+ import {
861
+ createComponentNavigator,
862
+ useComponentNavigation,
863
+ } from "react-native-screen-transitions/component-stack";
864
+ import Transition from "react-native-screen-transitions";
865
+
866
+ const Stack = createComponentNavigator();
867
+
868
+ function OnboardingFlow() {
869
+ return (
870
+ <Stack.Navigator initialRoute="step1">
871
+ <Stack.Screen
872
+ name="step1"
873
+ component={Step1}
874
+ options={{
875
+ ...Transition.Presets.SlideFromBottom(),
876
+ }}
877
+ />
878
+ <Stack.Screen
879
+ name="step2"
880
+ component={Step2}
881
+ options={{
882
+ ...Transition.Presets.SlideFromBottom(),
883
+ }}
884
+ />
885
+ </Stack.Navigator>
886
+ );
887
+ }
888
+
889
+ function Step1() {
890
+ const navigation = useComponentNavigation();
891
+
892
+ return (
893
+ <View>
894
+ <Text>Step 1</Text>
895
+ <Button title="Next" onPress={() => navigation.push("step2")} />
896
+ </View>
897
+ );
898
+ }
899
+ ```
900
+
901
+ ### Navigation API
902
+
903
+ ```tsx
904
+ const navigation = useComponentNavigation();
905
+
906
+ navigation.push("screenName", { param: "value" }); // Push a screen
907
+ navigation.pop(); // Go back
908
+ navigation.popTo("screenName"); // Pop to a specific screen
909
+ navigation.reset("screenName"); // Reset to a single screen
910
+ ```
911
+
912
+ ### When to Use Component Stack
913
+
914
+ - **Onboarding flows** – Self-contained multi-step experiences
915
+ - **Wizards/Forms** – Multi-step forms within a screen
916
+ - **Embedded navigation** – Navigation inside a modal or sheet
917
+ - **Non-URL navigation** – When you don't need deep linking
918
+
919
+ ---
920
+
921
+ ## Experimental Features
922
+
923
+ ### High Refresh Rate
924
+
925
+ Force the display to run at maximum refresh rate during transitions. This can make animations smoother on high refresh rate displays (90Hz, 120Hz).
926
+
927
+ ```tsx
928
+ <Stack.Screen
929
+ name="Detail"
930
+ options={{
931
+ experimental_enableHighRefreshRate: true,
932
+ ...Transition.Presets.SlideFromBottom(),
933
+ }}
934
+ />
935
+ ```
936
+
937
+ > **Note**: This is experimental and may have performance implications. Test on target devices.
938
+
939
+ ---
940
+
846
941
  ## Migrating from Earlier Versions
847
942
 
848
943
  ### Deprecated Props
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AdjustedScreenContainer = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _reactNativeScreens = require("react-native-screens");
9
+ var _useStack = require("../../shared/hooks/navigation/use-stack");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ const AdjustedScreenContainer = ({
12
+ children
13
+ }) => {
14
+ const {
15
+ flags: {
16
+ DISABLE_NATIVE_SCREENS = false
17
+ }
18
+ } = (0, _useStack.useStack)();
19
+ if (!DISABLE_NATIVE_SCREENS) {
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
21
+ style: styles.container,
22
+ children: children
23
+ });
24
+ }
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
26
+ style: styles.container,
27
+ children: children
28
+ });
29
+ };
30
+ exports.AdjustedScreenContainer = AdjustedScreenContainer;
31
+ const styles = _reactNative.StyleSheet.create({
32
+ container: {
33
+ flex: 1
34
+ }
35
+ });
36
+ //# sourceMappingURL=adjusted-screen-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeScreens","_useStack","_jsxRuntime","AdjustedScreenContainer","children","flags","DISABLE_NATIVE_SCREENS","useStack","jsx","ScreenContainer","style","styles","container","View","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/adjusted-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAmE,IAAAG,WAAA,GAAAH,OAAA;AAM5D,MAAMI,uBAAuB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC/D,MAAM;IACLC,KAAK,EAAE;MAAEC,sBAAsB,GAAG;IAAM;EACzC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,IAAI,CAACD,sBAAsB,EAAE;IAC5B,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACR,mBAAA,CAAAS,eAAe;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAR,QAAA,EAAEA;IAAQ,CAAkB,CAAC;EAExE;EACA,oBAAO,IAAAF,WAAA,CAAAM,GAAA,EAACV,YAAA,CAAAe,IAAI;IAACH,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAR,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAACU,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEF,MAAMQ,MAAM,GAAGI,uBAAU,CAACC,MAAM,CAAC;EAChCJ,SAAS,EAAE;IACVK,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Screen = void 0;
6
+ exports.AdjustedScreen = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
9
  var _reactNativeScreens = require("react-native-screens");
10
+ var _useStack = require("../../shared/hooks/navigation/use-stack");
11
+ var _layoutAnchor = require("../../shared/providers/layout-anchor.provider");
10
12
  var _managed = require("../../shared/providers/stack/managed.provider");
11
13
  var _animation = require("../../shared/stores/animation.store");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
@@ -18,8 +20,10 @@ var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
18
20
  return ScreenActivity;
19
21
  }(ScreenActivity || {});
20
22
  const EPSILON = 1e-5;
21
- const AnimatedScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
22
- const Screen = ({
23
+ const POINT_NONE = "none";
24
+ const POINT_BOX_NONE = "box-none";
25
+ const AnimatedNativeScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
26
+ const AdjustedScreen = ({
23
27
  routeKey,
24
28
  index,
25
29
  isPreloaded,
@@ -27,11 +31,17 @@ const Screen = ({
27
31
  freezeOnBlur,
28
32
  shouldFreeze
29
33
  }) => {
34
+ const {
35
+ flags: {
36
+ DISABLE_NATIVE_SCREENS = false
37
+ }
38
+ } = (0, _useStack.useStack)();
30
39
  const {
31
40
  activeScreensLimit,
32
41
  routes
33
42
  } = (0, _managed.useManagedStackContext)();
34
43
  const routesLength = routes.length;
44
+ const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
35
45
  const sceneProgress = _animation.AnimationStore.getAnimation(routeKey, "progress");
36
46
  const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
37
47
  const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
@@ -44,7 +54,7 @@ const Screen = ({
44
54
  screenActivity.set(ScreenActivity.INACTIVE);
45
55
  } else {
46
56
  const outputValue = index === routesLength - 1 ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
47
- const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], "clamp");
57
+ const v = (0, _reactNativeReanimated.interpolate)(sceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], _reactNativeReanimated.Extrapolation.CLAMP);
48
58
  const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
49
59
  if (next !== screenActivity.get()) {
50
60
  screenActivity.set(next);
@@ -53,19 +63,29 @@ const Screen = ({
53
63
  });
54
64
  const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
55
65
  const activity = screenActivity.get();
66
+ if (!DISABLE_NATIVE_SCREENS) {
67
+ return {
68
+ activityState: activity,
69
+ shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
70
+ pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
71
+ };
72
+ }
56
73
  return {
57
- activityState: activity,
58
- shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
59
- pointerEvents: sceneClosing.get() ? "none" : "box-none"
74
+ pointerEvents: sceneClosing.get() ? POINT_NONE : POINT_BOX_NONE
60
75
  };
61
76
  });
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedScreen, {
77
+ const AdjustedScreenComponent = !DISABLE_NATIVE_SCREENS ? AnimatedNativeScreen : _reactNativeReanimated.default.View;
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AdjustedScreenComponent, {
63
79
  enabled: true,
80
+ ref: screenRef,
64
81
  style: _reactNative.StyleSheet.absoluteFill,
65
82
  freezeOnBlur: freezeOnBlur,
66
83
  animatedProps: animatedProps,
67
- children: children
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_layoutAnchor.LayoutAnchorProvider, {
85
+ anchorRef: screenRef,
86
+ children: children
87
+ })
68
88
  });
69
89
  };
70
- exports.Screen = Screen;
71
- //# sourceMappingURL=screens.js.map
90
+ exports.AdjustedScreen = AdjustedScreen;
91
+ //# sourceMappingURL=adjusted-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_useStack","_layoutAnchor","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ScreenActivity","EPSILON","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","AdjustedScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","useStack","activeScreensLimit","routes","useManagedStackContext","routesLength","length","screenRef","useAnimatedRef","sceneProgress","AnimationStore","getAnimation","sceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","outputValue","ON_TOP","v","interpolate","Extrapolation","CLAMP","next","Math","trunc","animatedProps","useAnimatedProps","activity","activityState","pointerEvents","AdjustedScreenComponent","View","jsx","enabled","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["blank-stack/components/adjusted-screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,14 +7,13 @@ exports.StackView = void 0;
7
7
  var _native = require("@react-navigation/native");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var React = _react;
10
- var _reactNative = require("react-native");
11
- var _reactNativeScreens = require("react-native-screens");
12
10
  var _overlay = require("../../shared/components/overlay");
11
+ var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
13
12
  var _screenComposer = require("../../shared/providers/screen/screen-composer");
14
13
  var _core = require("../../shared/providers/stack/core.provider");
15
14
  var _managed = require("../../shared/providers/stack/managed.provider");
16
- var _blankStackLifecycle = require("../controllers/blank-stack-lifecycle");
17
- var _screens = require("./screens");
15
+ var _adjustedScreen = require("./adjusted-screen");
16
+ var _adjustedScreenContainer = require("./adjusted-screen-container");
18
17
  var _jsxRuntime = require("react/jsx-runtime");
19
18
  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); }
20
19
  function isFabric() {
@@ -37,7 +36,8 @@ const SceneView = /*#__PURE__*/React.memo(function SceneView({
37
36
  });
38
37
  });
39
38
  const StackView = exports.StackView = (0, _core.withStackCore)({
40
- TRANSITIONS_ALWAYS_ON: true
39
+ TRANSITIONS_ALWAYS_ON: true,
40
+ DISABLE_NATIVE_SCREENS: true
41
41
  }, (0, _managed.withManagedStack)(({
42
42
  descriptors,
43
43
  focusedIndex,
@@ -45,45 +45,37 @@ const StackView = exports.StackView = (0, _core.withStackCore)({
45
45
  shouldShowFloatOverlay
46
46
  }) => {
47
47
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
48
- children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Container, {
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
50
- style: styles.container,
51
- children: scenes.map((scene, sceneIndex) => {
52
- const descriptor = scene.descriptor;
53
- const route = scene.route;
54
- const isFocused = focusedIndex === sceneIndex;
55
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
56
- const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
57
- const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
58
- const isPreloaded = descriptors[route.key] === undefined;
48
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreenContainer.AdjustedScreenContainer, {
49
+ children: scenes.map((scene, sceneIndex) => {
50
+ const descriptor = scene.descriptor;
51
+ const route = scene.route;
52
+ const isFocused = focusedIndex === sceneIndex;
53
+ const isBelowFocused = focusedIndex - 1 === sceneIndex;
54
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
55
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
56
+ const isPreloaded = descriptors[route.key] === undefined;
59
57
 
60
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
61
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
62
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
63
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_screens.Screen, {
64
- isPreloaded: isPreloaded,
65
- index: sceneIndex,
66
- routeKey: route.key,
67
- shouldFreeze: shouldFreeze,
68
- freezeOnBlur: descriptor.options.freezeOnBlur,
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
70
- previous: previousDescriptor,
71
- current: descriptor,
72
- next: nextDescriptor,
73
- LifecycleController: _blankStackLifecycle.BlankStackScreenLifecycleController,
74
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
75
- descriptor: descriptor
76
- }, route.key)
77
- })
78
- }, route.key);
79
- })
58
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
59
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
60
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreen.AdjustedScreen, {
62
+ isPreloaded: isPreloaded,
63
+ index: sceneIndex,
64
+ routeKey: route.key,
65
+ shouldFreeze: shouldFreeze,
66
+ freezeOnBlur: descriptor.options.freezeOnBlur,
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
68
+ previous: previousDescriptor,
69
+ current: descriptor,
70
+ next: nextDescriptor,
71
+ LifecycleController: _managedLifecycle.ManagedLifecycle,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
73
+ descriptor: descriptor
74
+ }, route.key)
75
+ })
76
+ }, route.key);
80
77
  })
81
78
  })]
82
79
  });
83
80
  }));
84
- const styles = _reactNative.StyleSheet.create({
85
- container: {
86
- flex: 1
87
- }
88
- });
89
81
  //# sourceMappingURL=stack-view.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_reactNative","_reactNativeScreens","_overlay","_screenComposer","_core","_managed","_blankStackLifecycle","_screens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Fragment","Float","Container","ScreenContainer","style","styles","container","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","index","routeKey","freezeOnBlur","ScreenComposer","previous","current","next","LifecycleController","BlankStackScreenLifecycleController","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","_adjustedScreen","_adjustedScreenContainer","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Fragment","Float","AdjustedScreenContainer","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","AdjustedScreen","index","routeKey","freezeOnBlur","ScreenComposer","previous","current","next","LifecycleController","ManagedLifecycle"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StackView = void 0;
7
+ var _native = require("@react-navigation/native");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var React = _react;
10
+ var _overlay = require("../../shared/components/overlay");
11
+ var _managedLifecycle = require("../../shared/controller/managed-lifecycle");
12
+ var _screenComposer = require("../../shared/providers/screen/screen-composer");
13
+ var _core = require("../../shared/providers/stack/core.provider");
14
+ var _managed = require("../../shared/providers/stack/managed.provider");
15
+ var _adjustedScreen = require("./adjusted-screen");
16
+ var _adjustedScreenContainer = require("./adjusted-screen-container");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ 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); }
19
+ function isFabric() {
20
+ return "nativeFabricUIManager" in global;
21
+ }
22
+ const SceneView = /*#__PURE__*/React.memo(function SceneView({
23
+ descriptor
24
+ }) {
25
+ const {
26
+ route,
27
+ navigation,
28
+ render
29
+ } = descriptor;
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
31
+ value: navigation,
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_native.NavigationRouteContext.Provider, {
33
+ value: route,
34
+ children: [descriptor.options.overlayMode === "screen" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Screen, {}), render()]
35
+ })
36
+ });
37
+ });
38
+ const StackView = exports.StackView = (0, _core.withStackCore)({
39
+ TRANSITIONS_ALWAYS_ON: true,
40
+ DISABLE_NATIVE_SCREENS: false
41
+ }, (0, _managed.withManagedStack)(({
42
+ descriptors,
43
+ focusedIndex,
44
+ scenes,
45
+ shouldShowFloatOverlay
46
+ }) => {
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
48
+ children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreenContainer.AdjustedScreenContainer, {
49
+ children: scenes.map((scene, sceneIndex) => {
50
+ const descriptor = scene.descriptor;
51
+ const route = scene.route;
52
+ const isFocused = focusedIndex === sceneIndex;
53
+ const isBelowFocused = focusedIndex - 1 === sceneIndex;
54
+ const previousDescriptor = scenes[sceneIndex - 1]?.descriptor ?? undefined;
55
+ const nextDescriptor = scenes[sceneIndex + 1]?.descriptor ?? undefined;
56
+ const isPreloaded = descriptors[route.key] === undefined;
57
+
58
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
59
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
60
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_adjustedScreen.AdjustedScreen, {
62
+ isPreloaded: isPreloaded,
63
+ index: sceneIndex,
64
+ routeKey: route.key,
65
+ shouldFreeze: shouldFreeze,
66
+ freezeOnBlur: descriptor.options.freezeOnBlur,
67
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
68
+ previous: previousDescriptor,
69
+ current: descriptor,
70
+ next: nextDescriptor,
71
+ LifecycleController: _managedLifecycle.ManagedLifecycle,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
73
+ descriptor: descriptor
74
+ }, route.key)
75
+ })
76
+ }, route.key);
77
+ })
78
+ })]
79
+ });
80
+ }));
81
+ //# sourceMappingURL=stack-view.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_native","require","_react","_interopRequireWildcard","React","_overlay","_managedLifecycle","_screenComposer","_core","_managed","_adjustedScreen","_adjustedScreenContainer","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isFabric","global","SceneView","memo","descriptor","route","navigation","render","jsx","NavigationContext","Provider","value","children","jsxs","NavigationRouteContext","options","overlayMode","Overlay","Screen","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","Fragment","Float","AdjustedScreenContainer","map","scene","sceneIndex","isFocused","isBelowFocused","previousDescriptor","undefined","nextDescriptor","isPreloaded","key","shouldFreeze","AdjustedScreen","index","routeKey","freezeOnBlur","ScreenComposer","previous","current","next","LifecycleController","ManagedLifecycle"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ComponentScreenContainer = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ const ComponentScreenContainer = ({
10
+ children
11
+ }) => {
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
13
+ style: styles.container,
14
+ children: children
15
+ });
16
+ };
17
+ exports.ComponentScreenContainer = ComponentScreenContainer;
18
+ const styles = _reactNative.StyleSheet.create({
19
+ container: {
20
+ flex: 1
21
+ }
22
+ });
23
+ //# sourceMappingURL=component-screen-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_jsxRuntime","ComponentScreenContainer","children","jsx","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAgD,IAAAC,WAAA,GAAAD,OAAA;AAMzC,MAAME,wBAAwB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAChE,oBAAO,IAAAF,WAAA,CAAAG,GAAA,EAACL,YAAA,CAAAM,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAL,QAAA,EAAEA;EAAQ,CAAO,CAAC;AACxD,CAAC;AAACM,OAAA,CAAAP,wBAAA,GAAAA,wBAAA;AAEF,MAAMK,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ComponentScreen = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
+ var _layoutAnchor = require("../../shared/providers/layout-anchor.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
+ const ComponentScreen = ({
14
+ routeKey,
15
+ children
16
+ }) => {
17
+ const sceneClosing = _animation.AnimationStore.getAnimation(routeKey, "closing");
18
+ const screenRef = (0, _reactNativeReanimated.useAnimatedRef)();
19
+ const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
20
+ return {
21
+ pointerEvents: sceneClosing.get() ? "none" : "box-none"
22
+ };
23
+ });
24
+ const ComponentScreenComponent = _reactNativeReanimated.default.View;
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ComponentScreenComponent, {
26
+ ref: screenRef,
27
+ style: _reactNative.StyleSheet.absoluteFill,
28
+ animatedProps: animatedProps,
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_layoutAnchor.LayoutAnchorProvider, {
30
+ anchorRef: screenRef,
31
+ children: children
32
+ })
33
+ });
34
+ };
35
+ exports.ComponentScreen = ComponentScreen;
36
+ //# sourceMappingURL=component-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_layoutAnchor","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ComponentScreen","routeKey","children","sceneClosing","AnimationStore","getAnimation","screenRef","useAnimatedRef","animatedProps","useAnimatedProps","pointerEvents","ComponentScreenComponent","Animated","View","jsx","ref","style","StyleSheet","absoluteFill","LayoutAnchorProvider","anchorRef","exports"],"sourceRoot":"../../../../src","sources":["component-stack/components/component-screen.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AAIA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAqE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,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;AAO9D,MAAMkB,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAsB,CAAC,KAAK;EACvE,MAAMC,YAAY,GAAGC,yBAAc,CAACC,YAAY,CAACJ,QAAQ,EAAE,SAAS,CAAC;EACrE,MAAMK,SAAS,GAAG,IAAAC,qCAAc,EAAO,CAAC;EAExC,MAAMC,aAAa,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IAC5C,OAAO;MACNC,aAAa,EAAEP,YAAY,CAACV,GAAG,CAAC,CAAC,GAC7B,MAAM,GACN;IACL,CAAC;EACF,CAAC,CAAC;EAEF,MAAMkB,wBAAwB,GAAGC,8BAAQ,CAACC,IAAI;EAE9C,oBACC,IAAAjC,WAAA,CAAAkC,GAAA,EAACH,wBAAwB;IACxBI,GAAG,EAAET,SAAU;IACfU,KAAK,EAAEC,uBAAU,CAACC,YAAa;IAC/BV,aAAa,EAAEA,aAAc;IAAAN,QAAA,eAE7B,IAAAtB,WAAA,CAAAkC,GAAA,EAACpC,aAAA,CAAAyC,oBAAoB;MAACC,SAAS,EAAEd,SAAU;MAAAJ,QAAA,EACzCA;IAAQ,CACY;EAAC,CACE,CAAC;AAE7B,CAAC;AAACmB,OAAA,CAAArB,eAAA,GAAAA,eAAA","ignoreList":[]}