react-native-screen-transitions 3.0.0-rc.2 → 3.0.0-rc.4

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 (241) hide show
  1. package/README.md +421 -371
  2. package/lib/commonjs/blank-stack/components/{Overlay.js → overlay.js} +7 -5
  3. package/lib/commonjs/blank-stack/components/overlay.js.map +1 -0
  4. package/lib/commonjs/blank-stack/components/{Screens.js → screens.js} +20 -17
  5. package/lib/commonjs/blank-stack/components/screens.js.map +1 -0
  6. package/lib/commonjs/blank-stack/components/stack-view.js +101 -0
  7. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -0
  8. package/lib/commonjs/blank-stack/index.js +1 -8
  9. package/lib/commonjs/blank-stack/index.js.map +1 -1
  10. package/lib/commonjs/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +3 -3
  11. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
  12. package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
  13. package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
  14. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
  15. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
  16. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
  17. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +49 -55
  18. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  19. package/lib/commonjs/blank-stack/utils/with-stack-navigation/{_types.js → types.js} +1 -1
  20. package/lib/commonjs/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
  21. package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
  22. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  23. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
  24. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  25. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +79 -0
  26. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  27. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +49 -23
  28. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  29. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
  30. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  31. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
  32. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  33. package/lib/commonjs/shared/providers/flags.provider.js +25 -0
  34. package/lib/commonjs/shared/providers/flags.provider.js.map +1 -0
  35. package/lib/commonjs/shared/providers/gestures.provider.js +32 -5
  36. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  37. package/lib/commonjs/shared/providers/register-bounds.provider.js +72 -45
  38. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  39. package/lib/commonjs/shared/providers/routes.provider.js +48 -0
  40. package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
  41. package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
  42. package/lib/commonjs/shared/stores/bounds.store.js +91 -47
  43. package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
  44. package/lib/commonjs/shared/types/state.types.js +9 -0
  45. package/lib/commonjs/shared/types/state.types.js.map +1 -0
  46. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
  47. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
  48. package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
  49. package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
  50. package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
  51. package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
  52. package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
  53. package/lib/commonjs/shared/utils/bounds/index.js +4 -5
  54. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  55. package/lib/commonjs/shared/utils/create-provider.js +20 -1
  56. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  57. package/lib/commonjs/shared/utils/reset-stores-for-screen.js +2 -0
  58. package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -1
  59. package/lib/module/blank-stack/components/{Overlay.js → overlay.js} +7 -5
  60. package/lib/module/blank-stack/components/overlay.js.map +1 -0
  61. package/lib/module/blank-stack/components/screens.js +61 -0
  62. package/lib/module/blank-stack/components/screens.js.map +1 -0
  63. package/lib/module/blank-stack/components/stack-view.js +96 -0
  64. package/lib/module/blank-stack/components/stack-view.js.map +1 -0
  65. package/lib/module/blank-stack/index.js +1 -2
  66. package/lib/module/blank-stack/index.js.map +1 -1
  67. package/lib/module/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +2 -2
  68. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
  69. package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
  70. package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
  71. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
  72. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
  73. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
  74. package/lib/module/blank-stack/utils/with-stack-navigation/index.js +48 -54
  75. package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  76. package/lib/module/blank-stack/utils/with-stack-navigation/types.js +4 -0
  77. package/lib/module/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
  78. package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
  79. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  80. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
  81. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  82. package/lib/module/shared/components/controllers/native-stack-lifecycle.js +73 -0
  83. package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  84. package/lib/module/shared/hooks/animation/use-screen-animation.js +49 -23
  85. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  86. package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
  87. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  88. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
  89. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  90. package/lib/module/shared/providers/flags.provider.js +19 -0
  91. package/lib/module/shared/providers/flags.provider.js.map +1 -0
  92. package/lib/module/shared/providers/gestures.provider.js +31 -4
  93. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  94. package/lib/module/shared/providers/register-bounds.provider.js +72 -45
  95. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  96. package/lib/module/shared/providers/routes.provider.js +42 -0
  97. package/lib/module/shared/providers/routes.provider.js.map +1 -0
  98. package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
  99. package/lib/module/shared/stores/bounds.store.js +91 -47
  100. package/lib/module/shared/stores/bounds.store.js.map +1 -1
  101. package/lib/module/shared/types/state.types.js +5 -0
  102. package/lib/module/shared/types/state.types.js.map +1 -0
  103. package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
  104. package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
  105. package/lib/module/shared/utils/animation/derivations.js +1 -1
  106. package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
  107. package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
  108. package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
  109. package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
  110. package/lib/module/shared/utils/bounds/index.js +4 -5
  111. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  112. package/lib/module/shared/utils/create-provider.js +20 -1
  113. package/lib/module/shared/utils/create-provider.js.map +1 -1
  114. package/lib/module/shared/utils/reset-stores-for-screen.js +2 -0
  115. package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -1
  116. package/lib/typescript/blank-stack/components/{Overlay.d.ts → overlay.d.ts} +1 -1
  117. package/lib/typescript/blank-stack/components/overlay.d.ts.map +1 -0
  118. package/lib/typescript/blank-stack/components/{Screens.d.ts → screens.d.ts} +1 -1
  119. package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -0
  120. package/lib/typescript/blank-stack/components/stack-view.d.ts +3 -0
  121. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -0
  122. package/lib/typescript/blank-stack/index.d.ts +1 -2
  123. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  124. package/lib/typescript/blank-stack/navigators/{createBlankStackNavigator.d.ts → create-blank-stack-navigator.d.ts} +1 -1
  125. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -0
  126. package/lib/typescript/blank-stack/types.d.ts +5 -39
  127. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  128. package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts.map +1 -1
  129. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.d.ts.map +1 -1
  130. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts +1 -1
  131. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts.map +1 -1
  132. package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts +3 -5
  133. package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
  134. package/lib/typescript/blank-stack/utils/with-stack-navigation/{_types.d.ts → types.d.ts} +1 -1
  135. package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts.map +1 -0
  136. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  137. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
  138. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
  139. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
  140. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
  141. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  142. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
  143. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  144. package/lib/typescript/shared/index.d.ts +20 -20
  145. package/lib/typescript/shared/providers/flags.provider.d.ts +10 -0
  146. package/lib/typescript/shared/providers/flags.provider.d.ts.map +1 -0
  147. package/lib/typescript/shared/providers/gestures.provider.d.ts +8 -2
  148. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  149. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  150. package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
  151. package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
  152. package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
  153. package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
  154. package/lib/typescript/shared/stores/bounds.store.d.ts +23 -11
  155. package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
  156. package/lib/typescript/shared/types/animation.types.d.ts +12 -0
  157. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  158. package/lib/typescript/shared/types/bounds.types.d.ts +2 -2
  159. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  160. package/lib/typescript/shared/types/state.types.d.ts +3 -0
  161. package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
  162. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
  163. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
  164. package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
  165. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  166. package/lib/typescript/shared/utils/create-provider.d.ts +2 -2
  167. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -1
  169. package/package.json +2 -1
  170. package/src/blank-stack/components/{Overlay.tsx → overlay.tsx} +4 -3
  171. package/src/blank-stack/components/{Screens.tsx → screens.tsx} +24 -20
  172. package/src/blank-stack/components/stack-view.tsx +115 -0
  173. package/src/blank-stack/index.ts +1 -2
  174. package/src/blank-stack/navigators/{createBlankStackNavigator.tsx → create-blank-stack-navigator.tsx} +1 -1
  175. package/src/blank-stack/types.ts +6 -31
  176. package/src/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts +1 -8
  177. package/src/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.tsx +1 -12
  178. package/src/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx +1 -1
  179. package/src/blank-stack/utils/with-stack-navigation/index.tsx +42 -62
  180. package/src/native-stack/views/NativeStackView.native.tsx +121 -112
  181. package/src/shared/__tests__/bounds.store.test.ts +376 -167
  182. package/src/shared/__tests__/determine-dismissal.test.ts +2 -12
  183. package/src/shared/__tests__/geometry.test.ts +1 -1
  184. package/src/shared/__tests__/gesture.velocity.test.ts +2 -10
  185. package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
  186. package/src/shared/components/controllers/native-stack-lifecycle.tsx +87 -0
  187. package/src/shared/hooks/animation/use-screen-animation.tsx +61 -30
  188. package/src/shared/hooks/gestures/use-build-gestures.tsx +16 -7
  189. package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
  190. package/src/shared/providers/flags.provider.tsx +21 -0
  191. package/src/shared/providers/gestures.provider.tsx +34 -5
  192. package/src/shared/providers/register-bounds.provider.tsx +86 -54
  193. package/src/shared/providers/routes.provider.tsx +54 -0
  194. package/src/shared/providers/screen-transition.provider.tsx +2 -2
  195. package/src/shared/stores/bounds.store.ts +90 -54
  196. package/src/shared/types/animation.types.ts +13 -0
  197. package/src/shared/types/bounds.types.ts +2 -2
  198. package/src/shared/types/state.types.ts +2 -0
  199. package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
  200. package/src/shared/utils/animation/derivations.ts +1 -1
  201. package/src/shared/utils/animation/start-screen-transition.ts +13 -10
  202. package/src/shared/utils/bounds/helpers/is-bounds-equal.ts +1 -1
  203. package/src/shared/utils/bounds/index.ts +7 -10
  204. package/src/shared/utils/create-provider.tsx +35 -1
  205. package/src/shared/utils/reset-stores-for-screen.ts +2 -0
  206. package/lib/commonjs/blank-stack/components/Overlay.js.map +0 -1
  207. package/lib/commonjs/blank-stack/components/Screens.js.map +0 -1
  208. package/lib/commonjs/blank-stack/components/StackView.js +0 -93
  209. package/lib/commonjs/blank-stack/components/StackView.js.map +0 -1
  210. package/lib/commonjs/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
  211. package/lib/commonjs/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
  212. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
  213. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
  214. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
  215. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  216. package/lib/module/blank-stack/components/Overlay.js.map +0 -1
  217. package/lib/module/blank-stack/components/Screens.js +0 -58
  218. package/lib/module/blank-stack/components/Screens.js.map +0 -1
  219. package/lib/module/blank-stack/components/StackView.js +0 -88
  220. package/lib/module/blank-stack/components/StackView.js.map +0 -1
  221. package/lib/module/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
  222. package/lib/module/blank-stack/utils/with-stack-navigation/_types.js +0 -4
  223. package/lib/module/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
  224. package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
  225. package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
  226. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
  227. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  228. package/lib/typescript/blank-stack/components/Overlay.d.ts.map +0 -1
  229. package/lib/typescript/blank-stack/components/Screens.d.ts.map +0 -1
  230. package/lib/typescript/blank-stack/components/StackView.d.ts +0 -2
  231. package/lib/typescript/blank-stack/components/StackView.d.ts.map +0 -1
  232. package/lib/typescript/blank-stack/navigators/createBlankStackNavigator.d.ts.map +0 -1
  233. package/lib/typescript/blank-stack/utils/with-stack-navigation/_types.d.ts.map +0 -1
  234. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
  235. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
  236. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
  237. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
  238. package/src/blank-stack/components/StackView.tsx +0 -108
  239. package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
  240. package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
  241. /package/src/blank-stack/utils/with-stack-navigation/{_types.ts → types.ts} +0 -0
