react-native-screen-transitions 3.0.0-rc.3 → 3.0.0-rc.5

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 (127) hide show
  1. package/lib/commonjs/blank-stack/components/screens.js +22 -13
  2. package/lib/commonjs/blank-stack/components/screens.js.map +1 -1
  3. package/lib/commonjs/blank-stack/components/stack-view.js +42 -39
  4. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  5. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +11 -10
  6. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  7. package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
  8. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  9. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
  10. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  11. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +81 -0
  12. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  13. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +11 -1
  14. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  15. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
  16. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  17. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
  18. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  19. package/lib/commonjs/shared/providers/gestures.provider.js +36 -20
  20. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  21. package/lib/commonjs/shared/providers/register-bounds.provider.js +4 -3
  22. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  23. package/lib/commonjs/shared/providers/routes.provider.js +48 -0
  24. package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
  25. package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
  26. package/lib/commonjs/shared/types/state.types.js +9 -0
  27. package/lib/commonjs/shared/types/state.types.js.map +1 -0
  28. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
  29. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
  30. package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
  31. package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
  32. package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
  33. package/lib/module/blank-stack/components/screens.js +22 -13
  34. package/lib/module/blank-stack/components/screens.js.map +1 -1
  35. package/lib/module/blank-stack/components/stack-view.js +42 -39
  36. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  37. package/lib/module/blank-stack/utils/with-stack-navigation/index.js +11 -10
  38. package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  39. package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
  40. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  41. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
  42. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  43. package/lib/module/shared/components/controllers/native-stack-lifecycle.js +74 -0
  44. package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  45. package/lib/module/shared/hooks/animation/use-screen-animation.js +11 -1
  46. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  47. package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
  48. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  49. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
  50. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  51. package/lib/module/shared/providers/gestures.provider.js +36 -21
  52. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  53. package/lib/module/shared/providers/register-bounds.provider.js +4 -3
  54. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  55. package/lib/module/shared/providers/routes.provider.js +42 -0
  56. package/lib/module/shared/providers/routes.provider.js.map +1 -0
  57. package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
  58. package/lib/module/shared/types/state.types.js +5 -0
  59. package/lib/module/shared/types/state.types.js.map +1 -0
  60. package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
  61. package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
  62. package/lib/module/shared/utils/animation/derivations.js +1 -1
  63. package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
  64. package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
  65. package/lib/typescript/blank-stack/components/screens.d.ts +1 -3
  66. package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -1
  67. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  68. package/lib/typescript/blank-stack/types.d.ts +1 -39
  69. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  70. package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
  71. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  72. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
  73. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
  74. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
  75. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
  76. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  77. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
  78. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  79. package/lib/typescript/shared/providers/gestures.provider.d.ts +10 -7
  80. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  81. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  82. package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
  83. package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
  84. package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
  85. package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
  86. package/lib/typescript/shared/types/animation.types.d.ts +12 -0
  87. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  88. package/lib/typescript/shared/types/state.types.d.ts +3 -0
  89. package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
  90. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
  91. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
  92. package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/blank-stack/components/screens.tsx +25 -19
  95. package/src/blank-stack/components/stack-view.tsx +57 -53
  96. package/src/blank-stack/types.ts +1 -24
  97. package/src/blank-stack/utils/with-stack-navigation/index.tsx +17 -3
  98. package/src/native-stack/views/NativeStackView.native.tsx +121 -112
  99. package/src/shared/__tests__/bounds.store.test.ts +14 -36
  100. package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
  101. package/src/shared/components/controllers/native-stack-lifecycle.tsx +89 -0
  102. package/src/shared/hooks/animation/use-screen-animation.tsx +11 -6
  103. package/src/shared/hooks/gestures/use-build-gestures.tsx +12 -6
  104. package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
  105. package/src/shared/providers/gestures.provider.tsx +49 -48
  106. package/src/shared/providers/register-bounds.provider.tsx +4 -3
  107. package/src/shared/providers/routes.provider.tsx +54 -0
  108. package/src/shared/providers/screen-transition.provider.tsx +2 -2
  109. package/src/shared/types/animation.types.ts +13 -0
  110. package/src/shared/types/state.types.ts +2 -0
  111. package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
  112. package/src/shared/utils/animation/derivations.ts +1 -1
  113. package/src/shared/utils/animation/start-screen-transition.ts +13 -10
  114. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
  115. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
  116. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
  117. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  118. package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
  119. package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
  120. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
  121. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  122. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
  123. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
  124. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
  125. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
  126. package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
  127. package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
