react-native-screen-transitions 2.3.1 → 2.3.3
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/README.md +50 -12
- package/lib/commonjs/__configs__/index.js.map +1 -0
- package/lib/commonjs/{configs → __configs__}/presets.js +7 -3
- package/lib/commonjs/__configs__/presets.js.map +1 -0
- package/lib/commonjs/{configs → __configs__}/specs.js +1 -0
- package/lib/commonjs/__configs__/specs.js.map +1 -0
- package/lib/commonjs/components/controllers/screen-lifecycle.js +5 -5
- package/lib/commonjs/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/commonjs/components/create-transition-aware-component.js +13 -32
- package/lib/commonjs/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/components/integrations/masked-view.js +3 -4
- package/lib/commonjs/components/integrations/masked-view.js.map +1 -1
- package/lib/commonjs/components/root-transition-aware.js +3 -3
- package/lib/commonjs/components/root-transition-aware.js.map +1 -1
- package/lib/commonjs/constants.js +103 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/hooks/animation/use-associated-style.js +3 -4
- package/lib/commonjs/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/commonjs/hooks/animation/use-screen-animation.js +6 -28
- package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/hooks/bounds/use-bound-registry.js +92 -31
- package/lib/commonjs/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/commonjs/hooks/gestures/use-build-gestures.js +27 -41
- package/lib/commonjs/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/index.js +3 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/utils/debounce.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/utils/useDismissedRouteError.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/views/FontProcessor.js +1 -1
- package/lib/commonjs/integrations/native-stack/views/FontProcessor.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/views/FontProcessor.native.js +1 -1
- package/lib/commonjs/integrations/native-stack/views/FontProcessor.native.js.map +1 -1
- package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js +2 -2
- package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/commonjs/providers/gestures.js +1 -9
- package/lib/commonjs/providers/gestures.js.map +1 -1
- package/lib/commonjs/{components/screen-transition-tree.js → providers/screen-transition-provider.js} +5 -5
- package/lib/commonjs/providers/screen-transition-provider.js.map +1 -0
- package/lib/commonjs/providers/transition-styles.js +4 -4
- package/lib/commonjs/providers/transition-styles.js.map +1 -1
- package/lib/commonjs/utils/animation/start-screen-transition.js +54 -0
- package/lib/commonjs/utils/animation/start-screen-transition.js.map +1 -0
- package/lib/commonjs/utils/bounds/index.js +6 -18
- package/lib/commonjs/utils/bounds/index.js.map +1 -1
- package/lib/commonjs/utils/gesture/apply-offset-rules.js +12 -21
- package/lib/commonjs/utils/gesture/apply-offset-rules.js.map +1 -1
- package/lib/commonjs/utils/gesture/determine-dismissal.js +7 -55
- package/lib/commonjs/utils/gesture/determine-dismissal.js.map +1 -1
- package/lib/commonjs/utils/gesture/reset-gesture-values.js +46 -0
- package/lib/commonjs/utils/gesture/reset-gesture-values.js.map +1 -0
- package/lib/commonjs/utils/gesture/velocity.js +89 -0
- package/lib/commonjs/utils/gesture/velocity.js.map +1 -0
- package/lib/commonjs/utils/reanimated/version.js +12 -0
- package/lib/commonjs/utils/reanimated/version.js.map +1 -0
- package/lib/module/__configs__/index.js.map +1 -0
- package/lib/module/{configs → __configs__}/presets.js +7 -3
- package/lib/module/__configs__/presets.js.map +1 -0
- package/lib/module/{configs → __configs__}/specs.js +1 -0
- package/lib/module/__configs__/specs.js.map +1 -0
- package/lib/module/components/controllers/screen-lifecycle.js +5 -5
- package/lib/module/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/module/components/create-transition-aware-component.js +13 -32
- package/lib/module/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/components/integrations/masked-view.js +1 -2
- package/lib/module/components/integrations/masked-view.js.map +1 -1
- package/lib/module/components/root-transition-aware.js +3 -3
- package/lib/module/components/root-transition-aware.js.map +1 -1
- package/lib/module/constants.js +98 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/hooks/animation/use-associated-style.js +3 -4
- package/lib/module/hooks/animation/use-associated-style.js.map +1 -1
- package/lib/module/hooks/animation/use-screen-animation.js +6 -28
- package/lib/module/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/hooks/bounds/use-bound-registry.js +93 -33
- package/lib/module/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/module/hooks/gestures/use-build-gestures.js +22 -36
- package/lib/module/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/integrations/native-stack/utils/debounce.js.map +1 -1
- package/lib/module/integrations/native-stack/utils/useAnimatedHeaderHeight.js +1 -1
- package/lib/module/integrations/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -1
- package/lib/module/integrations/native-stack/utils/useDismissedRouteError.js +1 -1
- package/lib/module/integrations/native-stack/utils/useDismissedRouteError.js.map +1 -1
- package/lib/module/integrations/native-stack/views/FontProcessor.js +1 -1
- package/lib/module/integrations/native-stack/views/FontProcessor.js.map +1 -1
- package/lib/module/integrations/native-stack/views/FontProcessor.native.js +2 -2
- package/lib/module/integrations/native-stack/views/FontProcessor.native.js.map +1 -1
- package/lib/module/integrations/native-stack/views/NativeStackView.native.js +2 -2
- package/lib/module/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
- package/lib/module/providers/gestures.js +0 -8
- package/lib/module/providers/gestures.js.map +1 -1
- package/lib/module/{components/screen-transition-tree.js → providers/screen-transition-provider.js} +4 -4
- package/lib/module/providers/screen-transition-provider.js.map +1 -0
- package/lib/module/providers/transition-styles.js +4 -4
- package/lib/module/providers/transition-styles.js.map +1 -1
- package/lib/module/utils/animation/{run-transition.js → start-screen-transition.js} +15 -13
- package/lib/module/utils/animation/start-screen-transition.js.map +1 -0
- package/lib/module/utils/bounds/index.js +5 -17
- package/lib/module/utils/bounds/index.js.map +1 -1
- package/lib/module/utils/gesture/apply-offset-rules.js +1 -10
- package/lib/module/utils/gesture/apply-offset-rules.js.map +1 -1
- package/lib/module/utils/gesture/determine-dismissal.js +7 -55
- package/lib/module/utils/gesture/determine-dismissal.js.map +1 -1
- package/lib/module/utils/gesture/reset-gesture-values.js +41 -0
- package/lib/module/utils/gesture/reset-gesture-values.js.map +1 -0
- package/lib/module/utils/gesture/velocity.js +85 -0
- package/lib/module/utils/gesture/velocity.js.map +1 -0
- package/lib/module/utils/reanimated/version.js +7 -0
- package/lib/module/utils/reanimated/version.js.map +1 -0
- package/lib/typescript/{configs → __configs__}/index.d.ts +1 -1
- package/lib/typescript/__configs__/index.d.ts.map +1 -0
- package/lib/typescript/__configs__/presets.d.ts.map +1 -0
- package/lib/typescript/__configs__/specs.d.ts.map +1 -0
- package/lib/typescript/components/create-transition-aware-component.d.ts +14 -2
- package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/components/integrations/masked-view.d.ts.map +1 -1
- package/lib/typescript/components/root-transition-aware.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts +57 -0
- package/lib/typescript/constants.d.ts.map +1 -0
- package/lib/typescript/hooks/animation/use-associated-style.d.ts.map +1 -1
- package/lib/typescript/hooks/animation/use-screen-animation.d.ts +1 -1
- package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts +8 -9
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts.map +1 -1
- package/lib/typescript/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +100 -68
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/integrations/native-stack/utils/debounce.d.ts.map +1 -1
- package/lib/typescript/integrations/native-stack/utils/useAnimatedHeaderHeight.d.ts +2 -2
- package/lib/typescript/integrations/native-stack/utils/useDismissedRouteError.d.ts +2 -2
- package/lib/typescript/integrations/native-stack/utils/useDismissedRouteError.d.ts.map +1 -1
- package/lib/typescript/integrations/native-stack/views/FontProcessor.d.ts.map +1 -1
- package/lib/typescript/integrations/native-stack/views/FontProcessor.native.d.ts.map +1 -1
- package/lib/typescript/providers/gestures.d.ts +0 -1
- package/lib/typescript/providers/gestures.d.ts.map +1 -1
- package/lib/typescript/{components/screen-transition-tree.d.ts → providers/screen-transition-provider.d.ts} +2 -2
- package/lib/typescript/providers/screen-transition-provider.d.ts.map +1 -0
- package/lib/typescript/providers/transition-styles.d.ts.map +1 -1
- package/lib/typescript/types/core.d.ts +0 -8
- package/lib/typescript/types/core.d.ts.map +1 -1
- package/lib/typescript/utils/animation/start-screen-transition.d.ts +13 -0
- package/lib/typescript/utils/animation/start-screen-transition.d.ts.map +1 -0
- package/lib/typescript/utils/bounds/_types/get-bounds.d.ts +2 -2
- package/lib/typescript/utils/bounds/_types/get-bounds.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/index.d.ts.map +1 -1
- package/lib/typescript/utils/gesture/apply-offset-rules.d.ts.map +1 -1
- package/lib/typescript/utils/gesture/determine-dismissal.d.ts +0 -1
- package/lib/typescript/utils/gesture/determine-dismissal.d.ts.map +1 -1
- package/lib/typescript/utils/gesture/reset-gesture-values.d.ts +16 -0
- package/lib/typescript/utils/gesture/reset-gesture-values.d.ts.map +1 -0
- package/lib/typescript/utils/gesture/velocity.d.ts +25 -0
- package/lib/typescript/utils/gesture/velocity.d.ts.map +1 -0
- package/lib/typescript/utils/reanimated/version.d.ts +2 -0
- package/lib/typescript/utils/reanimated/version.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/{configs → __configs__}/presets.ts +7 -1
- package/src/{configs → __configs__}/specs.ts +1 -0
- package/src/components/controllers/screen-lifecycle.tsx +5 -5
- package/src/components/create-transition-aware-component.tsx +23 -38
- package/src/components/integrations/masked-view.tsx +1 -3
- package/src/components/root-transition-aware.tsx +4 -8
- package/src/constants.ts +106 -0
- package/src/hooks/animation/use-associated-style.tsx +3 -4
- package/src/hooks/animation/use-screen-animation.tsx +15 -32
- package/src/hooks/bounds/use-bound-registry.tsx +112 -25
- package/src/hooks/gestures/use-build-gestures.tsx +31 -25
- package/src/index.ts +1 -1
- package/src/integrations/native-stack/utils/debounce.tsx +9 -9
- package/src/integrations/native-stack/utils/useAnimatedHeaderHeight.tsx +10 -10
- package/src/integrations/native-stack/utils/useDismissedRouteError.tsx +21 -21
- package/src/integrations/native-stack/views/FontProcessor.native.tsx +7 -7
- package/src/integrations/native-stack/views/FontProcessor.tsx +2 -2
- package/src/integrations/native-stack/views/NativeStackView.native.tsx +4 -4
- package/src/providers/gestures.tsx +0 -9
- package/src/{components/screen-transition-tree.tsx → providers/screen-transition-provider.tsx} +3 -3
- package/src/providers/transition-styles.tsx +6 -5
- package/src/types/core.ts +0 -9
- package/src/utils/animation/start-screen-transition.ts +61 -0
- package/src/utils/bounds/_types/get-bounds.ts +7 -7
- package/src/utils/bounds/index.ts +12 -19
- package/src/utils/gesture/apply-offset-rules.ts +9 -11
- package/src/utils/gesture/determine-dismissal.ts +18 -69
- package/src/utils/gesture/reset-gesture-values.ts +48 -0
- package/src/utils/gesture/velocity.ts +144 -0
- package/src/utils/reanimated/version.ts +5 -0
- package/lib/commonjs/components/bound-capture.js +0 -38
- package/lib/commonjs/components/bound-capture.js.map +0 -1
- package/lib/commonjs/components/screen-transition-tree.js.map +0 -1
- package/lib/commonjs/configs/index.js.map +0 -1
- package/lib/commonjs/configs/presets.js.map +0 -1
- package/lib/commonjs/configs/specs.js.map +0 -1
- package/lib/commonjs/utils/animation/run-transition.js +0 -52
- package/lib/commonjs/utils/animation/run-transition.js.map +0 -1
- package/lib/module/components/bound-capture.js +0 -33
- package/lib/module/components/bound-capture.js.map +0 -1
- package/lib/module/components/screen-transition-tree.js.map +0 -1
- package/lib/module/configs/index.js.map +0 -1
- package/lib/module/configs/presets.js.map +0 -1
- package/lib/module/configs/specs.js.map +0 -1
- package/lib/module/utils/animation/run-transition.js.map +0 -1
- package/lib/typescript/components/bound-capture.d.ts +0 -8
- package/lib/typescript/components/bound-capture.d.ts.map +0 -1
- package/lib/typescript/components/screen-transition-tree.d.ts.map +0 -1
- package/lib/typescript/configs/index.d.ts.map +0 -1
- package/lib/typescript/configs/presets.d.ts.map +0 -1
- package/lib/typescript/configs/specs.d.ts.map +0 -1
- package/lib/typescript/utils/animation/run-transition.d.ts +0 -12
- package/lib/typescript/utils/animation/run-transition.d.ts.map +0 -1
- package/src/components/bound-capture.tsx +0 -32
- package/src/utils/animation/run-transition.ts +0 -52
- /package/lib/commonjs/{configs → __configs__}/index.js +0 -0
- /package/lib/module/{configs → __configs__}/index.js +0 -0
- /package/lib/typescript/{configs → __configs__}/presets.d.ts +0 -0
- /package/lib/typescript/{configs → __configs__}/specs.d.ts +0 -0
- /package/src/{configs → __configs__}/index.ts +0 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { ScaledSize } from "react-native";
|
|
2
2
|
import type { MeasuredDimensions } from "react-native-reanimated";
|
|
3
|
+
import {
|
|
4
|
+
DEFAULT_BUILDER_OPTIONS,
|
|
5
|
+
EMPTY_BOUND_HELPER_RESULT,
|
|
6
|
+
EMPTY_BOUND_HELPER_RESULT_RAW,
|
|
7
|
+
ENTER_RANGE,
|
|
8
|
+
EXIT_RANGE,
|
|
9
|
+
FULLSCREEN_DIMENSIONS,
|
|
10
|
+
} from "../../constants";
|
|
3
11
|
import type { ScreenTransitionState } from "../../types/animation";
|
|
4
12
|
import type { BoundsAccessor, BoundsBuilder } from "../../types/bounds";
|
|
5
13
|
import type { ScreenPhase } from "../../types/core";
|
|
@@ -20,7 +28,6 @@ import {
|
|
|
20
28
|
composeTransformRelative,
|
|
21
29
|
type ElementComposeParams,
|
|
22
30
|
} from "./_utils/style-composers";
|
|
23
|
-
import { DEFAULT_BUILDER_OPTIONS, FULLSCREEN_DIMENSIONS } from "./constants";
|
|
24
31
|
|
|
25
32
|
export interface BuildBoundsAccessorParams {
|
|
26
33
|
activeBoundId: string | null;
|
|
@@ -31,20 +38,6 @@ export interface BuildBoundsAccessorParams {
|
|
|
31
38
|
dimensions: ScaledSize;
|
|
32
39
|
}
|
|
33
40
|
|
|
34
|
-
const EMPTY_STYLE = Object.freeze({});
|
|
35
|
-
const EMPTY_STYLE_RAW = Object.freeze({
|
|
36
|
-
scaleX: 1,
|
|
37
|
-
scaleY: 1,
|
|
38
|
-
scale: 1,
|
|
39
|
-
translateX: 0,
|
|
40
|
-
translateY: 0,
|
|
41
|
-
width: 0,
|
|
42
|
-
height: 0,
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const ENTER_RANGE = [0, 1] as const;
|
|
46
|
-
const EXIT_RANGE = [1, 2] as const;
|
|
47
|
-
|
|
48
41
|
const resolveBounds = (props: {
|
|
49
42
|
id: string;
|
|
50
43
|
previous?: ScreenTransitionState;
|
|
@@ -114,9 +107,9 @@ const computeBoundStyles = (
|
|
|
114
107
|
"worklet";
|
|
115
108
|
if (!id) {
|
|
116
109
|
if (computeOptions.raw) {
|
|
117
|
-
return
|
|
110
|
+
return EMPTY_BOUND_HELPER_RESULT_RAW;
|
|
118
111
|
}
|
|
119
|
-
return
|
|
112
|
+
return EMPTY_BOUND_HELPER_RESULT;
|
|
120
113
|
}
|
|
121
114
|
|
|
122
115
|
const { start, end, entering } = resolveBounds({
|
|
@@ -130,9 +123,9 @@ const computeBoundStyles = (
|
|
|
130
123
|
|
|
131
124
|
if (!start || !end) {
|
|
132
125
|
if (computeOptions.raw) {
|
|
133
|
-
return
|
|
126
|
+
return EMPTY_BOUND_HELPER_RESULT_RAW;
|
|
134
127
|
}
|
|
135
|
-
return
|
|
128
|
+
return EMPTY_BOUND_HELPER_RESULT;
|
|
136
129
|
}
|
|
137
130
|
|
|
138
131
|
const ranges: readonly [number, number] = entering ? ENTER_RANGE : EXIT_RANGE;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { ScaledSize } from "react-native";
|
|
2
2
|
import type { GestureStateManagerType } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gestureStateManager";
|
|
3
3
|
import type { SharedValue } from "react-native-reanimated";
|
|
4
|
+
import {
|
|
5
|
+
DEFAULT_ACTIVATION_AREA,
|
|
6
|
+
DEFAULT_EDGE_DISTANCE_HORIZONTAL,
|
|
7
|
+
DEFAULT_EDGE_DISTANCE_VERTICAL,
|
|
8
|
+
GESTURE_ACTIVATION_THRESHOLD_X,
|
|
9
|
+
GESTURE_ACTIVATION_THRESHOLD_Y,
|
|
10
|
+
GESTURE_FAIL_TOLERANCE_X,
|
|
11
|
+
GESTURE_FAIL_TOLERANCE_Y,
|
|
12
|
+
} from "../../constants";
|
|
4
13
|
import {
|
|
5
14
|
type ActivationArea,
|
|
6
15
|
type GestureActivationArea,
|
|
@@ -61,17 +70,6 @@ interface ReturnValues {
|
|
|
61
70
|
isSwipingLeft: boolean;
|
|
62
71
|
}
|
|
63
72
|
|
|
64
|
-
/**
|
|
65
|
-
* 10 seems like the correct threshold for compatability with nested gestures outside of our package.
|
|
66
|
-
*/
|
|
67
|
-
const GESTURE_ACTIVATION_THRESHOLD_X = 10;
|
|
68
|
-
const GESTURE_ACTIVATION_THRESHOLD_Y = 10;
|
|
69
|
-
const GESTURE_FAIL_TOLERANCE_X = 15;
|
|
70
|
-
const GESTURE_FAIL_TOLERANCE_Y = 20;
|
|
71
|
-
const DEFAULT_EDGE_DISTANCE_HORIZONTAL = 50;
|
|
72
|
-
const DEFAULT_EDGE_DISTANCE_VERTICAL = 135;
|
|
73
|
-
const DEFAULT_ACTIVATION_AREA = "screen" as const;
|
|
74
|
-
|
|
75
73
|
function normalizeSides(area?: GestureActivationArea): NormalizedSides {
|
|
76
74
|
"worklet";
|
|
77
75
|
if (!area || typeof area === "string") {
|
|
@@ -22,10 +22,7 @@ interface DetermineDismissalProps {
|
|
|
22
22
|
gestureVelocityImpact: number;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
// This produces consistent behavior across devices and enables realistic bounce.
|
|
27
|
-
|
|
28
|
-
const MAX_PROGRESS_VELOCITY = 3.5; // ~3 progress units/second
|
|
25
|
+
import { velocity as V } from "./velocity";
|
|
29
26
|
|
|
30
27
|
const getAxisThreshold = ({
|
|
31
28
|
translation,
|
|
@@ -34,31 +31,14 @@ const getAxisThreshold = ({
|
|
|
34
31
|
gestureVelocityImpact,
|
|
35
32
|
}: GetAxisThresholdProps) => {
|
|
36
33
|
"worklet";
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
return V.shouldPassDismissalThreshold(
|
|
35
|
+
translation,
|
|
36
|
+
velocity,
|
|
37
|
+
screenSize,
|
|
38
|
+
gestureVelocityImpact,
|
|
42
39
|
);
|
|
43
40
|
};
|
|
44
41
|
|
|
45
|
-
const getVelocity = (
|
|
46
|
-
dimensions: { width: number; height: number },
|
|
47
|
-
velocityX: number,
|
|
48
|
-
velocityY: number,
|
|
49
|
-
dismissAxis: "x" | "y",
|
|
50
|
-
) => {
|
|
51
|
-
"worklet";
|
|
52
|
-
const axisSize = dismissAxis === "y" ? dimensions.height : dimensions.width;
|
|
53
|
-
const axisVelocityPx = dismissAxis === "y" ? velocityY : velocityX;
|
|
54
|
-
let velocity = axisVelocityPx / Math.max(1, axisSize);
|
|
55
|
-
|
|
56
|
-
if (velocity > MAX_PROGRESS_VELOCITY) velocity = MAX_PROGRESS_VELOCITY;
|
|
57
|
-
if (velocity < -MAX_PROGRESS_VELOCITY) velocity = -MAX_PROGRESS_VELOCITY;
|
|
58
|
-
|
|
59
|
-
return velocity;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
42
|
export const determineDismissal = ({
|
|
63
43
|
event,
|
|
64
44
|
directions,
|
|
@@ -68,45 +48,24 @@ export const determineDismissal = ({
|
|
|
68
48
|
"worklet";
|
|
69
49
|
|
|
70
50
|
let shouldDismiss: boolean = false;
|
|
71
|
-
let dismissAxis: "x" | "y" = "x";
|
|
72
51
|
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
screenSize: dimensions.height,
|
|
78
|
-
gestureVelocityImpact,
|
|
79
|
-
});
|
|
80
|
-
if (dismiss) {
|
|
81
|
-
dismissAxis = "y";
|
|
82
|
-
shouldDismiss = true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (directions.verticalInverted && event.translationY < 0) {
|
|
52
|
+
if (
|
|
53
|
+
(directions.vertical && event.translationY > 0) ||
|
|
54
|
+
(directions.verticalInverted && event.translationY < 0)
|
|
55
|
+
) {
|
|
86
56
|
const dismiss = getAxisThreshold({
|
|
87
57
|
translation: event.translationY,
|
|
88
58
|
velocity: event.velocityY,
|
|
89
59
|
screenSize: dimensions.height,
|
|
90
60
|
gestureVelocityImpact,
|
|
91
61
|
});
|
|
92
|
-
if (dismiss)
|
|
93
|
-
dismissAxis = "y";
|
|
94
|
-
shouldDismiss = true;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
if (directions.horizontal && event.translationX > 0) {
|
|
98
|
-
const dismiss = getAxisThreshold({
|
|
99
|
-
translation: event.translationX,
|
|
100
|
-
velocity: event.velocityX,
|
|
101
|
-
screenSize: dimensions.width,
|
|
102
|
-
gestureVelocityImpact,
|
|
103
|
-
});
|
|
104
|
-
if (dismiss) {
|
|
105
|
-
dismissAxis = "x";
|
|
106
|
-
shouldDismiss = true;
|
|
107
|
-
}
|
|
62
|
+
if (dismiss) shouldDismiss = true;
|
|
108
63
|
}
|
|
109
|
-
|
|
64
|
+
|
|
65
|
+
if (
|
|
66
|
+
(directions.horizontal && event.translationX > 0) ||
|
|
67
|
+
(directions.horizontalInverted && event.translationX < 0)
|
|
68
|
+
) {
|
|
110
69
|
const dismiss = getAxisThreshold({
|
|
111
70
|
translation: event.translationX,
|
|
112
71
|
velocity: event.velocityX,
|
|
@@ -114,18 +73,8 @@ export const determineDismissal = ({
|
|
|
114
73
|
gestureVelocityImpact,
|
|
115
74
|
});
|
|
116
75
|
|
|
117
|
-
if (dismiss)
|
|
118
|
-
dismissAxis = "x";
|
|
119
|
-
shouldDismiss = true;
|
|
120
|
-
}
|
|
76
|
+
if (dismiss) shouldDismiss = true;
|
|
121
77
|
}
|
|
122
78
|
|
|
123
|
-
|
|
124
|
-
dimensions,
|
|
125
|
-
event.velocityX,
|
|
126
|
-
event.velocityY,
|
|
127
|
-
dismissAxis,
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
return { shouldDismiss, velocity };
|
|
79
|
+
return { shouldDismiss };
|
|
131
80
|
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GestureStateChangeEvent,
|
|
3
|
+
PanGestureHandlerEventPayload,
|
|
4
|
+
} from "react-native-gesture-handler";
|
|
5
|
+
import type { GestureMap } from "../../stores/gestures";
|
|
6
|
+
import type { AnimationConfig } from "../../types/animation";
|
|
7
|
+
import { animate } from "../animation/animate";
|
|
8
|
+
import { velocity } from "./velocity";
|
|
9
|
+
|
|
10
|
+
interface ResetGestureValuesProps {
|
|
11
|
+
spec?: AnimationConfig;
|
|
12
|
+
gestures: GestureMap;
|
|
13
|
+
shouldDismiss: boolean;
|
|
14
|
+
event: GestureStateChangeEvent<PanGestureHandlerEventPayload>;
|
|
15
|
+
dimensions: { width: number; height: number };
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const resetGestureValues = ({
|
|
19
|
+
spec,
|
|
20
|
+
gestures,
|
|
21
|
+
shouldDismiss,
|
|
22
|
+
event,
|
|
23
|
+
dimensions,
|
|
24
|
+
}: ResetGestureValuesProps) => {
|
|
25
|
+
"worklet";
|
|
26
|
+
|
|
27
|
+
const vxNorm = velocity.normalize(event.velocityX, dimensions.width);
|
|
28
|
+
const vyNorm = velocity.normalize(event.velocityY, dimensions.height);
|
|
29
|
+
|
|
30
|
+
// Ensure spring starts moving toward zero using normalized gesture values for direction.
|
|
31
|
+
const nx =
|
|
32
|
+
gestures.normalizedX.value ||
|
|
33
|
+
event.translationX / Math.max(1, dimensions.width);
|
|
34
|
+
const ny =
|
|
35
|
+
gestures.normalizedY.value ||
|
|
36
|
+
event.translationY / Math.max(1, dimensions.height);
|
|
37
|
+
|
|
38
|
+
const vxTowardZero = velocity.calculateRestoreVelocity(nx, vxNorm);
|
|
39
|
+
const vyTowardZero = velocity.calculateRestoreVelocity(ny, vyNorm);
|
|
40
|
+
|
|
41
|
+
gestures.x.value = animate(0, { ...spec, velocity: vxTowardZero });
|
|
42
|
+
gestures.y.value = animate(0, { ...spec, velocity: vyTowardZero });
|
|
43
|
+
|
|
44
|
+
gestures.normalizedX.value = animate(0, { ...spec, velocity: vxTowardZero });
|
|
45
|
+
gestures.normalizedY.value = animate(0, { ...spec, velocity: vyTowardZero });
|
|
46
|
+
gestures.isDragging.value = 0;
|
|
47
|
+
gestures.isDismissing.value = Number(shouldDismiss);
|
|
48
|
+
};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GestureStateChangeEvent,
|
|
3
|
+
PanGestureHandlerEventPayload,
|
|
4
|
+
} from "react-native-gesture-handler";
|
|
5
|
+
import { clamp } from "react-native-reanimated";
|
|
6
|
+
import type { AnimationMap } from "../../stores/animations";
|
|
7
|
+
|
|
8
|
+
interface CalculateProgressProps {
|
|
9
|
+
animations: AnimationMap;
|
|
10
|
+
shouldDismiss: boolean;
|
|
11
|
+
event: GestureStateChangeEvent<PanGestureHandlerEventPayload>;
|
|
12
|
+
dimensions: { width: number; height: number };
|
|
13
|
+
directions: {
|
|
14
|
+
horizontal: boolean;
|
|
15
|
+
horizontalInverted: boolean;
|
|
16
|
+
vertical: boolean;
|
|
17
|
+
verticalInverted: boolean;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const MAX_VELOCITY_MAGNITUDE = 3.2;
|
|
22
|
+
const NEAR_ZERO_THRESHOLD = 0.01;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Converts velocity from pixels/second to normalized units/second (0-1 range)
|
|
26
|
+
* and caps the result for stability
|
|
27
|
+
*/
|
|
28
|
+
const normalize = (velocityPixelsPerSecond: number, screenSize: number) => {
|
|
29
|
+
"worklet";
|
|
30
|
+
return clamp(
|
|
31
|
+
velocityPixelsPerSecond / Math.max(1, screenSize),
|
|
32
|
+
-MAX_VELOCITY_MAGNITUDE,
|
|
33
|
+
MAX_VELOCITY_MAGNITUDE,
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Calculates a normalized velocity that moves the current value toward zero.
|
|
39
|
+
* Used for spring-back animations when dismissing gestures.
|
|
40
|
+
*/
|
|
41
|
+
const calculateRestoreVelocity = (
|
|
42
|
+
currentValueNormalized: number,
|
|
43
|
+
baseVelocityNormalized: number,
|
|
44
|
+
threshold: number = NEAR_ZERO_THRESHOLD,
|
|
45
|
+
) => {
|
|
46
|
+
"worklet";
|
|
47
|
+
|
|
48
|
+
if (Math.abs(currentValueNormalized) < threshold) return 0;
|
|
49
|
+
|
|
50
|
+
const directionTowardZero = Math.sign(currentValueNormalized) || 1;
|
|
51
|
+
const clampedVelocity = Math.min(Math.abs(baseVelocityNormalized), 1);
|
|
52
|
+
|
|
53
|
+
return -directionTowardZero * clampedVelocity;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const calculateProgressVelocity = ({
|
|
57
|
+
animations,
|
|
58
|
+
shouldDismiss,
|
|
59
|
+
event,
|
|
60
|
+
dimensions,
|
|
61
|
+
directions,
|
|
62
|
+
}: CalculateProgressProps) => {
|
|
63
|
+
"worklet";
|
|
64
|
+
|
|
65
|
+
const currentProgress = animations.progress.value;
|
|
66
|
+
const targetProgress = shouldDismiss ? 0 : 1;
|
|
67
|
+
const progressDelta = targetProgress - currentProgress;
|
|
68
|
+
|
|
69
|
+
const progressDirection = progressDelta === 0 ? 0 : Math.sign(progressDelta);
|
|
70
|
+
|
|
71
|
+
const normalizedVelocityX = normalize(event.velocityX, dimensions.width);
|
|
72
|
+
const normalizedVelocityY = normalize(event.velocityY, dimensions.height);
|
|
73
|
+
|
|
74
|
+
const normalizedTranslationX = Math.abs(
|
|
75
|
+
event.translationX / dimensions.width,
|
|
76
|
+
);
|
|
77
|
+
const normalizedTranslationY = Math.abs(
|
|
78
|
+
event.translationY / dimensions.height,
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
const supportsHorizontalGestures =
|
|
82
|
+
directions.horizontal || directions.horizontalInverted;
|
|
83
|
+
|
|
84
|
+
const supportsVerticalGestures =
|
|
85
|
+
directions.vertical || directions.verticalInverted;
|
|
86
|
+
|
|
87
|
+
let progressVelocityMagnitude = 0;
|
|
88
|
+
|
|
89
|
+
// Determine which axis should drive the progress velocity
|
|
90
|
+
if (
|
|
91
|
+
supportsHorizontalGestures &&
|
|
92
|
+
(!supportsVerticalGestures ||
|
|
93
|
+
normalizedTranslationX >= normalizedTranslationY)
|
|
94
|
+
) {
|
|
95
|
+
progressVelocityMagnitude = Math.abs(normalizedVelocityX);
|
|
96
|
+
} else if (supportsVerticalGestures) {
|
|
97
|
+
progressVelocityMagnitude = Math.abs(normalizedVelocityY);
|
|
98
|
+
} else {
|
|
99
|
+
progressVelocityMagnitude = Math.max(
|
|
100
|
+
Math.abs(normalizedVelocityX),
|
|
101
|
+
Math.abs(normalizedVelocityY),
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Apply direction and clamp to prevent overly energetic springs
|
|
106
|
+
return (
|
|
107
|
+
progressDirection *
|
|
108
|
+
clamp(progressVelocityMagnitude, 0, MAX_VELOCITY_MAGNITUDE)
|
|
109
|
+
);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Determines if a gesture should trigger dismissal based on combined
|
|
114
|
+
* translation and velocity in normalized screen units (0-1 range).
|
|
115
|
+
*
|
|
116
|
+
* Formula: |translation/screen + clamp(velocity/screen, ±1) * velocityWeight| > 0.5
|
|
117
|
+
*/
|
|
118
|
+
const shouldPassDismissalThreshold = (
|
|
119
|
+
translationPixels: number,
|
|
120
|
+
velocityPixelsPerSecond: number,
|
|
121
|
+
screenSize: number,
|
|
122
|
+
velocityWeight: number,
|
|
123
|
+
) => {
|
|
124
|
+
"worklet";
|
|
125
|
+
|
|
126
|
+
const normalizedTranslation = translationPixels / Math.max(1, screenSize);
|
|
127
|
+
const normalizedVelocity = normalize(velocityPixelsPerSecond, screenSize);
|
|
128
|
+
|
|
129
|
+
const projectedNormalizedPosition =
|
|
130
|
+
normalizedTranslation + normalizedVelocity * velocityWeight;
|
|
131
|
+
|
|
132
|
+
const exceedsThreshold = Math.abs(projectedNormalizedPosition) > 0.5;
|
|
133
|
+
|
|
134
|
+
const hasMovement = translationPixels !== 0 || velocityPixelsPerSecond !== 0;
|
|
135
|
+
|
|
136
|
+
return exceedsThreshold && hasMovement;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export const velocity = {
|
|
140
|
+
normalize,
|
|
141
|
+
calculateRestoreVelocity,
|
|
142
|
+
calculateProgressVelocity,
|
|
143
|
+
shouldPassDismissalThreshold,
|
|
144
|
+
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.BoundCapture = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
|
9
|
-
var _keys = require("../providers/keys");
|
|
10
|
-
var _bounds = require("../stores/bounds");
|
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
const BoundCapture = ({
|
|
13
|
-
sharedBoundTag,
|
|
14
|
-
children,
|
|
15
|
-
measure
|
|
16
|
-
}) => {
|
|
17
|
-
const {
|
|
18
|
-
current
|
|
19
|
-
} = (0, _keys.useKeys)();
|
|
20
|
-
const routeKey = current.route.key;
|
|
21
|
-
const tapGesture = (0, _react.useMemo)(() => {
|
|
22
|
-
return _reactNativeGestureHandler.Gesture.Tap().onStart(() => {
|
|
23
|
-
"worklet";
|
|
24
|
-
|
|
25
|
-
if (sharedBoundTag) {
|
|
26
|
-
_bounds.Bounds.setRouteActive(routeKey, sharedBoundTag);
|
|
27
|
-
measure();
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}, [sharedBoundTag, measure, routeKey]);
|
|
31
|
-
if (!sharedBoundTag) return children;
|
|
32
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
|
|
33
|
-
gesture: tapGesture,
|
|
34
|
-
children: children
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
exports.BoundCapture = BoundCapture;
|
|
38
|
-
//# sourceMappingURL=bound-capture.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNativeGestureHandler","_keys","_bounds","_jsxRuntime","BoundCapture","sharedBoundTag","children","measure","current","useKeys","routeKey","route","key","tapGesture","useMemo","Gesture","Tap","onStart","Bounds","setRouteActive","jsx","GestureDetector","gesture","exports"],"sourceRoot":"../../../src","sources":["components/bound-capture.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA0C,IAAAI,WAAA,GAAAJ,OAAA;AAQnC,MAAMK,YAAY,GAAGA,CAAC;EAC5BC,cAAc;EACdC,QAAQ;EACRC;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC7B,MAAMC,QAAQ,GAAGF,OAAO,CAACG,KAAK,CAACC,GAAG;EAClC,MAAMC,UAAU,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,OAAOC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM;MAClC,SAAS;;MACT,IAAIZ,cAAc,EAAE;QACnBa,cAAM,CAACC,cAAc,CAACT,QAAQ,EAAEL,cAAc,CAAC;QAC/CE,OAAO,CAAC,CAAC;MACV;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,cAAc,EAAEE,OAAO,EAAEG,QAAQ,CAAC,CAAC;EAEvC,IAAI,CAACL,cAAc,EAAE,OAAOC,QAAQ;EAEpC,oBAAO,IAAAH,WAAA,CAAAiB,GAAA,EAACpB,0BAAA,CAAAqB,eAAe;IAACC,OAAO,EAAET,UAAW;IAAAP,QAAA,EAAEA;EAAQ,CAAkB,CAAC;AAC1E,CAAC;AAACiB,OAAA,CAAAnB,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_gestures","require","_keys","_transitionStyles","_screenLifecycle","_rootTransitionAware","_jsxRuntime","ScreenTransitionTree","previous","current","next","children","jsx","KeysProvider","ScreenGestureProvider","ScreenLifecycleController","TransitionStylesProvider","RootTransitionAware"],"sourceRoot":"../../../src","sources":["components/screen-transition-tree.tsx"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAA8D,IAAAK,WAAA,GAAAL,OAAA;AASvD,SAASM,oBAAoBA,CAAC;EACpCC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACM,CAAC,EAAE;EACT,oBACC,IAAAL,WAAA,CAAAM,GAAA,EAACV,KAAA,CAAAW,YAAY;IAACL,QAAQ,EAAEA,QAAS;IAACC,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAC9D,IAAAL,WAAA,CAAAM,GAAA,EAACZ,SAAA,CAAAc,qBAAqB;MAAAH,QAAA,eACrB,IAAAL,WAAA,CAAAM,GAAA,EAACR,gBAAA,CAAAW,yBAAyB;QAAAJ,QAAA,eACzB,IAAAL,WAAA,CAAAM,GAAA,EAACT,iBAAA,CAAAa,wBAAwB;UAAAL,QAAA,eACxB,IAAAL,WAAA,CAAAM,GAAA,EAACP,oBAAA,CAAAY,mBAAmB;YAAAN,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACD;IAAC,CACN;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_presets","require","_specs","specs","exports","DefaultSpec","presets","SlideFromTop","ZoomIn","SlideFromBottom","DraggableCard","ElasticCard","SharedIGImage","SharedAppleMusic","SharedXImage"],"sourceRoot":"../../../src","sources":["configs/index.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAUA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACpBE,WAAW,EAAXA;AACD,CAAC;AAEM,MAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG;EACtBC,YAAY,EAAZA,qBAAY;EACZC,MAAM,EAANA,eAAM;EACNC,eAAe,EAAfA,wBAAe;EACfC,aAAa,EAAbA,sBAAa;EACbC,WAAW,EAAXA,oBAAW;EACXC,aAAa,EAAbA,sBAAa;EACbC,gBAAgB,EAAhBA,yBAAgB;EAChBC,YAAY,EAAZA;AACD,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeReanimated","_specs","platform","Platform","OS","SlideFromTop","config","enableTransitions","gestureEnabled","gestureDirection","screenStyleInterpolator","progress","layouts","screen","height","y","interpolate","contentStyle","transform","translateY","transitionSpec","open","DefaultSpec","close","exports","ZoomIn","scale","Extrapolation","CLAMP","opacity","SlideFromBottom","DraggableCard","current","gesture","normalizedY","translateX","normalizedX","width","ElasticCard","elasticFactor","next","maxElasticityX","maxElasticityY","overlayColor","interpolateColor","overlayStyle","backgroundColor","SharedIGImage","gestureDrivesProgress","bounds","focused","activeBoundId","active","normX","normY","dragX","dragY","dragXScale","dragYScale","boundValues","method","scaleMode","raw","maskedValues","space","target","_ROOT_CONTAINER","_ROOT_MASKED","borderRadius","pointerEvents","isDismissing","scaleX","scaleY","stiffness","damping","mass","overshootClamping","restSpeedThreshold","SharedAppleMusic","anchor","dragMagnitude","Math","max","abs","shadowOpacity","shadowRadius","shadowOffsetY","elevation","IOSShadowStyle","shadowColor","shadowOffset","AndroidShadowStyle","animating","scaledBoundTranslateX","scaledBoundTranslateY","scaledBoundScaleX","scaledBoundScaleY","contentScale","zIndex","position","restDisplacementThreshold","SharedXImage","contentY","overlayClr","x","closing","overflow"],"sourceRoot":"../../../src","sources":["configs/presets.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DefaultSpec","exports","stiffness","damping","mass","overshootClamping","restSpeedThreshold"],"sourceRoot":"../../../src","sources":["configs/specs.ts"],"mappings":";;;;;;AAEO,MAAMA,WAA6B,GAAAC,OAAA,CAAAD,WAAA,GAAG;EAC5CE,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,GAAG;EACZC,IAAI,EAAE,CAAC;EACPC,iBAAiB,EAAE,IAAI;EACvBC,kBAAkB,EAAE;AACrB,CAAC","ignoreList":[]}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.runTransition = void 0;
|
|
7
|
-
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
-
var _animate = require("./animate");
|
|
9
|
-
const runTransition = ({
|
|
10
|
-
target,
|
|
11
|
-
spec,
|
|
12
|
-
onFinish,
|
|
13
|
-
animations,
|
|
14
|
-
velocity
|
|
15
|
-
}) => {
|
|
16
|
-
"worklet";
|
|
17
|
-
|
|
18
|
-
const value = target === "open" ? 1 : 0;
|
|
19
|
-
const config = target === "open" ? spec?.open : spec?.close;
|
|
20
|
-
const {
|
|
21
|
-
progress,
|
|
22
|
-
animating,
|
|
23
|
-
closing
|
|
24
|
-
} = animations;
|
|
25
|
-
if (target === "close") {
|
|
26
|
-
closing.value = 1;
|
|
27
|
-
}
|
|
28
|
-
if (!config) {
|
|
29
|
-
animating.value = 0;
|
|
30
|
-
progress.value = value;
|
|
31
|
-
if (onFinish) {
|
|
32
|
-
(0, _reactNativeReanimated.runOnJS)(onFinish)(true);
|
|
33
|
-
}
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
animating.value = 1;
|
|
37
|
-
progress.value = (0, _animate.animate)(value, {
|
|
38
|
-
...config,
|
|
39
|
-
velocity
|
|
40
|
-
}, finished => {
|
|
41
|
-
"worklet";
|
|
42
|
-
|
|
43
|
-
if (finished) {
|
|
44
|
-
animating.value = 0;
|
|
45
|
-
if (onFinish) {
|
|
46
|
-
(0, _reactNativeReanimated.runOnJS)(onFinish)(finished);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
};
|
|
51
|
-
exports.runTransition = runTransition;
|
|
52
|
-
//# sourceMappingURL=run-transition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","_animate","runTransition","target","spec","onFinish","animations","velocity","value","config","open","close","progress","animating","closing","runOnJS","animate","finished","exports"],"sourceRoot":"../../../../src","sources":["utils/animation/run-transition.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAUO,MAAME,aAAa,GAAGA,CAAC;EAC7BC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,UAAU;EACVC;AACmB,CAAC,KAAK;EACzB,SAAS;;EACT,MAAMC,KAAK,GAAGL,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMM,MAAM,GAAGN,MAAM,KAAK,MAAM,GAAGC,IAAI,EAAEM,IAAI,GAAGN,IAAI,EAAEO,KAAK;EAE3D,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGR,UAAU;EAEnD,IAAIH,MAAM,KAAK,OAAO,EAAE;IACvBW,OAAO,CAACN,KAAK,GAAG,CAAC;EAClB;EAEA,IAAI,CAACC,MAAM,EAAE;IACZI,SAAS,CAACL,KAAK,GAAG,CAAC;IACnBI,QAAQ,CAACJ,KAAK,GAAGA,KAAK;IAEtB,IAAIH,QAAQ,EAAE;MACb,IAAAU,8BAAO,EAACV,QAAQ,CAAC,CAAC,IAAI,CAAC;IACxB;IACA;EACD;EAEAQ,SAAS,CAACL,KAAK,GAAG,CAAC;EAEnBI,QAAQ,CAACJ,KAAK,GAAG,IAAAQ,gBAAO,EAACR,KAAK,EAAE;IAAE,GAAGC,MAAM;IAAEF;EAAS,CAAC,EAAGU,QAAQ,IAAK;IACtE,SAAS;;IACT,IAAIA,QAAQ,EAAE;MACbJ,SAAS,CAACL,KAAK,GAAG,CAAC;MACnB,IAAIH,QAAQ,EAAE;QACb,IAAAU,8BAAO,EAACV,QAAQ,CAAC,CAACY,QAAQ,CAAC;MAC5B;IACD;EACD,CAAC,CAAC;AACH,CAAC;AAACC,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
5
|
-
import { useKeys } from "../providers/keys";
|
|
6
|
-
import { Bounds } from "../stores/bounds";
|
|
7
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export const BoundCapture = ({
|
|
9
|
-
sharedBoundTag,
|
|
10
|
-
children,
|
|
11
|
-
measure
|
|
12
|
-
}) => {
|
|
13
|
-
const {
|
|
14
|
-
current
|
|
15
|
-
} = useKeys();
|
|
16
|
-
const routeKey = current.route.key;
|
|
17
|
-
const tapGesture = useMemo(() => {
|
|
18
|
-
return Gesture.Tap().onStart(() => {
|
|
19
|
-
"worklet";
|
|
20
|
-
|
|
21
|
-
if (sharedBoundTag) {
|
|
22
|
-
Bounds.setRouteActive(routeKey, sharedBoundTag);
|
|
23
|
-
measure();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}, [sharedBoundTag, measure, routeKey]);
|
|
27
|
-
if (!sharedBoundTag) return children;
|
|
28
|
-
return /*#__PURE__*/_jsx(GestureDetector, {
|
|
29
|
-
gesture: tapGesture,
|
|
30
|
-
children: children
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=bound-capture.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Gesture","GestureDetector","useKeys","Bounds","jsx","_jsx","BoundCapture","sharedBoundTag","children","measure","current","routeKey","route","key","tapGesture","Tap","onStart","setRouteActive","gesture"],"sourceRoot":"../../../src","sources":["components/bound-capture.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,OAAO,QAAQ,mBAAmB;AAC3C,SAASC,MAAM,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ1C,OAAO,MAAMC,YAAY,GAAGA,CAAC;EAC5BC,cAAc;EACdC,QAAQ;EACRC;AACoB,CAAC,KAAK;EAC1B,MAAM;IAAEC;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAC7B,MAAMS,QAAQ,GAAGD,OAAO,CAACE,KAAK,CAACC,GAAG;EAClC,MAAMC,UAAU,GAAGf,OAAO,CAAC,MAAM;IAChC,OAAOC,OAAO,CAACe,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM;MAClC,SAAS;;MACT,IAAIT,cAAc,EAAE;QACnBJ,MAAM,CAACc,cAAc,CAACN,QAAQ,EAAEJ,cAAc,CAAC;QAC/CE,OAAO,CAAC,CAAC;MACV;IACD,CAAC,CAAC;EACH,CAAC,EAAE,CAACF,cAAc,EAAEE,OAAO,EAAEE,QAAQ,CAAC,CAAC;EAEvC,IAAI,CAACJ,cAAc,EAAE,OAAOC,QAAQ;EAEpC,oBAAOH,IAAA,CAACJ,eAAe;IAACiB,OAAO,EAAEJ,UAAW;IAAAN,QAAA,EAAEA;EAAQ,CAAkB,CAAC;AAC1E,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ScreenGestureProvider","KeysProvider","TransitionStylesProvider","ScreenLifecycleController","RootTransitionAware","jsx","_jsx","ScreenTransitionTree","previous","current","next","children"],"sourceRoot":"../../../src","sources":["components/screen-transition-tree.tsx"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,uBAAuB;AAC7D,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,wBAAwB,QAAQ,gCAAgC;AAEzE,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,mBAAmB,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS9D,OAAO,SAASC,oBAAoBA,CAAC;EACpCC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACM,CAAC,EAAE;EACT,oBACCL,IAAA,CAACL,YAAY;IAACO,QAAQ,EAAEA,QAAS;IAACC,OAAO,EAAEA,OAAQ;IAACC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAC9DL,IAAA,CAACN,qBAAqB;MAAAW,QAAA,eACrBL,IAAA,CAACH,yBAAyB;QAAAQ,QAAA,eACzBL,IAAA,CAACJ,wBAAwB;UAAAS,QAAA,eACxBL,IAAA,CAACF,mBAAmB;YAAAO,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACD;IAAC,CACN;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DraggableCard","ElasticCard","SharedAppleMusic","SharedIGImage","SharedXImage","SlideFromBottom","SlideFromTop","ZoomIn","DefaultSpec","specs","presets"],"sourceRoot":"../../../src","sources":["configs/index.ts"],"mappings":";;AAAA,SACCA,aAAa,EACbC,WAAW,EACXC,gBAAgB,EAChBC,aAAa,EACbC,YAAY,EACZC,eAAe,EACfC,YAAY,EACZC,MAAM,QACA,WAAW;AAClB,SAASC,WAAW,QAAQ,SAAS;AAErC,OAAO,MAAMC,KAAK,GAAG;EACpBD;AACD,CAAC;AAED,OAAO,MAAME,OAAO,GAAG;EACtBJ,YAAY;EACZC,MAAM;EACNF,eAAe;EACfL,aAAa;EACbC,WAAW;EACXE,aAAa;EACbD,gBAAgB;EAChBE;AACD,CAAC","ignoreList":[]}
|