@@ -11,7 +11,8 @@ var _reactNative = require("react-native");
11
11
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
12
12
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
13
13
  var _reactNativeScreens = require("react-native-screens");
14
- var _screenLifecycle = require("../../shared/components/controllers/screen-lifecycle");
14
+ var _nativeStackLifecycle = require("../../shared/components/controllers/native-stack-lifecycle");
15
+ var _routes = require("../../shared/providers/routes.provider");
15
16
  var _screenTransition = require("../../shared/providers/screen-transition.provider");
16
17
  var _debounce = require("../utils/debounce");
17
18
  var _getModalRoutesKeys = require("../utils/getModalRoutesKeys");
@@ -332,7 +333,7 @@ const SceneView = ({
332
333
  previous: previousDescriptor,
333
334
  current: descriptor,
334
335
  next: nextDescriptor,
335
- LifecycleController: _screenLifecycle.NativeStackScreenLifecycleController,
336
+ LifecycleController: _nativeStackLifecycle.NativeStackScreenLifecycleController,
336
337
  children: render()
337
338
  })
338
339
  })
@@ -359,108 +360,114 @@ function NativeStackView({
359
360
  return acc;
360
361
  }, {});
361
362
  const routes = state.routes.concat(state.preloadedRoutes);
362
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
363
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
364
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
365
- style: styles.container,
366
- children: routes.map((route, index) => {
367
- const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
368
- const isFocused = state.index === index;
369
- const isBelowFocused = state.index - 1 === index;
370
- const previousKey = state.routes[index - 1]?.key;
371
- const nextKey = state.routes[index + 1]?.key;
372
- const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
373
- const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
374
- const isModal = modalRouteKeys.includes(route.key);
375
- const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
376
363
 
377
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
378
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
379
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
380
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
381
- index: index,
382
- focused: isFocused,
383
- shouldFreeze: shouldFreeze,
384
- descriptor: descriptor,
385
- previousDescriptor: previousDescriptor,
386
- nextDescriptor: nextDescriptor,
387
- isPresentationModal: isModal,
388
- isPreloaded: isPreloaded,
389
- onWillDisappear: () => {
390
- navigation.emit({
391
- type: "transitionStart",
392
- data: {
393
- closing: true
394
- },
395
- target: route.key
396
- });
397
- },
398
- onWillAppear: () => {
399
- navigation.emit({
400
- type: "transitionStart",
401
- data: {
402
- closing: false
403
- },
404
- target: route.key
405
- });
406
- },
407
- onAppear: () => {
408
- navigation.emit({
409
- type: "transitionEnd",
410
- data: {
411
- closing: false
412
- },
413
- target: route.key
414
- });
415
- },
416
- onDisappear: () => {
417
- navigation.emit({
418
- type: "transitionEnd",
419
- data: {
420
- closing: true
421
- },
422
- target: route.key
423
- });
424
- },
425
- onDismissed: event => {
426
- navigation.dispatch({
427
- ..._native.StackActions.pop(event.nativeEvent.dismissCount),
428
- source: route.key,
429
- target: state.key
430
- });
431
- setNextDismissedKey(route.key);
432
- },
433
- onHeaderBackButtonClicked: () => {
434
- navigation.dispatch({
435
- ..._native.StackActions.pop(),
436
- source: route.key,
437
- target: state.key
438
- });
439
- },
440
- onNativeDismissCancelled: event => {
441
- navigation.dispatch({
442
- ..._native.StackActions.pop(event.nativeEvent.dismissCount),
443
- source: route.key,
444
- target: state.key
445
- });
446
- },
447
- onGestureCancel: () => {
448
- navigation.emit({
449
- type: "gestureCancel",
450
- target: route.key
451
- });
452
- },
453
- onSheetDetentChanged: event => {
454
- navigation.emit({
455
- type: "sheetDetentChange",
456
- target: route.key,
457
- data: {
458
- index: event.nativeEvent.index,
459
- stable: event.nativeEvent.isStable
460
- }
461
- });
462
- }
463
- }, route.key);
364
+ // Memoize route keys array for RoutesProvider
365
+ const routeKeys = React.useMemo(() => routes.map(route => route.key), [routes]);
366
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_routes.RoutesProvider, {
367
+ routeKeys: routeKeys,
368
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
369
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
370
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
371
+ style: styles.container,
372
+ children: routes.map((route, index) => {
373
+ const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
374
+ const isFocused = state.index === index;
375
+ const isBelowFocused = state.index - 1 === index;
376
+ const previousKey = state.routes[index - 1]?.key;
377
+ const nextKey = state.routes[index + 1]?.key;
378
+ const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
379
+ const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
380
+ const isModal = modalRouteKeys.includes(route.key);
381
+ const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
382
+
383
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
384
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
385
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
386
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
387
+ index: index,
388
+ focused: isFocused,
389
+ shouldFreeze: shouldFreeze,
390
+ descriptor: descriptor,
391
+ previousDescriptor: previousDescriptor,
392
+ nextDescriptor: nextDescriptor,
393
+ isPresentationModal: isModal,
394
+ isPreloaded: isPreloaded,
395
+ onWillDisappear: () => {
396
+ navigation.emit({
397
+ type: "transitionStart",
398
+ data: {
399
+ closing: true
400
+ },
401
+ target: route.key
402
+ });
403
+ },
404
+ onWillAppear: () => {
405
+ navigation.emit({
406
+ type: "transitionStart",
407
+ data: {
408
+ closing: false
409
+ },
410
+ target: route.key
411
+ });
412
+ },
413
+ onAppear: () => {
414
+ navigation.emit({
415
+ type: "transitionEnd",
416
+ data: {
417
+ closing: false
418
+ },
419
+ target: route.key
420
+ });
421
+ },
422
+ onDisappear: () => {
423
+ navigation.emit({
424
+ type: "transitionEnd",
425
+ data: {
426
+ closing: true
427
+ },
428
+ target: route.key
429
+ });
430
+ },
431
+ onDismissed: event => {
432
+ navigation.dispatch({
433
+ ..._native.StackActions.pop(event.nativeEvent.dismissCount),
434
+ source: route.key,
435
+ target: state.key
436
+ });
437
+ setNextDismissedKey(route.key);
438
+ },
439
+ onHeaderBackButtonClicked: () => {
440
+ navigation.dispatch({
441
+ ..._native.StackActions.pop(),
442
+ source: route.key,
443
+ target: state.key
444
+ });
445
+ },
446
+ onNativeDismissCancelled: event => {
447
+ navigation.dispatch({
448
+ ..._native.StackActions.pop(event.nativeEvent.dismissCount),
449
+ source: route.key,
450
+ target: state.key
451
+ });
452
+ },
453
+ onGestureCancel: () => {
454
+ navigation.emit({
455
+ type: "gestureCancel",
456
+ target: route.key
457
+ });
458
+ },
459
+ onSheetDetentChanged: event => {
460
+ navigation.emit({
461
+ type: "sheetDetentChange",
462
+ target: route.key,
463
+ data: {
464
+ index: event.nativeEvent.index,
465
+ stable: event.nativeEvent.isStable
466
+ }
467
+ });
468
+ }
469
+ }, route.key);
470
+ })
464
471
  })
