react-native-screen-transitions 3.3.0-rc.3 → 3.3.0
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/LICENSE +21 -0
- package/README.md +51 -7
- package/lib/commonjs/blank-stack/components/stack-view.js +2 -1
- package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js +2 -1
- package/lib/commonjs/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/commonjs/component-stack/components/stack-view.js +2 -1
- package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js +3 -2
- package/lib/commonjs/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +46 -9
- package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js +7 -7
- package/lib/commonjs/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js +23 -3
- package/lib/commonjs/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/commonjs/shared/components/screen-container.js +2 -1
- package/lib/commonjs/shared/components/screen-container.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +7 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +12 -12
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +5 -2
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js +20 -0
- package/lib/commonjs/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +2 -6
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js +4 -1
- package/lib/commonjs/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/commonjs/shared/providers/gestures.provider.js +17 -6
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/layout-anchor.provider.js +7 -5
- package/lib/commonjs/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles.provider.js +1 -6
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js +2 -1
- package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js +2 -1
- package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +9 -2
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +11 -1
- package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +11 -2
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/commonjs/shared/utils/overlay/visibility.js +19 -0
- package/lib/commonjs/shared/utils/overlay/visibility.js.map +1 -0
- package/lib/module/blank-stack/components/stack-view.js +2 -1
- package/lib/module/blank-stack/components/stack-view.js.map +1 -1
- package/lib/module/blank-stack/components/stack-view.native.js +2 -1
- package/lib/module/blank-stack/components/stack-view.native.js.map +1 -1
- package/lib/module/component-stack/components/stack-view.js +2 -1
- package/lib/module/component-stack/components/stack-view.js.map +1 -1
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js +4 -2
- package/lib/module/shared/components/overlay/helpers/get-active-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/float-overlay.js +47 -11
- package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/overlay-host.js +7 -7
- package/lib/module/shared/components/overlay/variations/overlay-host.js.map +1 -1
- package/lib/module/shared/components/overlay/variations/screen-overlay.js +24 -5
- package/lib/module/shared/components/overlay/variations/screen-overlay.js.map +1 -1
- package/lib/module/shared/components/screen-container.js +2 -1
- package/lib/module/shared/components/screen-container.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +7 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +12 -12
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js +5 -2
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js +17 -0
- package/lib/module/shared/hooks/navigation/use-optimistic-focused-index.js.map +1 -0
- package/lib/module/shared/hooks/navigation/use-screen-state.js +2 -6
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js +4 -1
- package/lib/module/shared/hooks/reanimated/use-shared-value-state.js.map +1 -1
- package/lib/module/shared/providers/gestures.provider.js +17 -6
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/layout-anchor.provider.js +7 -5
- package/lib/module/shared/providers/layout-anchor.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/styles.provider.js +1 -6
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/direct.provider.js +2 -1
- package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
- package/lib/module/shared/providers/stack/managed.provider.js +2 -1
- package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
- package/lib/module/shared/utils/gesture/determine-snap-target.js +9 -2
- package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js +11 -1
- package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -1
- package/lib/module/shared/utils/gesture/validate-snap-points.js +11 -2
- package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -1
- package/lib/module/shared/utils/overlay/visibility.js +12 -0
- package/lib/module/shared/utils/overlay/visibility.js.map +1 -0
- package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +1 -1
- package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts +1 -1
- package/lib/typescript/shared/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +7 -0
- package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
- package/lib/typescript/shared/components/overlay/variations/screen-overlay.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/lifecycle/use-close-transition.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts +7 -0
- package/lib/typescript/shared/hooks/navigation/use-optimistic-focused-index.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/reanimated/use-shared-value-state.d.ts.map +1 -1
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts +1 -1
- package/lib/typescript/shared/providers/layout-anchor.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
- package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +16 -1
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -1
- package/lib/typescript/shared/utils/overlay/visibility.d.ts +11 -0
- package/lib/typescript/shared/utils/overlay/visibility.d.ts.map +1 -0
- package/package.json +8 -2
- package/src/blank-stack/components/stack-view.native.tsx +2 -1
- package/src/blank-stack/components/stack-view.tsx +2 -1
- package/src/component-stack/components/stack-view.tsx +2 -1
- package/src/shared/components/overlay/helpers/get-active-overlay.ts +3 -2
- package/src/shared/components/overlay/variations/float-overlay.tsx +53 -8
- package/src/shared/components/overlay/variations/overlay-host.tsx +16 -6
- package/src/shared/components/overlay/variations/screen-overlay.tsx +35 -3
- package/src/shared/components/screen-container.tsx +15 -9
- package/src/shared/hooks/gestures/use-build-gestures.tsx +5 -1
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +10 -6
- package/src/shared/hooks/lifecycle/use-close-transition.ts +6 -3
- package/src/shared/hooks/navigation/use-optimistic-focused-index.ts +19 -0
- package/src/shared/hooks/navigation/use-screen-state.tsx +4 -7
- package/src/shared/hooks/reanimated/use-shared-value-state.ts +4 -1
- package/src/shared/providers/gestures.provider.tsx +49 -22
- package/src/shared/providers/layout-anchor.provider.tsx +28 -25
- package/src/shared/providers/screen/styles.provider.tsx +1 -7
- package/src/shared/providers/stack/direct.provider.tsx +2 -2
- package/src/shared/providers/stack/managed.provider.tsx +2 -2
- package/src/shared/types/screen.types.ts +17 -1
- package/src/shared/utils/gesture/determine-snap-target.ts +15 -4
- package/src/shared/utils/gesture/find-collapse-target.ts +11 -1
- package/src/shared/utils/gesture/validate-snap-points.ts +15 -2
- package/src/shared/utils/overlay/visibility.ts +23 -0
|
@@ -79,24 +79,24 @@ export const useScrollRegistry = props => {
|
|
|
79
79
|
"worklet";
|
|
80
80
|
|
|
81
81
|
for (const scrollConfig of scrollConfigs) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
82
|
+
scrollConfig.modify(v => {
|
|
83
|
+
"worklet";
|
|
84
|
+
|
|
85
|
+
if (v) v.isTouched = true;
|
|
86
|
+
return v;
|
|
87
|
+
});
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
90
|
const clearIsTouched = () => {
|
|
91
91
|
"worklet";
|
|
92
92
|
|
|
93
93
|
for (const scrollConfig of scrollConfigs) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
94
|
+
scrollConfig.modify(v => {
|
|
95
|
+
"worklet";
|
|
96
|
+
|
|
97
|
+
if (v) v.isTouched = false;
|
|
98
|
+
return v;
|
|
99
|
+
});
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Gesture","useAnimatedScrollHandler","useGestureContext","useStableCallback","findGestureOwnerForDirection","context","direction","current","startIsolated","isIsolated","undefined","claimedDirections","ancestorContext","findGestureOwnersForAxis","axis","directions","owners","dir","owner","includes","push","useScrollRegistry","props","scrollDirection","scrollConfigs","map","o","scrollConfig","filter","c","panGestures","panGesture","g","nativeGesture","length","setIsTouched","
|
|
1
|
+
{"version":3,"names":["useMemo","Gesture","useAnimatedScrollHandler","useGestureContext","useStableCallback","findGestureOwnerForDirection","context","direction","current","startIsolated","isIsolated","undefined","claimedDirections","ancestorContext","findGestureOwnersForAxis","axis","directions","owners","dir","owner","includes","push","useScrollRegistry","props","scrollDirection","scrollConfigs","map","o","scrollConfig","filter","c","panGestures","panGesture","g","nativeGesture","length","setIsTouched","modify","v","isTouched","clearIsTouched","gesture","Native","onTouchesDown","onTouchesUp","onTouchesCancelled","requireExternalGestureToFail","scrollHandler","onScroll","event","update","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","onContentSizeChange","width","height","onLayout","nativeEvent","layout"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,8 +36,11 @@ const useManagedClose = ({
|
|
|
36
36
|
});
|
|
37
37
|
const routeKey = current.route.key;
|
|
38
38
|
const transitionSpec = current.options.transitionSpec;
|
|
39
|
-
useAnimatedReaction(() =>
|
|
40
|
-
|
|
39
|
+
useAnimatedReaction(() => {
|
|
40
|
+
const keys = closingRouteKeysShared.value;
|
|
41
|
+
return keys?.includes(routeKey) ?? false;
|
|
42
|
+
}, (isClosing, wasClosing) => {
|
|
43
|
+
if (!isClosing || wasClosing) return;
|
|
41
44
|
runOnJS(activate)();
|
|
42
45
|
animateToProgress({
|
|
43
46
|
target: "close",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","runOnJS","useAnimatedReaction","useDerivedValue","useGestureContext","useStackCoreContext","useManagedStackContext","StackType","animateToProgress","resetStoresForScreen","useSharedValueState","useStableCallback","useManagedClose","current","animations","activate","deactivate","handleCloseRoute","closingRouteKeysShared","handleCloseEnd","finished","route","requestAnimationFrame","routeKey","key","transitionSpec","options","
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","runOnJS","useAnimatedReaction","useDerivedValue","useGestureContext","useStackCoreContext","useManagedStackContext","StackType","animateToProgress","resetStoresForScreen","useSharedValueState","useStableCallback","useManagedClose","current","animations","activate","deactivate","handleCloseRoute","closingRouteKeysShared","handleCloseEnd","finished","route","requestAnimationFrame","routeKey","key","transitionSpec","options","keys","value","includes","isClosing","wasClosing","target","spec","onAnimationFinish","useNativeStackClose","gestureCtx","isAncestorDismissingViaGesture","ancestorContext","gestureAnimationValues","isDismissing","handleBeforeRemove","e","isEnabled","enableTransitions","navigation","isFirstScreen","getState","index","closing","set","preventDefault","dispatch","data","action","addListener","useCloseTransition","flags","isNativeStack","STACK_TYPE","NATIVE","closeParams"],"sourceRoot":"../../../../../src","sources":["shared/hooks/lifecycle/use-close-transition.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useDerivedValue } from "react-native-reanimated";
|
|
4
|
+
import { useSharedValueState } from "../reanimated/use-shared-value-state";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns a JS-focused index derived from optimisticFocusedIndex and clamped to route count.
|
|
8
|
+
* Keeps callers aligned on focus behavior during transitions with closing screens.
|
|
9
|
+
*/
|
|
10
|
+
export function useOptimisticFocusedIndex(optimisticFocusedIndex, routeCount) {
|
|
11
|
+
return useSharedValueState(useDerivedValue(() => {
|
|
12
|
+
const globalIndex = optimisticFocusedIndex.get();
|
|
13
|
+
if (routeCount <= 0) return 0;
|
|
14
|
+
return Math.max(0, Math.min(globalIndex, routeCount - 1));
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=use-optimistic-focused-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useDerivedValue","useSharedValueState","useOptimisticFocusedIndex","optimisticFocusedIndex","routeCount","globalIndex","get","Math","max","min"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-optimistic-focused-index.ts"],"mappings":";;AAAA,SAA4BA,eAAe,QAAQ,yBAAyB;AAC5E,SAASC,mBAAmB,QAAQ,sCAAsC;;AAE1E;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACxCC,sBAA4C,EAC5CC,UAAkB,EACT;EACT,OAAOH,mBAAmB,CACzBD,eAAe,CAAC,MAAM;IACrB,MAAMK,WAAW,GAAGF,sBAAsB,CAACG,GAAG,CAAC,CAAC;IAChD,IAAIF,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAOG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACJ,WAAW,EAAED,UAAU,GAAG,CAAC,CAAC,CAAC;EAC1D,CAAC,CACF,CAAC;AACF","ignoreList":[]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useMemo } from "react";
|
|
4
|
-
import { useDerivedValue } from "react-native-reanimated";
|
|
5
4
|
import { snapDescriptorToIndex } from "../../animation/snap-to";
|
|
6
5
|
import { useKeys } from "../../providers/screen/keys.provider";
|
|
7
|
-
import {
|
|
6
|
+
import { useOptimisticFocusedIndex } from "./use-optimistic-focused-index";
|
|
8
7
|
import { useStack } from "./use-stack";
|
|
9
8
|
/**
|
|
10
9
|
* Hook to access screen state information.
|
|
@@ -22,10 +21,7 @@ export function useScreenState() {
|
|
|
22
21
|
current
|
|
23
22
|
} = useKeys();
|
|
24
23
|
const index = useMemo(() => routeKeys.indexOf(current.route.key), [routeKeys, current.route.key]);
|
|
25
|
-
const focusedIndex =
|
|
26
|
-
const globalIndex = optimisticFocusedIndex.get();
|
|
27
|
-
return Math.max(0, Math.min(globalIndex, routeKeys.length - 1));
|
|
28
|
-
}));
|
|
24
|
+
const focusedIndex = useOptimisticFocusedIndex(optimisticFocusedIndex, routeKeys.length);
|
|
29
25
|
const focusedScene = useMemo(() => {
|
|
30
26
|
return scenes[focusedIndex] ?? scenes[scenes.length - 1];
|
|
31
27
|
}, [scenes, focusedIndex]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","snapDescriptorToIndex","useKeys","useOptimisticFocusedIndex","useStack","useScreenState","routes","scenes","routeKeys","optimisticFocusedIndex","current","index","indexOf","route","key","focusedIndex","length","focusedScene","snapTo","targetIndex","descriptor","options","focusedRoute","meta","navigation"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-screen-state.tsx"],"mappings":";;AACA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAECC,OAAO,QACD,sCAAsC;AAG7C,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAAiCC,QAAQ,QAAQ,aAAa;AAgD9D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAEA;EAC7B,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC;EAAuB,CAAC,GAC1DL,QAAQ,CAAoB,CAAC;EAC9B,MAAM;IAAEM;EAAQ,CAAC,GAAGR,OAAO,CAAiB,CAAC;EAE7C,MAAMS,KAAK,GAAGX,OAAO,CACpB,MAAMQ,SAAS,CAACI,OAAO,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC,EAC1C,CAACN,SAAS,EAAEE,OAAO,CAACG,KAAK,CAACC,GAAG,CAC9B,CAAC;EAED,MAAMC,YAAY,GAAGZ,yBAAyB,CAC7CM,sBAAsB,EACtBD,SAAS,CAACQ,MACX,CAAC;EAED,MAAMC,YAAY,GAAGjB,OAAO,CAAC,MAAM;IAClC,OAAOO,MAAM,CAACQ,YAAY,CAAC,IAAIR,MAAM,CAACA,MAAM,CAACS,MAAM,GAAG,CAAC,CAAC;EACzD,CAAC,EAAE,CAACT,MAAM,EAAEQ,YAAY,CAAC,CAAC;EAE1B,MAAMG,MAAM,GAAGnB,WAAW,CACxBoB,WAAmB,IAAK;IACxB,MAAMC,UAAU,GAAGH,YAAY,EAAEG,UAAU;IAC3C,IAAI,CAACA,UAAU,EAAE;IACjBnB,qBAAqB,CAACmB,UAAU,EAAED,WAAW,CAAC;EAC/C,CAAC,EACD,CAACF,YAAY,CACd,CAAC;EAED,OAAOjB,OAAO,CACb,OAAO;IACNW,KAAK;IACLU,OAAO,EAAEJ,YAAY,EAAEG,UAAU,EAAEC,OAAO,IAAI,CAAC,CAAC;IAChDf,MAAM;IACNgB,YAAY,EAAEL,YAAY,EAAEJ,KAAK,IAAIH,OAAO,CAACG,KAAK;IAClDE,YAAY;IACZQ,IAAI,EAAEN,YAAY,EAAEG,UAAU,EAAEC,OAAO,EAAEE,IAAI;IAC7CC,UAAU,EAAEd,OAAO,CAACc,UAAyB;IAC7CN;EACD,CAAC,CAAC,EACF,CACCP,KAAK,EACLM,YAAY,EACZX,MAAM,EACNS,YAAY,EACZL,OAAO,CAACc,UAAU,EAClBd,OAAO,CAACG,KAAK,EACbK,MAAM,CAER,CAAC;AACF","ignoreList":[]}
|
|
@@ -21,7 +21,10 @@ export function useSharedValueState(sharedValue) {
|
|
|
21
21
|
});
|
|
22
22
|
return readOnUI(sharedValue);
|
|
23
23
|
});
|
|
24
|
-
useAnimatedReaction(() => sharedValue.value, value =>
|
|
24
|
+
useAnimatedReaction(() => sharedValue.value, (value, previousValue) => {
|
|
25
|
+
if (Object.is(value, previousValue)) return;
|
|
26
|
+
runOnJS(setState)(value);
|
|
27
|
+
});
|
|
25
28
|
return state;
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=use-shared-value-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","executeOnUIRuntimeSync","runOnJS","useAnimatedReaction","IS_WEB","useSharedValueState","sharedValue","state","setState","value","readOnUI","sv"],"sourceRoot":"../../../../../src","sources":["shared/hooks/reanimated/use-shared-value-state.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SACCC,sBAAsB,EACtBC,OAAO,EAEPC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,MAAM,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAIC,WAA2B,EAAK;EACtE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAI,MAAM;IAC3C,IAAII,MAAM,EAAE;MACX;MACA,OAAOE,WAAW,CAACG,KAAK;IACzB;IACA,MAAMC,QAAQ,GAAGT,sBAAsB,CAAEU,EAAkB,IAAK;MAC/D,SAAS;;MACT,OAAOA,EAAE,CAACF,KAAK;IAChB,CAAC,CAAC;IACF,OAAOC,QAAQ,CAACJ,WAAW,CAAC;EAC7B,CAAC,CAAC;EAEFH,mBAAmB,CAClB,MAAMG,WAAW,CAACG,KAAK,
|
|
1
|
+
{"version":3,"names":["useState","executeOnUIRuntimeSync","runOnJS","useAnimatedReaction","IS_WEB","useSharedValueState","sharedValue","state","setState","value","readOnUI","sv","previousValue","Object","is"],"sourceRoot":"../../../../../src","sources":["shared/hooks/reanimated/use-shared-value-state.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SACCC,sBAAsB,EACtBC,OAAO,EAEPC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,MAAM,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAIC,WAA2B,EAAK;EACtE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGR,QAAQ,CAAI,MAAM;IAC3C,IAAII,MAAM,EAAE;MACX;MACA,OAAOE,WAAW,CAACG,KAAK;IACzB;IACA,MAAMC,QAAQ,GAAGT,sBAAsB,CAAEU,EAAkB,IAAK;MAC/D,SAAS;;MACT,OAAOA,EAAE,CAACF,KAAK;IAChB,CAAC,CAAC;IACF,OAAOC,QAAQ,CAACJ,WAAW,CAAC;EAC7B,CAAC,CAAC;EAEFH,mBAAmB,CAClB,MAAMG,WAAW,CAACG,KAAK,EACvB,CAACA,KAAK,EAAEG,aAAa,KAAK;IACzB,IAAIC,MAAM,CAACC,EAAE,CAACL,KAAK,EAAEG,aAAa,CAAC,EAAE;IACrCV,OAAO,CAACM,QAAQ,CAAC,CAACC,KAAK,CAAC;EACzB,CACD,CAAC;EAED,OAAOF,KAAK;AACb","ignoreList":[]}
|
|
@@ -21,6 +21,7 @@ import { GestureStore } from "../stores/gesture.store";
|
|
|
21
21
|
import { StackType } from "../types/stack.types";
|
|
22
22
|
import createProvider from "../utils/create-provider";
|
|
23
23
|
import { computeClaimedDirections } from "../utils/gesture/compute-claimed-directions";
|
|
24
|
+
import { validateSnapPoints } from "../utils/gesture/validate-snap-points";
|
|
24
25
|
import { useKeys } from "./screen/keys.provider";
|
|
25
26
|
import { useStackCoreContext } from "./stack/core.provider";
|
|
26
27
|
const NO_CLAIMS = {
|
|
@@ -110,11 +111,21 @@ export const {
|
|
|
110
111
|
flags
|
|
111
112
|
} = useStackCoreContext();
|
|
112
113
|
const ancestorContext = useGestureContext();
|
|
113
|
-
const hasGestures = current.options.gestureEnabled === true;
|
|
114
114
|
const isIsolated = flags.STACK_TYPE === StackType.COMPONENT;
|
|
115
|
-
const hasSnapPoints = Array.isArray(current.options.snapPoints) && current.options.snapPoints.length > 0;
|
|
116
|
-
const claimedDirections = useMemo(() => computeClaimedDirections(hasGestures, current.options.gestureDirection, hasSnapPoints), [hasGestures, current.options.gestureDirection, hasSnapPoints]);
|
|
117
115
|
const routeKey = current.route.key;
|
|
116
|
+
const isFirstScreen = useNavigationState(state => {
|
|
117
|
+
const index = state.routes.findIndex(route => route.key === routeKey);
|
|
118
|
+
return index === 0;
|
|
119
|
+
});
|
|
120
|
+
const canDismiss = Boolean(isFirstScreen ? false : current.options.gestureEnabled);
|
|
121
|
+
const {
|
|
122
|
+
hasSnapPoints
|
|
123
|
+
} = useMemo(() => validateSnapPoints({
|
|
124
|
+
snapPoints: current.options.snapPoints,
|
|
125
|
+
canDismiss
|
|
126
|
+
}), [current.options.snapPoints, canDismiss]);
|
|
127
|
+
const gestureEnabled = canDismiss || hasSnapPoints;
|
|
128
|
+
const claimedDirections = useMemo(() => computeClaimedDirections(gestureEnabled, current.options.gestureDirection, hasSnapPoints), [gestureEnabled, current.options.gestureDirection, hasSnapPoints]);
|
|
118
129
|
|
|
119
130
|
// Check if this screen is the current (topmost) route in its navigator
|
|
120
131
|
const isCurrentRoute = useNavigationState(state => state.routes[state.index]?.key === routeKey);
|
|
@@ -132,17 +143,17 @@ export const {
|
|
|
132
143
|
childDirectionClaims,
|
|
133
144
|
isIsolated
|
|
134
145
|
});
|
|
135
|
-
const value = {
|
|
146
|
+
const value = useMemo(() => ({
|
|
136
147
|
panGesture,
|
|
137
148
|
panGestureRef,
|
|
138
149
|
scrollConfig,
|
|
139
150
|
gestureAnimationValues,
|
|
140
151
|
ancestorContext,
|
|
141
|
-
gestureEnabled
|
|
152
|
+
gestureEnabled,
|
|
142
153
|
isIsolated,
|
|
143
154
|
claimedDirections,
|
|
144
155
|
childDirectionClaims
|
|
145
|
-
};
|
|
156
|
+
}), [panGesture, panGestureRef, scrollConfig, gestureAnimationValues, ancestorContext, gestureEnabled, isIsolated, claimedDirections, childDirectionClaims]);
|
|
146
157
|
return {
|
|
147
158
|
value,
|
|
148
159
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNavigationState","useEffect","useMemo","useSharedValue","useBuildGestures","GestureStore","StackType","createProvider","computeClaimedDirections","useKeys","useStackCoreContext","NO_CLAIMS","vertical","horizontal","DIRECTIONS","useRegisterDirectionClaims","ancestorContext","claimedDirections","routeKey","isIsolated","isCurrentRoute","gestureValues","getRouteGestures","isDismissing","claimedAncestors","ancestor","shadowedDirections","dir","push","length","directions","newClaims","childDirectionClaims","value","currentClaims","needsUpdate","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","flags","
|
|
1
|
+
{"version":3,"names":["useNavigationState","useEffect","useMemo","useSharedValue","useBuildGestures","GestureStore","StackType","createProvider","computeClaimedDirections","validateSnapPoints","useKeys","useStackCoreContext","NO_CLAIMS","vertical","horizontal","DIRECTIONS","useRegisterDirectionClaims","ancestorContext","claimedDirections","routeKey","isIsolated","isCurrentRoute","gestureValues","getRouteGestures","isDismissing","claimedAncestors","ancestor","shadowedDirections","dir","push","length","directions","newClaims","childDirectionClaims","value","currentClaims","needsUpdate","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","flags","STACK_TYPE","COMPONENT","route","key","isFirstScreen","state","index","routes","findIndex","canDismiss","Boolean","options","gestureEnabled","hasSnapPoints","snapPoints","gestureDirection","scrollConfig","panGesture","panGestureRef","gestureAnimationValues"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { useCallback, useMemo } from "react";
|
|
3
4
|
import { useWindowDimensions } from "react-native";
|
|
4
5
|
import { measure } from "react-native-reanimated";
|
|
5
6
|
import createProvider from "../utils/create-provider";
|
|
@@ -31,7 +32,7 @@ const {
|
|
|
31
32
|
width: screenWidth,
|
|
32
33
|
height: screenHeight
|
|
33
34
|
} = useWindowDimensions();
|
|
34
|
-
const correctMeasurement = measured => {
|
|
35
|
+
const correctMeasurement = useCallback(measured => {
|
|
35
36
|
"worklet";
|
|
36
37
|
|
|
37
38
|
const anchor = measure(anchorRef);
|
|
@@ -55,11 +56,12 @@ const {
|
|
|
55
56
|
pageX: scaleX !== 1 ? relativeX / scaleX : relativeX,
|
|
56
57
|
pageY: scaleY !== 1 ? relativeY / scaleY : relativeY
|
|
57
58
|
};
|
|
58
|
-
};
|
|
59
|
+
}, [anchorRef, screenWidth, screenHeight]);
|
|
60
|
+
const value = useMemo(() => ({
|
|
61
|
+
correctMeasurement
|
|
62
|
+
}), [correctMeasurement]);
|
|
59
63
|
return {
|
|
60
|
-
value
|
|
61
|
-
correctMeasurement
|
|
62
|
-
},
|
|
64
|
+
value,
|
|
63
65
|
children
|
|
64
66
|
};
|
|
65
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useWindowDimensions","measure","createProvider","LayoutAnchorProvider","useLayoutAnchorContext","guarded","anchorRef","children","width","screenWidth","height","screenHeight","correctMeasurement","measured","anchor","scaleX","scaleY","relativeX","pageX","relativeY","pageY","x","y","value"],"sourceRoot":"../../../../src","sources":["shared/providers/layout-anchor.provider.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useWindowDimensions","measure","createProvider","LayoutAnchorProvider","useLayoutAnchorContext","guarded","anchorRef","children","width","screenWidth","height","screenHeight","correctMeasurement","measured","anchor","scaleX","scaleY","relativeX","pageX","relativeY","pageY","x","y","value"],"sourceRoot":"../../../../src","sources":["shared/providers/layout-anchor.provider.tsx"],"mappings":";;AAAA,SAAyBA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAC5D,SAASC,mBAAmB,QAAmB,cAAc;AAC7D,SAGCC,OAAO,QACD,yBAAyB;AAChC,OAAOC,cAAc,MAAM,0BAA0B;AAiBrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;EAAEC,oBAAoB;EAAEC;AAAuB,CAAC,GAAGF,cAAc,CACtE,cAAc,EACd;EAAEG,OAAO,EAAE;AAAM,CAClB,CAAC,CACA,CAAC;EAAEC,SAAS;EAAEC;AAAS,CAAC,KAAK;EAC5B,MAAM;IAAEC,KAAK,EAAEC,WAAW;IAAEC,MAAM,EAAEC;EAAa,CAAC,GAAGX,mBAAmB,CAAC,CAAC;EAE1E,MAAMY,kBAAkB,GAAGd,WAAW,CACpCe,QAA4B,IAAyB;IACrD,SAAS;;IACT,MAAMC,MAAM,GAAGb,OAAO,CAACK,SAAS,CAAC;IACjC,IAAI,CAACQ,MAAM,EAAE,OAAOD,QAAQ;;IAE5B;IACA;IACA,MAAME,MAAM,GAAGD,MAAM,CAACN,KAAK,GAAG,CAAC,GAAGM,MAAM,CAACN,KAAK,GAAGC,WAAW,GAAG,CAAC;IAChE,MAAMO,MAAM,GAAGF,MAAM,CAACJ,MAAM,GAAG,CAAC,GAAGI,MAAM,CAACJ,MAAM,GAAGC,YAAY,GAAG,CAAC;;IAEnE;IACA,MAAMM,SAAS,GAAGJ,QAAQ,CAACK,KAAK,GAAGJ,MAAM,CAACI,KAAK;IAC/C,MAAMC,SAAS,GAAGN,QAAQ,CAACO,KAAK,GAAGN,MAAM,CAACM,KAAK;;IAE/C;IACA,OAAO;MACNC,CAAC,EAAER,QAAQ,CAACQ,CAAC;MACbC,CAAC,EAAET,QAAQ,CAACS,CAAC;MACbd,KAAK,EAAEO,MAAM,KAAK,CAAC,GAAGF,QAAQ,CAACL,KAAK,GAAGO,MAAM,GAAGF,QAAQ,CAACL,KAAK;MAC9DE,MAAM,EAAEM,MAAM,KAAK,CAAC,GAAGH,QAAQ,CAACH,MAAM,GAAGM,MAAM,GAAGH,QAAQ,CAACH,MAAM;MACjEQ,KAAK,EAAEH,MAAM,KAAK,CAAC,GAAGE,SAAS,GAAGF,MAAM,GAAGE,SAAS;MACpDG,KAAK,EAAEJ,MAAM,KAAK,CAAC,GAAGG,SAAS,GAAGH,MAAM,GAAGG;IAC5C,CAAC;EACF,CAAC,EACD,CAACb,SAAS,EAAEG,WAAW,EAAEE,YAAY,CACtC,CAAC;EAED,MAAMY,KAAK,GAAGxB,OAAO,CAAC,OAAO;IAAEa;EAAmB,CAAC,CAAC,EAAE,CAACA,kBAAkB,CAAC,CAAC;EAE3E,OAAO;IACNW,KAAK;IACLhB;EACD,CAAC;AACF,CACD,CAAC;AAED,SAASJ,oBAAoB,EAAEC,sBAAsB","ignoreList":[]}
|
|
@@ -29,8 +29,7 @@ export function ScreenStylesProvider({
|
|
|
29
29
|
const {
|
|
30
30
|
current,
|
|
31
31
|
next,
|
|
32
|
-
progress
|
|
33
|
-
stackProgress
|
|
32
|
+
progress
|
|
34
33
|
} = props;
|
|
35
34
|
const isDragging = current.gesture.isDragging;
|
|
36
35
|
const isNextClosing = !!next?.closing;
|
|
@@ -41,7 +40,6 @@ export function ScreenStylesProvider({
|
|
|
41
40
|
isGesturingDuringCloseAnimation.value = false;
|
|
42
41
|
}
|
|
43
42
|
const isInGestureMode = isDragging || isGesturingDuringCloseAnimation.value;
|
|
44
|
-
const hasPushedScreenWhileClosing = !isInGestureMode && isNextClosing && stackProgress > progress;
|
|
45
43
|
|
|
46
44
|
// Select interpolator
|
|
47
45
|
// - If in gesture mode, use current screen's interpolator since we're driving
|
|
@@ -51,7 +49,6 @@ export function ScreenStylesProvider({
|
|
|
51
49
|
|
|
52
50
|
// Build effective props with corrected progress
|
|
53
51
|
// - Gesture mode: use current.progress only (avoids jumps during drag)
|
|
54
|
-
// - Pushed while closing: use stackProgress (includes new screen)
|
|
55
52
|
// - Normal: use derived progress as-is
|
|
56
53
|
|
|
57
54
|
let effectiveProgress = progress;
|
|
@@ -59,8 +56,6 @@ export function ScreenStylesProvider({
|
|
|
59
56
|
if (isInGestureMode) {
|
|
60
57
|
effectiveProgress = current.progress;
|
|
61
58
|
effectiveNext = undefined;
|
|
62
|
-
} else if (hasPushedScreenWhileClosing) {
|
|
63
|
-
effectiveProgress = stackProgress;
|
|
64
59
|
}
|
|
65
60
|
try {
|
|
66
61
|
return interpolator({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","useSharedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","nextInterpolator","currentInterpolator","isGesturingDuringCloseAnimation","stylesMap","props","value","current","next","progress","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","useSharedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","nextInterpolator","currentInterpolator","isGesturingDuringCloseAnimation","stylesMap","props","value","current","next","progress","isDragging","gesture","isNextClosing","closing","isInGestureMode","interpolator","effectiveProgress","effectiveNext","undefined","bounds","err","__DEV__","console","warn","ancestorStylesMaps","Provider","useScreenStyles","ctx","Error"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/styles.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { useDerivedValue } from "react-native-reanimated";
|
|
|
6
6
|
import { StackContext } from "../../hooks/navigation/use-stack";
|
|
7
7
|
import { AnimationStore } from "../../stores/animation.store";
|
|
8
8
|
import { HistoryStore } from "../../stores/history.store";
|
|
9
|
+
import { isFloatOverlayVisible } from "../../utils/overlay/visibility";
|
|
9
10
|
import { useStackCoreContext } from "./core.provider";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
const DirectStackContext = /*#__PURE__*/React.createContext(null);
|
|
@@ -66,7 +67,7 @@ function useDirectStackValue(props) {
|
|
|
66
67
|
animationMaps.push(AnimationStore.getAll(route.key));
|
|
67
68
|
if (!shouldShowFloatOverlay && descriptor) {
|
|
68
69
|
const options = descriptor.options;
|
|
69
|
-
if (options?.enableTransitions === true && options
|
|
70
|
+
if (options?.enableTransitions === true && isFloatOverlayVisible(options)) {
|
|
70
71
|
shouldShowFloatOverlay = true;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useDerivedValue","StackContext","AnimationStore","HistoryStore","useStackCoreContext","jsx","_jsx","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","flags","preloadedDescriptors","preloadedRoutes","reduce","acc","route","key","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","allDescriptors","animationMaps","routes","concat","descriptor","isPreloaded","undefined","push","getAll","options","enableTransitions","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useDerivedValue","StackContext","AnimationStore","HistoryStore","isFloatOverlayVisible","useStackCoreContext","jsx","_jsx","DirectStackContext","createContext","displayName","useDirectStackContext","context","useContext","Error","useDirectStackValue","props","state","navigation","descriptors","describe","flags","preloadedDescriptors","preloadedRoutes","reduce","acc","route","key","scenes","shouldShowFloatOverlay","routeKeys","allRoutes","allDescriptors","animationMaps","routes","concat","descriptor","isPreloaded","undefined","push","getAll","options","enableTransitions","stackProgress","total","i","length","progress","value","optimisticFocusedIndex","lastIndex","closingFromTop","closing","focusedIndex","index","stackContextValue","lifecycleValue","withDirectStack","Component","DirectStackProvider","navigatorKey","clearNavigator","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/direct.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { useDerivedValue } from "react-native-reanimated";
|
|
|
6
6
|
import { StackContext } from "../../hooks/navigation/use-stack";
|
|
7
7
|
import { AnimationStore } from "../../stores/animation.store";
|
|
8
8
|
import { HistoryStore } from "../../stores/history.store";
|
|
9
|
+
import { isFloatOverlayVisible } from "../../utils/overlay/visibility";
|
|
9
10
|
import { useStackCoreContext } from "./core.provider";
|
|
10
11
|
import { useLocalRoutes } from "./helpers/use-local-routes";
|
|
11
12
|
|
|
@@ -65,7 +66,7 @@ function useManagedStackValue(props) {
|
|
|
65
66
|
backdropBehaviors[i] = options?.backdropBehavior ?? "block";
|
|
66
67
|
animationMaps[i] = AnimationStore.getAll(route.key);
|
|
67
68
|
if (!shouldShowFloatOverlay) {
|
|
68
|
-
shouldShowFloatOverlay = options
|
|
69
|
+
shouldShowFloatOverlay = isFloatOverlayVisible(options);
|
|
69
70
|
}
|
|
70
71
|
if (!stopLimit) {
|
|
71
72
|
const shouldKeepPrevious = options?.detachPreviousScreen !== true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useDerivedValue","StackContext","AnimationStore","HistoryStore","useStackCoreContext","useLocalRoutes","jsx","_jsx","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","state","handleCloseRoute","closingRouteKeys","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","backdropBehaviors","animationMaps","routes","descriptors","limit","stopLimit","i","length","route","descriptor","key","options","backdropBehavior","getAll","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useDerivedValue","StackContext","AnimationStore","HistoryStore","isFloatOverlayVisible","useStackCoreContext","useLocalRoutes","jsx","_jsx","ManagedStackContext","createContext","displayName","useManagedStackContext","context","useContext","Error","useManagedStackValue","props","flags","state","handleCloseRoute","closingRouteKeys","scenes","activeScreensLimit","shouldShowFloatOverlay","routeKeys","backdropBehaviors","animationMaps","routes","descriptors","limit","stopLimit","i","length","route","descriptor","key","options","backdropBehavior","getAll","shouldKeepPrevious","detachPreviousScreen","Math","min","stackProgress","total","progress","value","optimisticFocusedIndex","lastIndex","closingFromTop","closing","focusedIndex","index","stackContextValue","lifecycleValue","closingRouteKeysShared","shared","withManagedStack","Component","ManagedStackProvider","navigatorKey","clearNavigator","Provider","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/stack/managed.provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,9 +22,16 @@ export function determineSnapTarget({
|
|
|
22
22
|
|
|
23
23
|
// Project where we'd end up with velocity
|
|
24
24
|
const projectedProgress = currentProgress - velocityInProgress;
|
|
25
|
+
const sanitizedSnapPoints = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
|
|
25
26
|
|
|
26
27
|
// Build all possible targets: dismiss (0) only if allowed, plus all snap points
|
|
27
|
-
const allTargets = canDismiss ? [0, ...
|
|
28
|
+
const allTargets = Array.from(new Set(canDismiss ? [0, ...sanitizedSnapPoints] : sanitizedSnapPoints)).sort((a, b) => a - b);
|
|
29
|
+
if (allTargets.length === 0) {
|
|
30
|
+
return {
|
|
31
|
+
targetProgress: currentProgress,
|
|
32
|
+
shouldDismiss: false
|
|
33
|
+
};
|
|
34
|
+
}
|
|
28
35
|
|
|
29
36
|
// Find the target whose zone contains the projected progress
|
|
30
37
|
// Zones are split at midpoints between adjacent targets
|
|
@@ -46,7 +53,7 @@ export function determineSnapTarget({
|
|
|
46
53
|
}
|
|
47
54
|
return {
|
|
48
55
|
targetProgress,
|
|
49
|
-
shouldDismiss: targetProgress === 0
|
|
56
|
+
shouldDismiss: canDismiss && targetProgress === 0
|
|
50
57
|
};
|
|
51
58
|
}
|
|
52
59
|
//# sourceMappingURL=determine-snap-target.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["determineSnapTarget","currentProgress","snapPoints","velocity","dimension","velocityFactor","canDismiss","velocityInProgress","projectedProgress","allTargets","sort","a","b","targetProgress","
|
|
1
|
+
{"version":3,"names":["determineSnapTarget","currentProgress","snapPoints","velocity","dimension","velocityFactor","canDismiss","velocityInProgress","projectedProgress","sanitizedSnapPoints","filter","point","Number","isFinite","allTargets","Array","from","Set","sort","a","b","length","targetProgress","shouldDismiss","i","current","next","undefined","midpoint"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/determine-snap-target.ts"],"mappings":";;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAAC;EACnCC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC,cAAc,GAAG,GAAG;EACpBC,UAAU,GAAG;AACY,CAAC,EAA6B;EACvD,SAAS;;EAET;EACA,MAAMC,kBAAkB,GAAIJ,QAAQ,GAAGC,SAAS,GAAIC,cAAc;;EAElE;EACA,MAAMG,iBAAiB,GAAGP,eAAe,GAAGM,kBAAkB;EAE9D,MAAME,mBAAmB,GAAGP,UAAU,CAACQ,MAAM,CAAEC,KAAK,IACnDL,UAAU,GAAGM,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;;EAED;EACA,MAAMG,UAAU,GAAGC,KAAK,CAACC,IAAI,CAC5B,IAAIC,GAAG,CAACX,UAAU,GAAG,CAAC,CAAC,EAAE,GAAGG,mBAAmB,CAAC,GAAGA,mBAAmB,CACvE,CAAC,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EAEvB,IAAIN,UAAU,CAACO,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO;MACNC,cAAc,EAAErB,eAAe;MAC/BsB,aAAa,EAAE;IAChB,CAAC;EACF;;EAEA;EACA;EACA,IAAID,cAAc,GAAGR,UAAU,CAAC,CAAC,CAAC;EAElC,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,UAAU,CAACO,MAAM,EAAEG,CAAC,EAAE,EAAE;IAC3C,MAAMC,OAAO,GAAGX,UAAU,CAACU,CAAC,CAAC;IAC7B,MAAME,IAAI,GAAGZ,UAAU,CAACU,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAIE,IAAI,KAAKC,SAAS,EAAE;MACvB;MACAL,cAAc,GAAGG,OAAO;MACxB;IACD;IAEA,MAAMG,QAAQ,GAAG,CAACH,OAAO,GAAGC,IAAI,IAAI,CAAC;IAErC,IAAIlB,iBAAiB,GAAGoB,QAAQ,EAAE;MACjCN,cAAc,GAAGG,OAAO;MACxB;IACD;IAEAH,cAAc,GAAGI,IAAI;EACtB;EAEA,OAAO;IACNJ,cAAc;IACdC,aAAa,EAAEjB,UAAU,IAAIgB,cAAc,KAAK;EACjD,CAAC;AACF","ignoreList":[]}
|
|
@@ -14,7 +14,17 @@ import { EPSILON } from "../../constants";
|
|
|
14
14
|
export function findCollapseTarget(currentProgress, snapPoints, canDismiss) {
|
|
15
15
|
"worklet";
|
|
16
16
|
|
|
17
|
-
const
|
|
17
|
+
const normalized = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
|
|
18
|
+
if (normalized.length === 0) {
|
|
19
|
+
return canDismiss ? {
|
|
20
|
+
target: 0,
|
|
21
|
+
shouldDismiss: true
|
|
22
|
+
} : {
|
|
23
|
+
target: currentProgress,
|
|
24
|
+
shouldDismiss: false
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const sorted = [...normalized].sort((a, b) => a - b);
|
|
18
28
|
const minSnap = sorted[0];
|
|
19
29
|
|
|
20
30
|
// Find next lower snap point
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EPSILON","findCollapseTarget","currentProgress","snapPoints","canDismiss","
|
|
1
|
+
{"version":3,"names":["EPSILON","findCollapseTarget","currentProgress","snapPoints","canDismiss","normalized","filter","point","Number","isFinite","length","target","shouldDismiss","sorted","sort","a","b","minSnap","i"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/find-collapse-target.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,iBAAiB;AAOzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CACjCC,eAAuB,EACvBC,UAAoB,EACpBC,UAAmB,EACQ;EAC3B,SAAS;;EAET,MAAMC,UAAU,GAAGF,UAAU,CAACG,MAAM,CAAEC,KAAK,IAC1CH,UAAU,GAAGI,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAON,UAAU,GACd;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC,GAClC;MAAED,MAAM,EAAET,eAAe;MAAEU,aAAa,EAAE;IAAM,CAAC;EACrD;EAEA,MAAMC,MAAM,GAAG,CAAC,GAAGR,UAAU,CAAC,CAACS,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACpD,MAAMC,OAAO,GAAGJ,MAAM,CAAC,CAAC,CAAC;;EAEzB;EACA,KAAK,IAAIK,CAAC,GAAGL,MAAM,CAACH,MAAM,GAAG,CAAC,EAAEQ,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC5C,IAAIL,MAAM,CAACK,CAAC,CAAC,GAAGhB,eAAe,GAAGF,OAAO,EAAE;MAC1C,OAAO;QAAEW,MAAM,EAAEE,MAAM,CAACK,CAAC,CAAC;QAAEN,aAAa,EAAE;MAAM,CAAC;IACnD;EACD;;EAEA;EACA,IAAIR,UAAU,EAAE;IACf,OAAO;MAAEO,MAAM,EAAE,CAAC;MAAEC,aAAa,EAAE;IAAK,CAAC;EAC1C;;EAEA;EACA,OAAO;IAAED,MAAM,EAAEM,OAAO;IAAEL,aAAa,EAAE;EAAM,CAAC;AACjD","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ export const validateSnapPoints = ({
|
|
|
4
4
|
snapPoints,
|
|
5
5
|
canDismiss
|
|
6
6
|
}) => {
|
|
7
|
-
if (!snapPoints) {
|
|
7
|
+
if (!snapPoints || snapPoints.length === 0) {
|
|
8
8
|
return {
|
|
9
9
|
hasSnapPoints: false,
|
|
10
10
|
snapPoints: [],
|
|
@@ -12,7 +12,16 @@ export const validateSnapPoints = ({
|
|
|
12
12
|
maxSnapPoint: -1
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const normalizedSnaps = snapPoints.filter(point => canDismiss ? Number.isFinite(point) : Number.isFinite(point) && point > 0);
|
|
16
|
+
if (normalizedSnaps.length === 0) {
|
|
17
|
+
return {
|
|
18
|
+
hasSnapPoints: false,
|
|
19
|
+
snapPoints: [],
|
|
20
|
+
minSnapPoint: -1,
|
|
21
|
+
maxSnapPoint: -1
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const sortedSnaps = normalizedSnaps.slice().sort((a, b) => a - b);
|
|
16
25
|
// Clamp to snap point bounds (dismiss at 0 only if allowed)
|
|
17
26
|
const minProgress = canDismiss ? 0 : sortedSnaps[0];
|
|
18
27
|
const maxProgress = sortedSnaps[sortedSnaps.length - 1];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","hasSnapPoints","minSnapPoint","maxSnapPoint","sortedSnaps","slice","sort","a","b","minProgress","maxProgress"
|
|
1
|
+
{"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","length","hasSnapPoints","minSnapPoint","maxSnapPoint","normalizedSnaps","filter","point","Number","isFinite","sortedSnaps","slice","sort","a","b","minProgress","maxProgress"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/validate-snap-points.ts"],"mappings":";;AAYA,OAAO,MAAMA,kBAAkB,GAAGA,CAAC;EAClCC,UAAU;EACVC;AAC0B,CAAC,KAA+B;EAC1D,IAAI,CAACD,UAAU,IAAIA,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3C,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMC,eAAe,GAAGN,UAAU,CAACO,MAAM,CAAEC,KAAK,IAC/CP,UAAU,GAAGQ,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,IAAIA,KAAK,GAAG,CACzE,CAAC;EAED,IAAIF,eAAe,CAACJ,MAAM,KAAK,CAAC,EAAE;IACjC,OAAO;MACNC,aAAa,EAAE,KAAK;MACpBH,UAAU,EAAE,EAAE;MACdI,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMM,WAAW,GAAGL,eAAe,CAACM,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EACjE;EACA,MAAMC,WAAW,GAAGf,UAAU,GAAG,CAAC,GAAGU,WAAW,CAAC,CAAC,CAAC;EACnD,MAAMM,WAAW,GAAGN,WAAW,CAACA,WAAW,CAACT,MAAM,GAAG,CAAC,CAAC;EAEvD,OAAO;IACNC,aAAa,EAAE,IAAI;IACnBH,UAAU,EAAEW,WAAW;IACvBP,YAAY,EAAEY,WAAW;IACzBX,YAAY,EAAEY;EACf,CAAC;AACF,CAAC","ignoreList":[]}
|