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.
- package/lib/commonjs/blank-stack/components/screens.js +22 -13
- package/lib/commonjs/blank-stack/components/screens.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.js +42 -39
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +11 -10
- package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
- package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
- package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +81 -0
- package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +36 -20
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/register-bounds.provider.js +4 -3
- package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/routes.provider.js +48 -0
- package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
- package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/commonjs/shared/types/state.types.js +9 -0
- package/lib/commonjs/shared/types/state.types.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
- package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/module/blank-stack/components/screens.js +22 -13
- package/lib/module/blank-stack/components/screens.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.js +42 -39
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js +11 -10
- package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
- package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
- package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
- package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js +74 -0
- package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
- package/lib/module/shared/hooks/animation/use-screen-animation.js +11 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +36 -21
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/register-bounds.provider.js +4 -3
- package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
- package/lib/module/shared/providers/routes.provider.js +42 -0
- package/lib/module/shared/providers/routes.provider.js.map +1 -0
- package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
- package/lib/module/shared/types/state.types.js +5 -0
- package/lib/module/shared/types/state.types.js.map +1 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
- package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
- package/lib/module/shared/utils/animation/derivations.js +1 -1
- package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
- package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
- package/lib/typescript/blank-stack/components/screens.d.ts +1 -3
- package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/types.d.ts +1 -39
- package/lib/typescript/blank-stack/types.d.ts.map +1 -1
- package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
- package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
- package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts +10 -7
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
- package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
- package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +12 -0
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/state.types.d.ts +3 -0
- package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
- package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/blank-stack/components/screens.tsx +25 -19
- package/src/blank-stack/components/stack-view.tsx +57 -53
- package/src/blank-stack/types.ts +1 -24
- package/src/blank-stack/utils/with-stack-navigation/index.tsx +17 -3
- package/src/native-stack/views/NativeStackView.native.tsx +121 -112
- package/src/shared/__tests__/bounds.store.test.ts +14 -36
- package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
- package/src/shared/components/controllers/native-stack-lifecycle.tsx +89 -0
- package/src/shared/hooks/animation/use-screen-animation.tsx +11 -6
- package/src/shared/hooks/gestures/use-build-gestures.tsx +12 -6
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
- package/src/shared/providers/gestures.provider.tsx +49 -48
- package/src/shared/providers/register-bounds.provider.tsx +4 -3
- package/src/shared/providers/routes.provider.tsx +54 -0
- package/src/shared/providers/screen-transition.provider.tsx +2 -2
- package/src/shared/types/animation.types.ts +13 -0
- package/src/shared/types/state.types.ts +2 -0
- package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
- package/src/shared/utils/animation/derivations.ts +1 -1
- package/src/shared/utils/animation/start-screen-transition.ts +13 -10
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
- package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
- package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
- package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
- package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
- package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
- package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
- package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
- 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/
|
|
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
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
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
|
|
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":";;AACA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAClD,SAA2BC,eAAe,QAAQ,yBAAyB;AAC3E,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,+BAA+B,QAAQ,iBAAiB;AACjE,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAECC,OAAO,QACD,+BAA+B;AACtC,SAASC,cAAc,QAAQ,8BAA8B;AAC7D,SAASC,YAAY,QAA8B,4BAA4B;
|
|
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
|
-
|
|
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
|
|
57
|
-
if (
|
|
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,
|
|
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 (
|
|
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
|