465
472
  })
466
473
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeGestureHandler","_reactNativeSafeAreaContext","_reactNativeScreens","_screenLifecycle","_screenTransition","_debounce","_getModalRoutesKeys","_useAnimatedHeaderHeight","_useDismissedRouteError","_useInvalidPreventRemoveError","_useHeaderConfigProps","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","Platform","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","nativeGestureEnabled","nativeGestureDirection","nativeGestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","enableTransitions","undefined","nextGestureDirection","gestureDirectionOverride","colors","useTheme","insets","useSafeAreaInsets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","isLandscape","useFrameSize","frame","width","height","topInset","top","defaultHeaderHeight","select","android","getDefaultHeaderHeight","preventedRoutes","usePreventRemoveContext","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","debounce","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","StatusBar","currentHeight","rawAnimatedHeaderHeight","useAnimatedValue","animatedHeaderHeight","useMemo","Animated","add","headerTopInsetEnabled","canGoBack","backTitle","getHeaderTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","modifiedPresentation","modifiedAnimation","modifiedHeaderShown","headerConfig","useHeaderConfigProps","headerBackTitle","jsx","NavigationContext","Provider","value","children","NavigationRouteContext","ScreenStackItem","screenId","activityState","style","StyleSheet","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","gestureEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","gestureResponseDistance","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","AnimatedHeaderHeightContext","jsxs","View","styles","translucent","onLayout","layout","setValue","absolute","back","ScreenTransitionProvider","previous","current","next","LifecycleController","NativeStackScreenLifecycleController","NativeStackView","state","descriptors","describe","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","modalRouteKeys","getModalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","concat","GestureHandlerRootView","SafeAreaProviderCompat","ScreenStack","container","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","StackActions","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../../src","sources":["native-stack/views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeGestureHandler","_reactNativeSafeAreaContext","_reactNativeScreens","_nativeStackLifecycle","_routes","_screenTransition","_debounce","_getModalRoutesKeys","_useAnimatedHeaderHeight","_useDismissedRouteError","_useInvalidPreventRemoveError","_useHeaderConfigProps","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","Platform","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","nativeGestureEnabled","nativeGestureDirection","nativeGestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","enableTransitions","undefined","nextGestureDirection","gestureDirectionOverride","colors","useTheme","insets","useSafeAreaInsets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","isLandscape","useFrameSize","frame","width","height","topInset","top","defaultHeaderHeight","select","android","getDefaultHeaderHeight","preventedRoutes","usePreventRemoveContext","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","debounce","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","StatusBar","currentHeight","rawAnimatedHeaderHeight","useAnimatedValue","animatedHeaderHeight","useMemo","Animated","add","headerTopInsetEnabled","canGoBack","backTitle","getHeaderTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","modifiedPresentation","modifiedAnimation","modifiedHeaderShown","headerConfig","useHeaderConfigProps","headerBackTitle","jsx","NavigationContext","Provider","value","children","NavigationRouteContext","ScreenStackItem","screenId","activityState","style","StyleSheet","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","gestureEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","gestureResponseDistance","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","AnimatedHeaderHeightContext","jsxs","View","styles","translucent","onLayout","layout","setValue","absolute","back","ScreenTransitionProvider","previous","current","next","LifecycleController","NativeStackScreenLifecycleController","NativeStackView","state","descriptors","describe","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","modalRouteKeys","getModalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","concat","routeKeys","map","RoutesProvider","GestureHandlerRootView","SafeAreaProviderCompat","ScreenStack","container","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","StackActions","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../../src","sources":["native-stack/views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlankStackScreenLifecycleController = void 0;
7
+ var _react = require("react");
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+ var _withStackNavigation = require("../../../blank-stack/utils/with-stack-navigation");
10
+ var _useStableCallback = _interopRequireDefault(require("../../hooks/use-stable-callback"));
11
+ var _keys = require("../../providers/keys.provider");
12
+ var _animation = require("../../stores/animation.store");
13
+ var _startScreenTransition = require("../../utils/animation/start-screen-transition");
14
+ var _resetStoresForScreen = require("../../utils/reset-stores-for-screen");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ /**
17
+ * Lifecycle controller built out for Blank Stack implementation.
18
+ */
19
+ const BlankStackScreenLifecycleController = ({
20
+ children
21
+ }) => {
22
+ const {
23
+ current
24
+ } = (0, _keys.useKeys)();
25
+ const {
26
+ handleCloseRoute,
27
+ closingRouteKeysShared
28
+ } = (0, _withStackNavigation.useStackNavigationContext)();
29
+ const animations = _animation.AnimationStore.getAll(current.route.key);
30
+ const handleInitialize = (0, _useStableCallback.default)(() => {
31
+ (0, _startScreenTransition.startScreenTransition)({
32
+ target: "open",
33
+ spec: current.options.transitionSpec,
34
+ animations
35
+ });
36
+ });
37
+ const handleCleanup = (0, _useStableCallback.default)(() => {
38
+ (0, _resetStoresForScreen.resetStoresForScreen)(current);
39
+ });
40
+ const handleCloseEnd = (0, _useStableCallback.default)(finished => {
41
+ if (!finished) {
42
+ return;
43
+ }
44
+ handleCloseRoute({
45
+ route: current.route
46
+ });
47
+ });
48
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => ({
49
+ keys: closingRouteKeysShared.value
50
+ }), ({
51
+ keys
52
+ }) => {
53
+ if (!keys.includes(current.route.key)) {
54
+ return;
55
+ }
56
+ (0, _startScreenTransition.startScreenTransition)({
57
+ target: "close",
58
+ spec: current.options.transitionSpec,
59
+ animations,
60
+ onAnimationFinish: handleCloseEnd
61
+ });
62
+ });
63
+ (0, _react.useLayoutEffect)(() => {
64
+ handleInitialize();
65
+ return () => {
66
+ handleCleanup();
67
+ };
68
+ }, [handleInitialize, handleCleanup]);
69
+ return children;
70
+ };
71
+ exports.BlankStackScreenLifecycleController = BlankStackScreenLifecycleController;
72
+ //# sourceMappingURL=blank-stack-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_withStackNavigation","_useStableCallback","_interopRequireDefault","_keys","_animation","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","BlankStackScreenLifecycleController","children","current","useKeys","handleCloseRoute","closingRouteKeysShared","useStackNavigationContext","animations","AnimationStore","getAll","route","key","handleInitialize","useStableCallback","startScreenTransition","target","spec","options","transitionSpec","handleCleanup","resetStoresForScreen","handleCloseEnd","finished","useAnimatedReaction","keys","value","includes","onAnimationFinish","useLayoutEffect","exports"],"sourceRoot":"../../../../../src","sources":["shared/components/controllers/blank-stack-lifecycle.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AAA2E,SAAAI,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM3E;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,GACjD,IAAAC,8CAAyB,EAAC,CAAC;EAE5B,MAAMC,UAAU,GAAGC,yBAAc,CAACC,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAMC,gBAAgB,GAAG,IAAAC,0BAAiB,EAAC,MAAM;IAChD,IAAAC,4CAAqB,EAAC;MACrBC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAEd,OAAO,CAACe,OAAO,CAACC,cAAc;MACpCX;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMY,aAAa,GAAG,IAAAN,0BAAiB,EAAC,MAAM;IAC7C,IAAAO,0CAAoB,EAAClB,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEF,MAAMmB,cAAc,GAAG,IAAAR,0BAAiB,EAAES,QAAiB,IAAK;IAC/D,IAAI,CAACA,QAAQ,EAAE;MACd;IACD;IACAlB,gBAAgB,CAAC;MAAEM,KAAK,EAAER,OAAO,CAACQ;IAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEF,IAAAa,0CAAmB,EAClB,OAAO;IACNC,IAAI,EAAEnB,sBAAsB,CAACoB;EAC9B,CAAC,CAAC,EACF,CAAC;IAAED;EAAK,CAAC,KAAK;IACb,IAAI,CAACA,IAAI,CAACE,QAAQ,CAACxB,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC,EAAE;MACtC;IACD;IAEA,IAAAG,4CAAqB,EAAC;MACrBC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAEd,OAAO,CAACe,OAAO,CAACC,cAAc;MACpCX,UAAU;MACVoB,iBAAiB,EAAEN;IACpB,CAAC,CAAC;EACH,CACD,CAAC;EAED,IAAAO,sBAAe,EAAC,MAAM;IACrBhB,gBAAgB,CAAC,CAAC;IAClB,OAAO,MAAM;MACZO,aAAa,CAAC,CAAC;IAChB,CAAC;EACF,CAAC,EAAE,CAACP,gBAAgB,EAAEO,aAAa,CAAC,CAAC;EAErC,OAAOlB,QAAQ;AAChB,CAAC;AAAC4B,OAAA,CAAA7B,mCAAA,GAAAA,mCAAA","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NativeStackScreenLifecycleController = void 0;
7
+ var _react = require("react");
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+ var _useSharedValueState = require("../../hooks/reanimated/use-shared-value-state");
10
+ var _useStableCallback = _interopRequireDefault(require("../../hooks/use-stable-callback"));
11
+ var _gestures = require("../../providers/gestures.provider");
12
+ var _keys = require("../../providers/keys.provider");
13
+ var _animation = require("../../stores/animation.store");
14
+ var _state = require("../../types/state.types");
15
+ var _startScreenTransition = require("../../utils/animation/start-screen-transition");
16
+ var _resetStoresForScreen = require("../../utils/reset-stores-for-screen");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ /**
19
+ * Lifecycle controller built out for Native Stack implementation.
20
+ */
21
+ const NativeStackScreenLifecycleController = ({
22
+ children
23
+ }) => {
24
+ const {
25
+ current
26
+ } = (0, _keys.useKeys)();
27
+ const {
28
+ ancestorContext
29
+ } = (0, _gestures.useGestureContext)();
30
+ const isAncestorDismissingViaGesture = (0, _useSharedValueState.useSharedValueState)((0, _reactNativeReanimated.useDerivedValue)(() => {
31
+ "worklet";
32
+
33
+ return ancestorContext?.gestureAnimationValues.isDismissing?.value ?? false;
34
+ }));
35
+ const animations = _animation.AnimationStore.getAll(current.route.key);
36
+ const handleBeforeRemove = (0, _useStableCallback.default)(e => {
37
+ const isEnabled = current.options.enableTransitions;
38
+ const isFirstScreen = current.navigation.getState().index === 0;
39
+
40
+ // If transitions are disabled, or an ancestor is dismissing via gesture, or this is the first screen of the stack, reset the stores
41
+ if (!isEnabled || isAncestorDismissingViaGesture || isFirstScreen) {
42
+ animations.closing.set(_state.TRUE);
43
+ (0, _resetStoresForScreen.resetStoresForScreen)(current);
44
+ return;
45
+ }
46
+ e.preventDefault();
47
+ const onAnimationFinish = finished => {
48
+ if (finished) {
49
+ current.navigation.dispatch(e.data.action);
50
+
51
+ // we'll ensure the dispatch is complete before resetting stores
52
+ requestAnimationFrame(() => {
53
+ (0, _resetStoresForScreen.resetStoresForScreen)(current);
54
+ });
55
+ }
56
+ };
57
+ (0, _startScreenTransition.startScreenTransition)({
58
+ target: "close",
59
+ spec: current.options.transitionSpec,
60
+ onAnimationFinish,
61
+ animations
62
+ });
63
+ });
64
+ const handleInitialize = (0, _useStableCallback.default)(() => {
65
+ (0, _startScreenTransition.startScreenTransition)({
66
+ target: "open",
67
+ spec: current.options.transitionSpec,
68
+ animations
69
+ });
70
+ });
71
+ (0, _react.useEffect)(() => {
72
+ const unsubscribe = current.navigation.addListener("beforeRemove", handleBeforeRemove);
73
+ return unsubscribe;
74
+ }, [current.navigation, handleBeforeRemove]);
75
+ (0, _react.useLayoutEffect)(handleInitialize, []);
76
+ return children;
77
+ };
78
+ exports.NativeStackScreenLifecycleController = NativeStackScreenLifecycleController;
79
+ //# sourceMappingURL=native-stack-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_useSharedValueState","_useStableCallback","_interopRequireDefault","_gestures","_keys","_animation","_state","_startScreenTransition","_resetStoresForScreen","e","__esModule","default","NativeStackScreenLifecycleController","children","current","useKeys","ancestorContext","useGestureContext","isAncestorDismissingViaGesture","useSharedValueState","useDerivedValue","gestureAnimationValues","isDismissing","value","animations","AnimationStore","getAll","route","key","handleBeforeRemove","useStableCallback","isEnabled","options","enableTransitions","isFirstScreen","navigation","getState","index","closing","set","TRUE","resetStoresForScreen","preventDefault","onAnimationFinish","finished","dispatch","data","action","requestAnimationFrame","startScreenTransition","target","spec","transitionSpec","handleInitialize","useEffect","unsubscribe","addListener","useLayoutEffect","exports"],"sourceRoot":"../../../../../src","sources":["shared/components/controllers/native-stack-lifecycle.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,30 +10,44 @@ var _reactNative = require("react-native");
10
10
  var _reactNativeReanimated = require("react-native-reanimated");