@@ -7,7 +7,8 @@ import { Animated, Platform, StatusBar, StyleSheet, useAnimatedValue, View } fro
7
7
  import { GestureHandlerRootView } from "react-native-gesture-handler";
8
8
  import { useSafeAreaInsets } from "react-native-safe-area-context";
9
9
  import { ScreenStack, ScreenStackItem } from "react-native-screens";
10
- import { NativeStackScreenLifecycleController } from "../../shared/components/controllers/screen-lifecycle";
10
+ import { NativeStackScreenLifecycleController } from "../../shared/components/controllers/native-stack-lifecycle";
11
+ import { RoutesProvider } from "../../shared/providers/routes.provider";
11
12
  import { ScreenTransitionProvider } from "../../shared/providers/screen-transition.provider";
12
13
  import { debounce } from "../utils/debounce";
13
14
  import { getModalRouteKeys } from "../utils/getModalRoutesKeys";
@@ -354,108 +355,114 @@ export function NativeStackView({
354
355
  return acc;
355
356
  }, {});
356
357
  const routes = state.routes.concat(state.preloadedRoutes);
357
- return /*#__PURE__*/_jsx(GestureHandlerRootView, {
358
- children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
359
- children: /*#__PURE__*/_jsx(ScreenStack, {
360
- style: styles.container,
361
- children: routes.map((route, index) => {
362
- const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
363
- const isFocused = state.index === index;
364
- const isBelowFocused = state.index - 1 === index;
365
- const previousKey = state.routes[index - 1]?.key;
366
- const nextKey = state.routes[index + 1]?.key;
367
- const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
368
- const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
369
- const isModal = modalRouteKeys.includes(route.key);
370
- const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
371
358
 
372
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
373
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
374
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
375
- return /*#__PURE__*/_jsx(SceneView, {
376
- index: index,
377
- focused: isFocused,
378
- shouldFreeze: shouldFreeze,
379
- descriptor: descriptor,
380
- previousDescriptor: previousDescriptor,
381
- nextDescriptor: nextDescriptor,
382
- isPresentationModal: isModal,
383
- isPreloaded: isPreloaded,
384
- onWillDisappear: () => {
385
- navigation.emit({
386
- type: "transitionStart",
387
- data: {
388
- closing: true
389
- },
390
- target: route.key
391
- });
392
- },
393
- onWillAppear: () => {
394
- navigation.emit({
395
- type: "transitionStart",
396
- data: {
397
- closing: false
398
- },
399
- target: route.key
400
- });
401
- },
402
- onAppear: () => {
403
- navigation.emit({
404
- type: "transitionEnd",
405
- data: {
406
- closing: false
407
- },
408
- target: route.key
409
- });
410
- },
411
- onDisappear: () => {
412
- navigation.emit({
413
- type: "transitionEnd",
414
- data: {
415
- closing: true
416
- },
417
- target: route.key
418
- });
419
- },
420
- onDismissed: event => {
421
- navigation.dispatch({
422
- ...StackActions.pop(event.nativeEvent.dismissCount),
423
- source: route.key,
424
- target: state.key
425
- });
426
- setNextDismissedKey(route.key);
427
- },
428
- onHeaderBackButtonClicked: () => {
429
- navigation.dispatch({
430
- ...StackActions.pop(),
431
- source: route.key,
432
- target: state.key
433
- });
434
- },
435
- onNativeDismissCancelled: event => {
436
- navigation.dispatch({
437
- ...StackActions.pop(event.nativeEvent.dismissCount),
438
- source: route.key,
439
- target: state.key
440
- });
441
- },
442
- onGestureCancel: () => {
443
- navigation.emit({
444
- type: "gestureCancel",
445
- target: route.key
446
- });
447
- },
448
- onSheetDetentChanged: event => {
449
- navigation.emit({
450
- type: "sheetDetentChange",
451
- target: route.key,
452
- data: {
453
- index: event.nativeEvent.index,
454
- stable: event.nativeEvent.isStable
455
- }
456
- });
457
- }
458
- }, route.key);
359
+ // Memoize route keys array for RoutesProvider
360
+ const routeKeys = React.useMemo(() => routes.map(route => route.key), [routes]);
361
+ return /*#__PURE__*/_jsx(RoutesProvider, {
362
+ routeKeys: routeKeys,
363
+ children: /*#__PURE__*/_jsx(GestureHandlerRootView, {
364
+ children: /*#__PURE__*/_jsx(SafeAreaProviderCompat, {
365
+ children: /*#__PURE__*/_jsx(ScreenStack, {
366
+ style: styles.container,
367
+ children: routes.map((route, index) => {
368
+ const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
369
+ const isFocused = state.index === index;
370
+ const isBelowFocused = state.index - 1 === index;
371
+ const previousKey = state.routes[index - 1]?.key;
372
+ const nextKey = state.routes[index + 1]?.key;
373
+ const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
374
+ const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
375
+ const isModal = modalRouteKeys.includes(route.key);
376
+ const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
377
+
378
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
379
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
380
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
381
+ return /*#__PURE__*/_jsx(SceneView, {
382
+ index: index,
383
+ focused: isFocused,
384
+ shouldFreeze: shouldFreeze,
385
+ descriptor: descriptor,
386
+ previousDescriptor: previousDescriptor,
387
+ nextDescriptor: nextDescriptor,
388
+ isPresentationModal: isModal,
389
+ isPreloaded: isPreloaded,
390
+ onWillDisappear: () => {
391
+ navigation.emit({
392
+ type: "transitionStart",
393
+ data: {
394
+ closing: true
395
+ },
396
+ target: route.key
397
+ });
398
+ },
399
+ onWillAppear: () => {
400
+ navigation.emit({
401
+ type: "transitionStart",
402
+ data: {
403
+ closing: false
404
+ },
405
+ target: route.key
406
+ });
407
+ },
408
+ onAppear: () => {
409
+ navigation.emit({
410
+ type: "transitionEnd",
411
+ data: {
412
+ closing: false
413
+ },
414
+ target: route.key
415
+ });
416
+ },
417
+ onDisappear: () => {
418
+ navigation.emit({
419
+ type: "transitionEnd",
420
+ data: {
421
+ closing: true
422
+ },
423
+ target: route.key
424
+ });
425
+ },
426
+ onDismissed: event => {
427
+ navigation.dispatch({
428
+ ...StackActions.pop(event.nativeEvent.dismissCount),
429
+ source: route.key,
430
+ target: state.key
431
+ });
432
+ setNextDismissedKey(route.key);
433
+ },
434
+ onHeaderBackButtonClicked: () => {
435
+ navigation.dispatch({
436
+ ...StackActions.pop(),
437
+ source: route.key,
438
+ target: state.key
439
+ });
440
+ },
441
+ onNativeDismissCancelled: event => {
442
+ navigation.dispatch({
443
+ ...StackActions.pop(event.nativeEvent.dismissCount),
444
+ source: route.key,
445
+ target: state.key
446
+ });
447
+ },
448
+ onGestureCancel: () => {
449
+ navigation.emit({
450
+ type: "gestureCancel",
451
+ target: route.key
452
+ });
453
+ },
454
+ onSheetDetentChanged: event => {
455
+ navigation.emit({
456
+ type: "sheetDetentChange",
457
+ target: route.key,
458
+ data: {
459
+ index: event.nativeEvent.index,
460
+ stable: event.nativeEvent.isStable
461
+ }
462
+ });
463
+ }
464
+ }, route.key);
465
+ })
459
466
  })
460
467
  })
461
468
  })
@@ -1 +1 @@
1
- {"version":3,"names":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","useFrameSize","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","GestureHandlerRootView","useSafeAreaInsets","ScreenStack","ScreenStackItem","NativeStackScreenLifecycleController","ScreenTransitionProvider","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","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","insets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","isLandscape","frame","width","height","topInset","top","defaultHeaderHeight","select","android","default","preventedRoutes","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","modifiedPresentation","modifiedAnimation","modifiedHeaderShown","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","gestureEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","gestureResponseDistance","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","previous","current","next","LifecycleController","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","concat","container","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","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":["getDefaultHeaderHeight","getHeaderTitle","HeaderBackContext","HeaderHeightContext","HeaderShownContext","SafeAreaProviderCompat","useFrameSize","NavigationContext","NavigationRouteContext","StackActions","usePreventRemoveContext","useTheme","React","Animated","Platform","StatusBar","StyleSheet","useAnimatedValue","View","GestureHandlerRootView","useSafeAreaInsets","ScreenStack","ScreenStackItem","NativeStackScreenLifecycleController","RoutesProvider","ScreenTransitionProvider","debounce","getModalRouteKeys","AnimatedHeaderHeightContext","useDismissedRouteError","useInvalidPreventRemoveError","useHeaderConfigProps","jsx","_jsx","jsxs","_jsxs","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","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","insets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","parentHeaderHeight","parentHeaderBack","isLandscape","frame","width","height","topInset","top","defaultHeaderHeight","select","android","default","preventedRoutes","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","currentHeight","rawAnimatedHeaderHeight","animatedHeaderHeight","useMemo","add","headerTopInsetEnabled","canGoBack","backTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","modifiedPresentation","modifiedAnimation","modifiedHeaderShown","headerConfig","headerBackTitle","Provider","value","children","screenId","activityState","style","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","gestureEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","gestureResponseDistance","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","e","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","styles","translucent","onLayout","layout","setValue","absolute","back","previous","current","next","LifecycleController","NativeStackView","state","descriptors","describe","setNextDismissedKey","modalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","concat","routeKeys","map","container","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","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,66 @@
1
+ "use strict";
2
+
3
+ import { useLayoutEffect } from "react";
4
+ import { useAnimatedReaction } from "react-native-reanimated";
5
+ import { useStackNavigationContext } from "../../../blank-stack/utils/with-stack-navigation";
6
+ import useStableCallback from "../../hooks/use-stable-callback";
7
+ import { useKeys } from "../../providers/keys.provider";
8
+ import { AnimationStore } from "../../stores/animation.store";
9
+ import { startScreenTransition } from "../../utils/animation/start-screen-transition";
10
+ import { resetStoresForScreen } from "../../utils/reset-stores-for-screen";
11
+ /**
12
+ * Lifecycle controller built out for Blank Stack implementation.
13
+ */
14
+ export const BlankStackScreenLifecycleController = ({
15
+ children
16
+ }) => {
17
+ const {
18
+ current
19
+ } = useKeys();
20
+ const {
21
+ handleCloseRoute,
22
+ closingRouteKeysShared
23
+ } = useStackNavigationContext();
24
+ const animations = AnimationStore.getAll(current.route.key);
25
+ const handleInitialize = useStableCallback(() => {
26
+ startScreenTransition({
27
+ target: "open",
28
+ spec: current.options.transitionSpec,
29
+ animations
30
+ });
31
+ });
32
+ const handleCleanup = useStableCallback(() => {
33
+ resetStoresForScreen(current);
34
+ });
35
+ const handleCloseEnd = useStableCallback(finished => {
36
+ if (!finished) {
37
+ return;
38
+ }
39
+ handleCloseRoute({
40
+ route: current.route
41
+ });
42
+ });
43
+ useAnimatedReaction(() => ({
44
+ keys: closingRouteKeysShared.value
45
+ }), ({
46
+ keys
47
+ }) => {
48
+ if (!keys.includes(current.route.key)) {
49
+ return;
50
+ }
51
+ startScreenTransition({
52
+ target: "close",
53
+ spec: current.options.transitionSpec,
54
+ animations,
55
+ onAnimationFinish: handleCloseEnd
56
+ });
57
+ });
58
+ useLayoutEffect(() => {
59
+ handleInitialize();
60
+ return () => {
61
+ handleCleanup();
62
+ };
63
+ }, [handleInitialize, handleCleanup]);
64
+ return children;
65
+ };
66
+ //# sourceMappingURL=blank-stack-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLayoutEffect","useAnimatedReaction","useStackNavigationContext","useStableCallback","useKeys","AnimationStore","startScreenTransition","resetStoresForScreen","BlankStackScreenLifecycleController","children","current","handleCloseRoute","closingRouteKeysShared","animations","getAll","route","key","handleInitialize","target","spec","options","transitionSpec","handleCleanup","handleCloseEnd","finished","keys","value","includes","onAnimationFinish"],"sourceRoot":"../../../../../src","sources":["shared/components/controllers/blank-stack-lifecycle.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,OAAO;AACvC,SAASC,mBAAmB,QAAQ,yBAAyB;AAE7D,SAASC,yBAAyB,QAAQ,kDAAkD;AAC5F,OAAOC,iBAAiB,MAAM,iCAAiC;AAC/D,SAASC,OAAO,QAAQ,+BAA+B;AACvD,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,qBAAqB,QAAQ,+CAA+C;AACrF,SAASC,oBAAoB,QAAQ,qCAAqC;AAM1E;AACA;AACA;AACA,OAAO,MAAMC,mCAAmC,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC3E,MAAM;IAAEC;EAAQ,CAAC,GAAGN,OAAO,CAAuB,CAAC;EACnD,MAAM;IAAEO,gBAAgB;IAAEC;EAAuB,CAAC,GACjDV,yBAAyB,CAAC,CAAC;EAE5B,MAAMW,UAAU,GAAGR,cAAc,CAACS,MAAM,CAACJ,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAMC,gBAAgB,GAAGd,iBAAiB,CAAC,MAAM;IAChDG,qBAAqB,CAAC;MACrBY,MAAM,EAAE,MAAM;MACdC,IAAI,EAAET,OAAO,CAACU,OAAO,CAACC,cAAc;MACpCR;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMS,aAAa,GAAGnB,iBAAiB,CAAC,MAAM;IAC7CI,oBAAoB,CAACG,OAAO,CAAC;EAC9B,CAAC,CAAC;EAEF,MAAMa,cAAc,GAAGpB,iBAAiB,CAAEqB,QAAiB,IAAK;IAC/D,IAAI,CAACA,QAAQ,EAAE;MACd;IACD;IACAb,gBAAgB,CAAC;MAAEI,KAAK,EAAEL,OAAO,CAACK;IAAM,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEFd,mBAAmB,CAClB,OAAO;IACNwB,IAAI,EAAEb,sBAAsB,CAACc;EAC9B,CAAC,CAAC,EACF,CAAC;IAAED;EAAK,CAAC,KAAK;IACb,IAAI,CAACA,IAAI,CAACE,QAAQ,CAACjB,OAAO,CAACK,KAAK,CAACC,GAAG,CAAC,EAAE;MACtC;IACD;IAEAV,qBAAqB,CAAC;MACrBY,MAAM,EAAE,OAAO;MACfC,IAAI,EAAET,OAAO,CAACU,OAAO,CAACC,cAAc;MACpCR,UAAU;MACVe,iBAAiB,EAAEL;IACpB,CAAC,CAAC;EACH,CACD,CAAC;EAEDvB,eAAe,CAAC,MAAM;IACrBiB,gBAAgB,CAAC,CAAC;IAClB,OAAO,MAAM;MACZK,aAAa,CAAC,CAAC;IAChB,CAAC;EACF,CAAC,EAAE,CAACL,gBAAgB,EAAEK,aAAa,CAAC,CAAC;EAErC,OAAOb,QAAQ;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ /** biome-ignore-all lint/style/noNonNullAssertion: <Lifecycles are rendered right under the gesture provider> */
4
+ import { useEffect, useLayoutEffect } from "react";
5
+ import { useDerivedValue } from "react-native-reanimated";
6
+ import { useSharedValueState } from "../../hooks/reanimated/use-shared-value-state";
7
+ import useStableCallback from "../../hooks/use-stable-callback";
8
+ import { useGestureContext } from "../../providers/gestures.provider";
9
+ import { useKeys } from "../../providers/keys.provider";
10
+ import { AnimationStore } from "../../stores/animation.store";
11
+ import { TRUE } from "../../types/state.types";
12
+ import { startScreenTransition } from "../../utils/animation/start-screen-transition";
13
+ import { resetStoresForScreen } from "../../utils/reset-stores-for-screen";
14
+ /**
15
+ * Lifecycle controller built out for Native Stack implementation.
16
+ */
17
+ export const NativeStackScreenLifecycleController = ({
18
+ children
19
+ }) => {
20
+ const {
21
+ current
22
+ } = useKeys();
23
+ const {
24
+ ancestorContext
25
+ } = useGestureContext();
26
+ const isAncestorDismissingViaGesture = useSharedValueState(useDerivedValue(() => {
27
+ "worklet";
28
+
29
+ return ancestorContext?.gestureAnimationValues.isDismissing?.value ?? false;
30
+ }));
31
+ const animations = AnimationStore.getAll(current.route.key);
32
+ const handleBeforeRemove = useStableCallback(e => {
33
+ const isEnabled = current.options.enableTransitions;
34
+ const isFirstScreen = current.navigation.getState().index === 0;
35
+
36
+ // If transitions are disabled, or an ancestor is dismissing via gesture, or this is the first screen of the stack, reset the stores
37
+ if (!isEnabled || isAncestorDismissingViaGesture || isFirstScreen) {
38
+ animations.closing.set(TRUE);
39
+ resetStoresForScreen(current);
40
+ return;
41
+ }
42
+ e.preventDefault();
43
+ const onAnimationFinish = finished => {
44
+ if (finished) {
45
+ current.navigation.dispatch(e.data.action);
46
+
47
+ // we'll ensure the dispatch is complete before resetting stores
48
+ requestAnimationFrame(() => {
49
+ resetStoresForScreen(current);
50
+ });
51
+ }
52
+ };
53
+ startScreenTransition({
54
+ target: "close",
55
+ spec: current.options.transitionSpec,
56
+ onAnimationFinish,
57
+ animations
58
+ });
59
+ });
60
+ const handleInitialize = useStableCallback(() => {
61
+ startScreenTransition({
62
+ target: "open",
63
+ spec: current.options.transitionSpec,
64
+ animations
65
+ });
66
+ });
67
+ useEffect(() => {
68
+ const unsubscribe = current.navigation.addListener("beforeRemove", handleBeforeRemove);
69
+ return unsubscribe;
70
+ }, [current.navigation, handleBeforeRemove]);
71
+ useLayoutEffect(handleInitialize, []);
72
+ return children;
73
+ };
74
+ //# sourceMappingURL=native-stack-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useDerivedValue","useSharedValueState","useStableCallback","useGestureContext","useKeys","AnimationStore","TRUE","startScreenTransition","resetStoresForScreen","NativeStackScreenLifecycleController","children","current","ancestorContext","isAncestorDismissingViaGesture","gestureAnimationValues","isDismissing","value","animations","getAll","route","key","handleBeforeRemove","e","isEnabled","options","enableTransitions","isFirstScreen","navigation","getState","index","closing","set","preventDefault","onAnimationFinish","finished","dispatch","data","action","requestAnimationFrame","target","spec","transitionSpec","handleInitialize","unsubscribe","addListener"],"sourceRoot":"../../../../../src","sources":["shared/components/controllers/native-stack-lifecycle.tsx"],"mappings":";;AAAA;AACA,SAASA,SAAS,EAAEC,eAAe,QAAQ,OAAO;AAClD,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,SAASC,mBAAmB,QAAQ,+CAA+C;AACnF,OAAOC,iBAAiB,MAAM,iCAAiC;AAC/D,SAASC,iBAAiB,QAAQ,mCAAmC;AACrE,SAASC,OAAO,QAAQ,+BAA+B;AACvD,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,IAAI,QAAQ,yBAAyB;AAE9C,SAASC,qBAAqB,QAAQ,+CAA+C;AACrF,SAASC,oBAAoB,QAAQ,qCAAqC;AAM1E;AACA;AACA;AACA,OAAO,MAAMC,oCAAoC,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC5E,MAAM;IAAEC;EAAQ,CAAC,GAAGP,OAAO,CAAwB,CAAC;EACpD,MAAM;IAAEQ;EAAgB,CAAC,GAAGT,iBAAiB,CAAC,CAAE;EAEhD,MAAMU,8BAA8B,GAAGZ,mBAAmB,CACzDD,eAAe,CAAC,MAAM;IACrB,SAAS;;IACT,OACCY,eAAe,EAAEE,sBAAsB,CAACC,YAAY,EAAEC,KAAK,IAAI,KAAK;EAEtE,CAAC,CACF,CAAC;EAED,MAAMC,UAAU,GAAGZ,cAAc,CAACa,MAAM,CAACP,OAAO,CAACQ,KAAK,CAACC,GAAG,CAAC;EAE3D,MAAMC,kBAAkB,GAAGnB,iBAAiB,CAAEoB,CAAM,IAAK;IACxD,MAAMC,SAAS,GAAGZ,OAAO,CAACa,OAAO,CAACC,iBAAiB;IAEnD,MAAMC,aAAa,GAAGf,OAAO,CAACgB,UAAU,CAACC,QAAQ,CAAC,CAAC,CAACC,KAAK,KAAK,CAAC;;IAE/D;IACA,IAAI,CAACN,SAAS,IAAIV,8BAA8B,IAAIa,aAAa,EAAE;MAClET,UAAU,CAACa,OAAO,CAACC,GAAG,CAACzB,IAAI,CAAC;MAC5BE,oBAAoB,CAACG,OAAO,CAAC;MAC7B;IACD;IAEAW,CAAC,CAACU,cAAc,CAAC,CAAC;IAClB,MAAMC,iBAAiB,GAAIC,QAAiB,IAAK;MAChD,IAAIA,QAAQ,EAAE;QACbvB,OAAO,CAACgB,UAAU,CAACQ,QAAQ,CAACb,CAAC,CAACc,IAAI,CAACC,MAAM,CAAC;;QAE1C;QACAC,qBAAqB,CAAC,MAAM;UAC3B9B,oBAAoB,CAACG,OAAO,CAAC;QAC9B,CAAC,CAAC;MACH;IACD,CAAC;IAEDJ,qBAAqB,CAAC;MACrBgC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAE7B,OAAO,CAACa,OAAO,CAACiB,cAAc;MACpCR,iBAAiB;MACjBhB;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEF,MAAMyB,gBAAgB,GAAGxC,iBAAiB,CAAC,MAAM;IAChDK,qBAAqB,CAAC;MACrBgC,MAAM,EAAE,MAAM;MACdC,IAAI,EAAE7B,OAAO,CAACa,OAAO,CAACiB,cAAc;MACpCxB;IACD,CAAC,CAAC;EACH,CAAC,CAAC;EAEFnB,SAAS,CAAC,MAAM;IACf,MAAM6C,WAAW,GAAGhC,OAAO,CAACgB,UAAU,CAACiB,WAAW,CACjD,cAAc,EACdvB,kBACD,CAAC;IAED,OAAOsB,WAAW;EACnB,CAAC,EAAE,CAAChC,OAAO,CAACgB,UAAU,EAAEN,kBAAkB,CAAC,CAAC;EAE5CtB,eAAe,CAAC2C,gBAAgB,EAAE,EAAE,CAAC;EAErC,OAAOhC,QAAQ;AAChB,CAAC","ignoreList":[]}
@@ -7,8 +7,10 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";
7
7
  import { DEFAULT_SCREEN_TRANSITION_STATE } from "../../constants";
8
8
  import { useFlagsContext } from "../../providers/flags.provider";
9
9
  import { useKeys } from "../../providers/keys.provider";
10
+ import { useStackAnimationValues } from "../../providers/routes.provider";
10
11
  import { AnimationStore } from "../../stores/animation.store";
11
12
  import { GestureStore } from "../../stores/gesture.store";
13
+ import { computeStackProgress } from "../../utils/animation/compute-stack-progress";
12
14
  import { derivations } from "../../utils/animation/derivations";
13
15
  import { createBounds } from "../../utils/bounds";
14
16
  const createScreenTransitionState = route => ({
@@ -75,16 +77,22 @@ export function _useScreenAnimation() {
75
77
  const currentAnimation = useBuildScreenTransitionState(currentDescriptor);
76
78
  const nextAnimation = useBuildScreenTransitionState(nextDescriptor);
77
79
  const prevAnimation = useBuildScreenTransitionState(previousDescriptor);
80
+ const currentRouteKey = currentDescriptor?.route?.key;
81
+ const stackAnimationValues = useStackAnimationValues(currentRouteKey);
78
82
  const screenInterpolatorProps = useDerivedValue(() => {
79
83
  "worklet";
80
84
 
81
85
  const previous = prevAnimation ? unwrapInto(prevAnimation) : undefined;
82
86
  const next = nextAnimation && hasTransitionsEnabled(nextDescriptor?.options, transitionsAlwaysOn) ? unwrapInto(nextAnimation) : undefined;
83
87
  const current = currentAnimation ? unwrapInto(currentAnimation) : DEFAULT_SCREEN_TRANSITION_STATE;
84
- const helpers = derivations({
88
+ const {
89
+ progress,
90
+ ...helpers
91
+ } = derivations({
85
92
  current,
86
93
  next
87
94
  });
95
+ const stackProgress = computeStackProgress(stackAnimationValues, progress);
88
96
  return {
89
97
  layouts: {
90
98
  screen: dimensions
@@ -93,6 +101,8 @@ export function _useScreenAnimation() {
93
101
  previous,
94
102
  current,
95
103
  next,
104
+ progress,
105
+ stackProgress,
96
106
  ...helpers
97
107
  };
98
108
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSafeAreaInsets","DEFAULT_SCREEN_TRANSITION_STATE","useFlagsContext","useKeys","AnimationStore","GestureStore","derivations","createBounds","createScreenTransitionState","route","progress","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","unwrapInto","s","out","unwrapped","value","useBuildScreenTransitionState","descriptor","key","undefined","getAnimation","getRouteGestures","hasTransitionsEnabled","options","alwaysOn","enableTransitions","_useScreenAnimation","dimensions","insets","flags","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","currentAnimation","nextAnimation","prevAnimation","screenInterpolatorProps","helpers","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSafeAreaInsets","DEFAULT_SCREEN_TRANSITION_STATE","useFlagsContext","useKeys","useStackAnimationValues","AnimationStore","GestureStore","computeStackProgress","derivations","createBounds","createScreenTransitionState","route","progress","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","unwrapInto","s","out","unwrapped","value","useBuildScreenTransitionState","descriptor","key","undefined","getAnimation","getRouteGestures","hasTransitionsEnabled","options","alwaysOn","enableTransitions","_useScreenAnimation","dimensions","insets","flags","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","stackAnimationValues","screenInterpolatorProps","helpers","stackProgress","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ import { velocity } from "../../utils/gesture/velocity";
19
19
  import useStableCallbackValue from "../use-stable-callback-value";
20
20
  export const useBuildGestures = ({
21
21
  scrollConfig,
22
- parentContext
22
+ ancestorContext
23
23
  }) => {
24
24
  const dimensions = useWindowDimensions();
25
25
  const {
@@ -53,8 +53,8 @@ export const useBuildGestures = ({
53
53
  }, [gestureDirection]);
54
54
  const handleDismiss = useCallback(() => {
55
55
  // If an ancestor navigator is already dismissing, skip this dismiss to
56
- // avoid racing with the parent
57
- if (parentContext?.gestureAnimationValues.isDismissing?.value) {
56
+ // avoid racing with the ancestor
57
+ if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
58
58
  return;
59
59
  }
60
60
  const state = current.navigation.getState();
@@ -67,7 +67,7 @@ export const useBuildGestures = ({
67
67
  source: current.route.key,
68
68
  target: state.key
69
69
  });
70
- }, [current, parentContext]);
70
+ }, [current, ancestorContext]);
71
71
  const onTouchesDown = useStableCallbackValue(e => {
72
72
  "worklet";
73
73
 
@@ -82,7 +82,7 @@ export const useBuildGestures = ({
82
82
  "worklet";
83
83
 
84
84
  // If an ancestor navigator is already dismissing via gesture, block new gestures here.
85
- if (parentContext?.gestureAnimationValues.isDismissing?.value) {
85
+ if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
86
86
  gestureOffsetState.value = GestureOffsetState.FAILED;
87
87
  manager.fail();
88
88
  return;
@@ -232,11 +232,16 @@ export const useBuildGestures = ({
232
232
  return useMemo(() => {
233
233
  const nativeGesture = Gesture.Native();
234
234
  const panGesture = Gesture.Pan().enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd).blocksExternalGesture(nativeGesture);
235
+
236
+ // Allow ancestors to block child native gestures
237
+ if (ancestorContext?.panGesture && nativeGesture) {
238
+ ancestorContext.panGesture.blocksExternalGesture(nativeGesture);
239
+ }
235
240
  return {
236
241
  panGesture,
237
242
  nativeGesture,
238
243
  gestureAnimationValues
239
244
  };
240
- }, [gestureEnabled, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues]);
245
+ }, [gestureEnabled, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues, ancestorContext]);
241
246
  };
242
247
  //# sourceMappingURL=use-build-gestures.js.map