11
11
  var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
12
12
  var _constants = require("../../constants");
13
+ var _flags = require("../../providers/flags.provider");
13
14
  var _keys = require("../../providers/keys.provider");
15
+ var _routes = require("../../providers/routes.provider");
14
16
  var _animation = require("../../stores/animation.store");
15
17
  var _gesture = require("../../stores/gesture.store");
18
+ var _computeStackProgress = require("../../utils/animation/compute-stack-progress");
16
19
  var _derivations = require("../../utils/animation/derivations");
17
20
  var _bounds = require("../../utils/bounds");
18
- const unwrap = (s, key) => {
21
+ const createScreenTransitionState = route => ({
22
+ progress: 0,
23
+ closing: 0,
24
+ animating: 0,
25
+ gesture: {
26
+ x: 0,
27
+ y: 0,
28
+ normalizedX: 0,
29
+ normalizedY: 0,
30
+ isDismissing: 0,
31
+ isDragging: 0,
32
+ direction: null
33
+ },
34
+ route
35
+ });
36
+ const unwrapInto = s => {
19
37
  "worklet";
20
38
 
21
- if (!s || !key) return undefined;
22
- return {
23
- progress: s.progress.value,
24
- closing: s.closing.value,
25
- animating: s.animating.value,
26
- gesture: {
27
- x: s.gesture.x.value,
28
- y: s.gesture.y.value,
29
- normalizedX: s.gesture.normalizedX.value,
30
- normalizedY: s.gesture.normalizedY.value,
31
- isDismissing: s.gesture.isDismissing.value,
32
- isDragging: s.gesture.isDragging.value,
33
- direction: s.gesture.direction.value
34
- },
35
- route: s.route
36
- };
39
+ const out = s.unwrapped;
40
+ out.progress = s.progress.value;
41
+ out.closing = s.closing.value;
42
+ out.animating = s.animating.value;
43
+ out.gesture.x = s.gesture.x.value;
44
+ out.gesture.y = s.gesture.y.value;
45
+ out.gesture.normalizedX = s.gesture.normalizedX.value;
46
+ out.gesture.normalizedY = s.gesture.normalizedY.value;
47
+ out.gesture.isDismissing = s.gesture.isDismissing.value;
48
+ out.gesture.isDragging = s.gesture.isDragging.value;
49
+ out.gesture.direction = s.gesture.direction.value;
50
+ return out;
37
51
  };
38
52
  const useBuildScreenTransitionState = descriptor => {
39
53
  const key = descriptor?.route.key;
@@ -44,18 +58,22 @@ const useBuildScreenTransitionState = descriptor => {
44
58
  closing: _animation.AnimationStore.getAnimation(key, "closing"),
45
59
  animating: _animation.AnimationStore.getAnimation(key, "animating"),
46
60
  gesture: _gesture.GestureStore.getRouteGestures(key),
47
- route: descriptor.route
61
+ route: descriptor.route,
62
+ unwrapped: createScreenTransitionState(descriptor.route)
48
63
  };
49
64
  }, [key, descriptor?.route]);
50
65
  };
51
- const hasTransitionsEnabled = options => {
66
+ const hasTransitionsEnabled = (options, alwaysOn) => {
52
67
  "worklet";
53
68
 
69
+ if (alwaysOn) return true;
54
70
  return !!options?.enableTransitions;
55
71
  };
56
72
  function _useScreenAnimation() {
57
73
  const dimensions = (0, _reactNative.useWindowDimensions)();
58
74
  const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
75
+ const flags = (0, _flags.useFlagsContext)();
76
+ const transitionsAlwaysOn = flags?.TRANSITIONS_ALWAYS_ON ?? false;
59
77
  const {
60
78
  current: currentDescriptor,
61
79
  next: nextDescriptor,
@@ -64,16 +82,22 @@ function _useScreenAnimation() {
64
82
  const currentAnimation = useBuildScreenTransitionState(currentDescriptor);
65
83
  const nextAnimation = useBuildScreenTransitionState(nextDescriptor);
66
84
  const prevAnimation = useBuildScreenTransitionState(previousDescriptor);
85
+ const currentRouteKey = currentDescriptor?.route?.key;
86
+ const stackAnimationValues = (0, _routes.useStackAnimationValues)(currentRouteKey);
67
87
  const screenInterpolatorProps = (0, _reactNativeReanimated.useDerivedValue)(() => {
68
88
  "worklet";
69
89
 
70
- const previous = unwrap(prevAnimation, previousDescriptor?.route.key);
71
- const next = hasTransitionsEnabled(nextDescriptor?.options) ? unwrap(nextAnimation, nextDescriptor?.route.key) : undefined;
72
- const current = unwrap(currentAnimation, currentDescriptor?.route.key) ?? _constants.DEFAULT_SCREEN_TRANSITION_STATE;
73
- const helpers = (0, _derivations.derivations)({
90
+ const previous = prevAnimation ? unwrapInto(prevAnimation) : undefined;
91
+ const next = nextAnimation && hasTransitionsEnabled(nextDescriptor?.options, transitionsAlwaysOn) ? unwrapInto(nextAnimation) : undefined;
92
+ const current = currentAnimation ? unwrapInto(currentAnimation) : _constants.DEFAULT_SCREEN_TRANSITION_STATE;
93
+ const {
94
+ progress,
95
+ ...helpers
96
+ } = (0, _derivations.derivations)({
74
97
  current,
75
98
  next
76
99
  });
100
+ const stackProgress = (0, _computeStackProgress.computeStackProgress)(stackAnimationValues, progress);
77
101
  return {
78
102
  layouts: {
79
103
  screen: dimensions
@@ -82,6 +106,8 @@ function _useScreenAnimation() {
82
106
  previous,
83
107
  current,
84
108
  next,
109
+ progress,
110
+ stackProgress,
85
111
  ...helpers
86
112
  };
87
113
  });