react-native-screen-transitions 3.2.1 → 3.3.0-beta.1
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 +105 -10
- package/lib/commonjs/blank-stack/components/adjusted-screen.js +2 -2
- package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -1
- package/lib/commonjs/shared/components/create-transition-aware-component.js +8 -2
- package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/shared/components/{root-transition-aware.js → screen-container.js} +28 -12
- package/lib/commonjs/shared/components/screen-container.js.map +1 -0
- package/lib/commonjs/shared/configs/presets.js +3 -3
- package/lib/commonjs/shared/configs/presets.js.map +1 -1
- package/lib/commonjs/shared/configs/specs.js +6 -1
- package/lib/commonjs/shared/configs/specs.js.map +1 -1
- package/lib/commonjs/shared/constants.js +36 -10
- package/lib/commonjs/shared/constants.js.map +1 -1
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +25 -18
- package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +25 -202
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +342 -0
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -0
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +47 -4
- package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +3 -3
- package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/commonjs/shared/hooks/lifecycle/use-open-transition.js +25 -3
- package/lib/commonjs/shared/hooks/lifecycle/use-open-transition.js.map +1 -1
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +33 -2
- package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/commonjs/shared/hooks/use-backdrop-pointer-events.js +32 -0
- package/lib/commonjs/shared/hooks/use-backdrop-pointer-events.js.map +1 -0
- package/lib/commonjs/shared/providers/gestures.provider.js +4 -2
- package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/screen-composer.js +2 -2
- package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +16 -8
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -0
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +138 -0
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +1 -1
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +56 -0
- package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -0
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +31 -0
- package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -0
- package/lib/commonjs/shared/utils/gesture/velocity.js +11 -0
- package/lib/commonjs/shared/utils/gesture/velocity.js.map +1 -1
- package/lib/commonjs/shared/utils/logger.js +22 -0
- package/lib/commonjs/shared/utils/logger.js.map +1 -0
- package/lib/module/blank-stack/components/adjusted-screen.js +1 -1
- package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -1
- package/lib/module/shared/components/create-transition-aware-component.js +8 -2
- package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/shared/components/screen-container.js +64 -0
- package/lib/module/shared/components/screen-container.js.map +1 -0
- package/lib/module/shared/configs/presets.js +3 -3
- package/lib/module/shared/configs/presets.js.map +1 -1
- package/lib/module/shared/configs/specs.js +5 -0
- package/lib/module/shared/configs/specs.js.map +1 -1
- package/lib/module/shared/constants.js +34 -9
- package/lib/module/shared/constants.js.map +1 -1
- package/lib/module/shared/hooks/animation/use-screen-animation.js +25 -18
- package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-build-gestures.js +25 -201
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +336 -0
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -0
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js +47 -4
- package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js +3 -3
- package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
- package/lib/module/shared/hooks/lifecycle/use-open-transition.js +25 -3
- package/lib/module/shared/hooks/lifecycle/use-open-transition.js.map +1 -1
- package/lib/module/shared/hooks/navigation/use-screen-state.js +35 -4
- package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
- package/lib/module/shared/hooks/use-backdrop-pointer-events.js +28 -0
- package/lib/module/shared/hooks/use-backdrop-pointer-events.js.map +1 -0
- package/lib/module/shared/providers/gestures.provider.js +4 -2
- package/lib/module/shared/providers/gestures.provider.js.map +1 -1
- package/lib/module/shared/providers/screen/screen-composer.js +2 -2
- package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
- package/lib/module/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +14 -6
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -0
- package/lib/module/shared/utils/gesture/check-gesture-activation.js +137 -0
- package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
- package/lib/module/shared/utils/gesture/determine-snap-target.js +52 -0
- package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -0
- package/lib/module/shared/utils/gesture/validate-snap-points.js +26 -0
- package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -0
- package/lib/module/shared/utils/gesture/velocity.js +11 -0
- package/lib/module/shared/utils/gesture/velocity.js.map +1 -1
- package/lib/module/shared/utils/logger.js +17 -0
- package/lib/module/shared/utils/logger.js.map +1 -0
- package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -1
- package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
- package/lib/typescript/shared/components/screen-container.d.ts +6 -0
- package/lib/typescript/shared/components/screen-container.d.ts.map +1 -0
- package/lib/typescript/shared/configs/specs.d.ts +1 -0
- package/lib/typescript/shared/configs/specs.d.ts.map +1 -1
- package/lib/typescript/shared/constants.d.ts +9 -0
- package/lib/typescript/shared/constants.d.ts.map +1 -1
- 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 +1 -1
- package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts +19 -0
- package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +1 -0
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +5 -1
- package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/lifecycle/use-open-transition.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts +7 -0
- package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
- package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts +15 -0
- package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts.map +1 -0
- package/lib/typescript/shared/providers/gestures.provider.d.ts +1 -0
- package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +37 -2
- package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
- package/lib/typescript/shared/types/screen.types.d.ts +26 -0
- package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +19 -0
- package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -0
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +23 -0
- package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
- package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts +26 -0
- package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -0
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts +13 -0
- package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -0
- package/lib/typescript/shared/utils/gesture/velocity.d.ts +1 -0
- package/lib/typescript/shared/utils/gesture/velocity.d.ts.map +1 -1
- package/lib/typescript/shared/utils/logger.d.ts +6 -0
- package/lib/typescript/shared/utils/logger.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/blank-stack/components/adjusted-screen.tsx +1 -1
- package/src/shared/__tests__/derivations.test.ts +1 -0
- package/src/shared/__tests__/determine-snap-target.test.ts +268 -0
- package/src/shared/__tests__/gesture-activation.test.ts +220 -0
- package/src/shared/__tests__/validate-snap-points.test.ts +125 -0
- package/src/shared/components/create-transition-aware-component.tsx +11 -1
- package/src/shared/components/screen-container.tsx +65 -0
- package/src/shared/configs/presets.ts +3 -3
- package/src/shared/configs/specs.ts +6 -0
- package/src/shared/constants.ts +36 -9
- package/src/shared/hooks/animation/use-screen-animation.tsx +32 -21
- package/src/shared/hooks/gestures/use-build-gestures.tsx +23 -275
- package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +434 -0
- package/src/shared/hooks/gestures/use-scroll-registry.tsx +52 -1
- package/src/shared/hooks/lifecycle/use-close-transition.ts +3 -3
- package/src/shared/hooks/lifecycle/use-open-transition.ts +27 -3
- package/src/shared/hooks/navigation/use-screen-state.tsx +59 -2
- package/src/shared/hooks/use-backdrop-pointer-events.ts +32 -0
- package/src/shared/providers/gestures.provider.tsx +3 -2
- package/src/shared/providers/screen/screen-composer.tsx +2 -2
- package/src/shared/types/animation.types.ts +39 -2
- package/src/shared/types/screen.types.ts +29 -0
- package/src/shared/utils/animation/{start-screen-transition.ts → animate-to-progress.ts} +23 -8
- package/src/shared/utils/gesture/check-gesture-activation.ts +129 -0
- package/src/shared/utils/gesture/determine-snap-target.ts +75 -0
- package/src/shared/utils/gesture/validate-snap-points.ts +37 -0
- package/src/shared/utils/gesture/velocity.ts +10 -0
- package/src/shared/utils/logger.ts +15 -0
- package/lib/commonjs/shared/components/root-transition-aware.js.map +0 -1
- package/lib/commonjs/shared/hooks/use-stack-pointer-events.js +0 -23
- package/lib/commonjs/shared/hooks/use-stack-pointer-events.js.map +0 -1
- package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +0 -1
- package/lib/module/shared/components/root-transition-aware.js +0 -48
- package/lib/module/shared/components/root-transition-aware.js.map +0 -1
- package/lib/module/shared/hooks/use-stack-pointer-events.js +0 -20
- package/lib/module/shared/hooks/use-stack-pointer-events.js.map +0 -1
- package/lib/module/shared/utils/animation/start-screen-transition.js.map +0 -1
- package/lib/typescript/shared/components/root-transition-aware.d.ts +0 -6
- package/lib/typescript/shared/components/root-transition-aware.d.ts.map +0 -1
- package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts +0 -10
- package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts.map +0 -1
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts +0 -13
- package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +0 -1
- package/src/shared/components/root-transition-aware.tsx +0 -49
- package/src/shared/hooks/use-stack-pointer-events.ts +0 -15
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Determines which snap point to animate to based on current progress and velocity.
|
|
5
|
+
*
|
|
6
|
+
* Logic: Snap to whichever point is closest, factoring in velocity.
|
|
7
|
+
* The "zones" between snap points are split at midpoints.
|
|
8
|
+
* Velocity can push you into the next zone.
|
|
9
|
+
*/
|
|
10
|
+
export function determineSnapTarget({
|
|
11
|
+
currentProgress,
|
|
12
|
+
snapPoints,
|
|
13
|
+
velocity,
|
|
14
|
+
dimension,
|
|
15
|
+
velocityFactor = 0.15,
|
|
16
|
+
canDismiss = true
|
|
17
|
+
}) {
|
|
18
|
+
"worklet";
|
|
19
|
+
|
|
20
|
+
// Convert velocity to progress units (positive = toward dismiss = decreasing progress)
|
|
21
|
+
const velocityInProgress = velocity / dimension * velocityFactor;
|
|
22
|
+
|
|
23
|
+
// Project where we'd end up with velocity
|
|
24
|
+
const projectedProgress = currentProgress - velocityInProgress;
|
|
25
|
+
|
|
26
|
+
// Build all possible targets: dismiss (0) only if allowed, plus all snap points
|
|
27
|
+
const allTargets = canDismiss ? [0, ...snapPoints].sort((a, b) => a - b) : [...snapPoints].sort((a, b) => a - b);
|
|
28
|
+
|
|
29
|
+
// Find the target whose zone contains the projected progress
|
|
30
|
+
// Zones are split at midpoints between adjacent targets
|
|
31
|
+
let targetProgress = allTargets[0];
|
|
32
|
+
for (let i = 0; i < allTargets.length; i++) {
|
|
33
|
+
const current = allTargets[i];
|
|
34
|
+
const next = allTargets[i + 1];
|
|
35
|
+
if (next === undefined) {
|
|
36
|
+
// Last target - if we're above the midpoint to here, snap to it
|
|
37
|
+
targetProgress = current;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
const midpoint = (current + next) / 2;
|
|
41
|
+
if (projectedProgress < midpoint) {
|
|
42
|
+
targetProgress = current;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
targetProgress = next;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
targetProgress,
|
|
49
|
+
shouldDismiss: targetProgress === 0
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=determine-snap-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["determineSnapTarget","currentProgress","snapPoints","velocity","dimension","velocityFactor","canDismiss","velocityInProgress","projectedProgress","allTargets","sort","a","b","targetProgress","i","length","current","next","undefined","midpoint","shouldDismiss"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/determine-snap-target.ts"],"mappings":";;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAAC;EACnCC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,SAAS;EACTC,cAAc,GAAG,IAAI;EACrBC,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;EACA,MAAME,UAAU,GAAGH,UAAU,GAC1B,CAAC,CAAC,EAAE,GAAGJ,UAAU,CAAC,CAACQ,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,GACxC,CAAC,GAAGV,UAAU,CAAC,CAACQ,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;;EAExC;EACA;EACA,IAAIC,cAAc,GAAGJ,UAAU,CAAC,CAAC,CAAC;EAElC,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,UAAU,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;IAC3C,MAAME,OAAO,GAAGP,UAAU,CAACK,CAAC,CAAC;IAC7B,MAAMG,IAAI,GAAGR,UAAU,CAACK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAIG,IAAI,KAAKC,SAAS,EAAE;MACvB;MACAL,cAAc,GAAGG,OAAO;MACxB;IACD;IAEA,MAAMG,QAAQ,GAAG,CAACH,OAAO,GAAGC,IAAI,IAAI,CAAC;IAErC,IAAIT,iBAAiB,GAAGW,QAAQ,EAAE;MACjCN,cAAc,GAAGG,OAAO;MACxB;IACD;IAEAH,cAAc,GAAGI,IAAI;EACtB;EAEA,OAAO;IACNJ,cAAc;IACdO,aAAa,EAAEP,cAAc,KAAK;EACnC,CAAC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const validateSnapPoints = ({
|
|
4
|
+
snapPoints,
|
|
5
|
+
canDismiss
|
|
6
|
+
}) => {
|
|
7
|
+
if (!snapPoints) {
|
|
8
|
+
return {
|
|
9
|
+
hasSnapPoints: false,
|
|
10
|
+
snapPoints: [],
|
|
11
|
+
minSnapPoint: -1,
|
|
12
|
+
maxSnapPoint: -1
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const sortedSnaps = snapPoints.slice().sort((a, b) => a - b);
|
|
16
|
+
// Clamp to snap point bounds (dismiss at 0 only if allowed)
|
|
17
|
+
const minProgress = canDismiss ? 0 : sortedSnaps[0];
|
|
18
|
+
const maxProgress = sortedSnaps[sortedSnaps.length - 1];
|
|
19
|
+
return {
|
|
20
|
+
hasSnapPoints: true,
|
|
21
|
+
snapPoints: sortedSnaps,
|
|
22
|
+
minSnapPoint: minProgress,
|
|
23
|
+
maxSnapPoint: maxProgress
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=validate-snap-points.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["validateSnapPoints","snapPoints","canDismiss","hasSnapPoints","minSnapPoint","maxSnapPoint","sortedSnaps","slice","sort","a","b","minProgress","maxProgress","length"],"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,EAAE;IAChB,OAAO;MACNE,aAAa,EAAE,KAAK;MACpBF,UAAU,EAAE,EAAE;MACdG,YAAY,EAAE,CAAC,CAAC;MAChBC,YAAY,EAAE,CAAC;IAChB,CAAC;EACF;EAEA,MAAMC,WAAW,GAAGL,UAAU,CAACM,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC;EAC5D;EACA,MAAMC,WAAW,GAAGT,UAAU,GAAG,CAAC,GAAGI,WAAW,CAAC,CAAC,CAAC;EACnD,MAAMM,WAAW,GAAGN,WAAW,CAACA,WAAW,CAACO,MAAM,GAAG,CAAC,CAAC;EAEvD,OAAO;IACNV,aAAa,EAAE,IAAI;IACnBF,UAAU,EAAEK,WAAW;IACvBF,YAAY,EAAEO,WAAW;IACzBN,YAAY,EAAEO;EACf,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -14,6 +14,16 @@ const normalize = (velocityPixelsPerSecond, screenSize) => {
|
|
|
14
14
|
return clamp(velocityPixelsPerSecond / Math.max(1, screenSize), -MAX_VELOCITY_MAGNITUDE, MAX_VELOCITY_MAGNITUDE);
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Normalizes translation to -1...1 range (for gesture tracking).
|
|
19
|
+
* Used to convert pixel translation to normalized gesture values.
|
|
20
|
+
*/
|
|
21
|
+
const normalizeTranslation = (translation, dimension) => {
|
|
22
|
+
"worklet";
|
|
23
|
+
|
|
24
|
+
return clamp(translation / Math.max(1, dimension), -1, 1);
|
|
25
|
+
};
|
|
26
|
+
|
|
17
27
|
/**
|
|
18
28
|
* Calculates a normalized velocity that moves the current value toward zero.
|
|
19
29
|
* Used for spring-back animations when dismissing gestures.
|
|
@@ -78,6 +88,7 @@ const shouldPassDismissalThreshold = (translationPixels, velocityPixelsPerSecond
|
|
|
78
88
|
};
|
|
79
89
|
export const velocity = {
|
|
80
90
|
normalize,
|
|
91
|
+
normalizeTranslation,
|
|
81
92
|
calculateRestoreVelocity,
|
|
82
93
|
calculateProgressVelocity,
|
|
83
94
|
shouldPassDismissalThreshold
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clamp","MAX_VELOCITY_MAGNITUDE","NEAR_ZERO_THRESHOLD","normalize","velocityPixelsPerSecond","screenSize","Math","max","calculateRestoreVelocity","currentValueNormalized","baseVelocityNormalized","abs","directionTowardZero","sign","clampedVelocity","min","calculateProgressVelocity","animations","shouldDismiss","event","dimensions","directions","currentProgress","progress","value","targetProgress","progressDelta","progressDirection","normalizedVelocityX","velocityX","width","normalizedVelocityY","velocityY","height","normalizedTranslationX","translationX","normalizedTranslationY","translationY","supportsHorizontalGestures","horizontal","horizontalInverted","supportsVerticalGestures","vertical","verticalInverted","progressVelocityMagnitude","shouldPassDismissalThreshold","translationPixels","velocityWeight","normalizedTranslation","normalizedVelocity","projectedNormalizedPosition","exceedsThreshold","hasMovement","velocity"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/velocity.ts"],"mappings":";;AAIA,SAASA,KAAK,QAAQ,yBAAyB;AAgB/C,MAAMC,sBAAsB,GAAG,GAAG;AAClC,MAAMC,mBAAmB,GAAG,IAAI;;AAEhC;AACA;AACA;AACA;AACA,MAAMC,SAAS,GAAGA,CAACC,uBAA+B,EAAEC,UAAkB,KAAK;EAC1E,SAAS;;EACT,OAAOL,KAAK,CACXI,uBAAuB,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,UAAU,CAAC,EACjD,CAACJ,sBAAsB,EACvBA,sBACD,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,wBAAwB,GAAGA,CAChCC,sBAA8B,EAC9BC,sBAA8B,KAC1B;EACJ,SAAS;;EAET,
|
|
1
|
+
{"version":3,"names":["clamp","MAX_VELOCITY_MAGNITUDE","NEAR_ZERO_THRESHOLD","normalize","velocityPixelsPerSecond","screenSize","Math","max","normalizeTranslation","translation","dimension","calculateRestoreVelocity","currentValueNormalized","baseVelocityNormalized","abs","directionTowardZero","sign","clampedVelocity","min","calculateProgressVelocity","animations","shouldDismiss","event","dimensions","directions","currentProgress","progress","value","targetProgress","progressDelta","progressDirection","normalizedVelocityX","velocityX","width","normalizedVelocityY","velocityY","height","normalizedTranslationX","translationX","normalizedTranslationY","translationY","supportsHorizontalGestures","horizontal","horizontalInverted","supportsVerticalGestures","vertical","verticalInverted","progressVelocityMagnitude","shouldPassDismissalThreshold","translationPixels","velocityWeight","normalizedTranslation","normalizedVelocity","projectedNormalizedPosition","exceedsThreshold","hasMovement","velocity"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/velocity.ts"],"mappings":";;AAIA,SAASA,KAAK,QAAQ,yBAAyB;AAgB/C,MAAMC,sBAAsB,GAAG,GAAG;AAClC,MAAMC,mBAAmB,GAAG,IAAI;;AAEhC;AACA;AACA;AACA;AACA,MAAMC,SAAS,GAAGA,CAACC,uBAA+B,EAAEC,UAAkB,KAAK;EAC1E,SAAS;;EACT,OAAOL,KAAK,CACXI,uBAAuB,GAAGE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,UAAU,CAAC,EACjD,CAACJ,sBAAsB,EACvBA,sBACD,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMO,oBAAoB,GAAGA,CAACC,WAAmB,EAAEC,SAAiB,KAAK;EACxE,SAAS;;EACT,OAAOV,KAAK,CAACS,WAAW,GAAGH,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEG,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAGA,CAChCC,sBAA8B,EAC9BC,sBAA8B,KAC1B;EACJ,SAAS;;EAET,IAAIP,IAAI,CAACQ,GAAG,CAACF,sBAAsB,CAAC,GAAGV,mBAAmB,EAAE,OAAO,CAAC;EAEpE,MAAMa,mBAAmB,GAAGT,IAAI,CAACU,IAAI,CAACJ,sBAAsB,CAAC,IAAI,CAAC;EAClE,MAAMK,eAAe,GAAGX,IAAI,CAACY,GAAG,CAACZ,IAAI,CAACQ,GAAG,CAACD,sBAAsB,CAAC,EAAE,CAAC,CAAC;EAErE,OAAO,CAACE,mBAAmB,GAAGE,eAAe;AAC9C,CAAC;AAED,MAAME,yBAAyB,GAAGA,CAAC;EAClCC,UAAU;EACVC,aAAa;EACbC,KAAK;EACLC,UAAU;EACVC;AACuB,CAAC,KAAK;EAC7B,SAAS;;EAET,MAAMC,eAAe,GAAGL,UAAU,CAACM,QAAQ,CAACC,KAAK;EACjD,MAAMC,cAAc,GAAGP,aAAa,GAAG,CAAC,GAAG,CAAC;EAC5C,MAAMQ,aAAa,GAAGD,cAAc,GAAGH,eAAe;EAEtD,MAAMK,iBAAiB,GAAGD,aAAa,KAAK,CAAC,GAAG,CAAC,GAAGvB,IAAI,CAACU,IAAI,CAACa,aAAa,CAAC;EAE5E,MAAME,mBAAmB,GAAG5B,SAAS,CAACmB,KAAK,CAACU,SAAS,EAAET,UAAU,CAACU,KAAK,CAAC;EACxE,MAAMC,mBAAmB,GAAG/B,SAAS,CAACmB,KAAK,CAACa,SAAS,EAAEZ,UAAU,CAACa,MAAM,CAAC;EAEzE,MAAMC,sBAAsB,GAAG/B,IAAI,CAACQ,GAAG,CACtCQ,KAAK,CAACgB,YAAY,GAAGf,UAAU,CAACU,KACjC,CAAC;EACD,MAAMM,sBAAsB,GAAGjC,IAAI,CAACQ,GAAG,CACtCQ,KAAK,CAACkB,YAAY,GAAGjB,UAAU,CAACa,MACjC,CAAC;EAED,MAAMK,0BAA0B,GAC/BjB,UAAU,CAACkB,UAAU,IAAIlB,UAAU,CAACmB,kBAAkB;EAEvD,MAAMC,wBAAwB,GAC7BpB,UAAU,CAACqB,QAAQ,IAAIrB,UAAU,CAACsB,gBAAgB;EAEnD,IAAIC,yBAAyB,GAAG,CAAC;;EAEjC;EACA,IACCN,0BAA0B,KACzB,CAACG,wBAAwB,IACzBP,sBAAsB,IAAIE,sBAAsB,CAAC,EACjD;IACDQ,yBAAyB,GAAGzC,IAAI,CAACQ,GAAG,CAACiB,mBAAmB,CAAC;EAC1D,CAAC,MAAM,IAAIa,wBAAwB,EAAE;IACpCG,yBAAyB,GAAGzC,IAAI,CAACQ,GAAG,CAACoB,mBAAmB,CAAC;EAC1D,CAAC,MAAM;IACNa,yBAAyB,GAAGzC,IAAI,CAACC,GAAG,CACnCD,IAAI,CAACQ,GAAG,CAACiB,mBAAmB,CAAC,EAC7BzB,IAAI,CAACQ,GAAG,CAACoB,mBAAmB,CAC7B,CAAC;EACF;;EAEA;EACA,OACCJ,iBAAiB,GACjB9B,KAAK,CAAC+C,yBAAyB,EAAE,CAAC,EAAE9C,sBAAsB,CAAC;AAE7D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAM+C,4BAA4B,GAAGA,CACpCC,iBAAyB,EACzB7C,uBAA+B,EAC/BC,UAAkB,EAClB6C,cAAsB,KAClB;EACJ,SAAS;;EAET,MAAMC,qBAAqB,GAAGF,iBAAiB,GAAG3C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,UAAU,CAAC;EACzE,MAAM+C,kBAAkB,GAAGjD,SAAS,CAACC,uBAAuB,EAAEC,UAAU,CAAC;EAEzE,MAAMgD,2BAA2B,GAChCF,qBAAqB,GAAGC,kBAAkB,GAAGF,cAAc;EAE5D,MAAMI,gBAAgB,GAAGhD,IAAI,CAACQ,GAAG,CAACuC,2BAA2B,CAAC,GAAG,GAAG;EAEpE,MAAME,WAAW,GAAGN,iBAAiB,KAAK,CAAC,IAAI7C,uBAAuB,KAAK,CAAC;EAE5E,OAAOkD,gBAAgB,IAAIC,WAAW;AACvC,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAG;EACvBrD,SAAS;EACTK,oBAAoB;EACpBG,wBAAwB;EACxBQ,yBAAyB;EACzB6B;AACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const LIBRARY_NAME = "react-native-screen-transitions";
|
|
4
|
+
export const logger = {
|
|
5
|
+
error(message) {
|
|
6
|
+
"worklet";
|
|
7
|
+
|
|
8
|
+
console.error(`[${LIBRARY_NAME}] ${message}`);
|
|
9
|
+
},
|
|
10
|
+
warn(message) {
|
|
11
|
+
"worklet";
|
|
12
|
+
|
|
13
|
+
console.warn(`[${LIBRARY_NAME}] ${message}`);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export const error = message => new Error(`[${LIBRARY_NAME}] ${message}`);
|
|
17
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LIBRARY_NAME","logger","error","message","console","warn","Error"],"sourceRoot":"../../../../src","sources":["shared/utils/logger.ts"],"mappings":";;AAAA,MAAMA,YAAY,GAAG,iCAAiC;AAEtD,OAAO,MAAMC,MAAM,GAAG;EACrBC,KAAKA,CAACC,OAAe,EAAE;IACtB,SAAS;;IACTC,OAAO,CAACF,KAAK,CAAC,IAAIF,YAAY,KAAKG,OAAO,EAAE,CAAC;EAC9C,CAAC;EACDE,IAAIA,CAACF,OAAe,EAAE;IACrB,SAAS;;IACTC,OAAO,CAACC,IAAI,CAAC,IAAIL,YAAY,KAAKG,OAAO,EAAE,CAAC;EAC7C;AACD,CAAC;AAED,OAAO,MAAMD,KAAK,GAAIC,OAAe,IACpC,IAAIG,KAAK,CAAC,IAAIN,YAAY,KAAKG,OAAO,EAAE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adjusted-screen.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/adjusted-screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"adjusted-screen.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/adjusted-screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAiBpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD,eAAO,MAAM,cAAc,GAAI,yEAO5B,WAAW,4CA6Eb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-transition-aware-component.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/create-transition-aware-component.tsx"],"names":[],"mappings":"AAAA,wHAAwH;AACxH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,OAAO,CAAC;AAU7D,UAAU,qCAAqC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,qCAA0C;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-transition-aware-component.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/create-transition-aware-component.tsx"],"names":[],"mappings":"AAAA,wHAAwH;AACxH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,OAAO,CAAC;AAU7D,UAAU,qCAAqC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,qCAA0C;;;;;;;;;;;;;sEA6FnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen-container.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/screen-container.tsx"],"names":[],"mappings":"AASA,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,qDAAuB,KAAK,6CA0CtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../src/shared/configs/specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,gBAOzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../../src/shared/configs/specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,WAAW,EAAE,gBAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,gBAI7B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { MeasuredDimensions } from "react-native-reanimated";
|
|
|
2
2
|
import type { ScreenTransitionState } from "./types/animation.types";
|
|
3
3
|
import type { ActivationArea } from "./types/gesture.types";
|
|
4
4
|
import type { Layout } from "./types/screen.types";
|
|
5
|
+
import type { BaseStackRoute } from "./types/stack.types";
|
|
5
6
|
/**
|
|
6
7
|
* Masked view integration
|
|
7
8
|
*/
|
|
@@ -11,6 +12,10 @@ export declare const CONTAINER_STYLE_ID = "_ROOT_CONTAINER";
|
|
|
11
12
|
* Styles
|
|
12
13
|
*/
|
|
13
14
|
export declare const NO_STYLES: Readonly<{}>;
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new screen transition state object
|
|
17
|
+
*/
|
|
18
|
+
export declare const createScreenTransitionState: (route: BaseStackRoute, meta?: Record<string, unknown>) => ScreenTransitionState;
|
|
14
19
|
/**
|
|
15
20
|
* Default screen transition state
|
|
16
21
|
*/
|
|
@@ -41,4 +46,8 @@ export declare const DEFAULT_GESTURE_ACTIVATION_AREA: ActivationArea;
|
|
|
41
46
|
export declare const IS_WEB: boolean;
|
|
42
47
|
export declare const TRUE = 1;
|
|
43
48
|
export declare const FALSE = 0;
|
|
49
|
+
/**
|
|
50
|
+
* Small value for floating-point comparisons to handle animation/interpolation imprecision
|
|
51
|
+
*/
|
|
52
|
+
export declare const EPSILON = 0.00001;
|
|
44
53
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,cAAoB,CAAC;AAe3C;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACvC,OAAO,cAAc,EACrB,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,qBAQD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,qBAQ3C,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,yBAAyB,cAAoB,CAAC;AAC3D,eAAO,MAAM,6BAA6B;;;;;;;;EAQxC,CAAC;AACH,eAAO,MAAM,WAAW,iBAAkB,CAAC;AAC3C,eAAO,MAAM,UAAU,iBAAkB,CAAC;AAE1C,eAAO,MAAM,qBAAqB,GACjC,YAAY,MAAM,KAChB,kBAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,+BAA+B,OAAO,CAAC;AACpD,eAAO,MAAM,+BAA+B,EAAE,cAAyB,CAAC;AAExE,eAAO,MAAM,MAAM,SAAwB,CAAC;AAE5C,eAAO,MAAM,IAAI,IAAI,CAAC;AACtB,eAAO,MAAM,KAAK,IAAI,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,OAAO,UAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACX,wBAAwB,EAExB,MAAM,6BAA6B,CAAC;AAyFrC,wBAAgB,mBAAmB;;;;EA+ElC;AAED,wBAAgB,kBAAkB,6EAUjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GestureType } from "react-native-gesture-handler";
|
|
2
|
-
import {
|
|
2
|
+
import type { SharedValue } from "react-native-reanimated";
|
|
3
3
|
import type { GestureContextType, ScrollConfig } from "../../providers/gestures.provider";
|
|
4
4
|
import { type GestureStoreMap } from "../../stores/gesture.store";
|
|
5
5
|
interface BuildGesturesHookProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACX,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAGhF,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gBAAgB,GAAI,oCAG9B,sBAAsB,KAAG;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,aAAa,EAAE,WAAW,CAAC;IAC3B,sBAAsB,EAAE,eAAe,CAAC;CAoHxC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { GestureStateChangeEvent, GestureTouchEvent, GestureUpdateEvent, PanGestureHandlerEventPayload } from "react-native-gesture-handler";
|
|
2
|
+
import type { GestureStateManagerType } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gestureStateManager";
|
|
3
|
+
import { type SharedValue } from "react-native-reanimated";
|
|
4
|
+
import type { ScrollConfig } from "../../providers/gestures.provider";
|
|
5
|
+
interface UseScreenGestureHandlersProps {
|
|
6
|
+
scrollConfig: SharedValue<ScrollConfig | null>;
|
|
7
|
+
ancestorIsDismissing?: SharedValue<number> | null;
|
|
8
|
+
canDismiss: boolean;
|
|
9
|
+
handleDismiss: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const useScreenGestureHandlers: ({ scrollConfig, ancestorIsDismissing, canDismiss, handleDismiss, }: UseScreenGestureHandlersProps) => {
|
|
12
|
+
onTouchesDown: (e: GestureTouchEvent) => void;
|
|
13
|
+
onTouchesMove: (e: GestureTouchEvent, manager: GestureStateManagerType) => void;
|
|
14
|
+
onStart: () => void;
|
|
15
|
+
onUpdate: (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;
|
|
16
|
+
onEnd: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=use-screen-gesture-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-screen-gesture-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-screen-gesture-handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,6BAA6B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AACjI,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAW3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAmBtE,UAAU,6BAA6B;IACtC,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,wBAAwB,GAAI,oEAKtC,6BAA6B;;;;;;CA8X/B,CAAC"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
/** biome-ignore-all lint/style/noNonNullAssertion: <Will always consume context from GestureProvider> */
|
|
2
|
-
import type { LayoutChangeEvent } from "react-native";
|
|
2
|
+
import type { GestureResponderEvent, LayoutChangeEvent } from "react-native";
|
|
3
3
|
import type { ReanimatedScrollEvent } from "react-native-reanimated/lib/typescript/hook/commonTypes";
|
|
4
4
|
interface ScrollProgressHookProps {
|
|
5
5
|
onScroll?: (event: ReanimatedScrollEvent) => void;
|
|
6
6
|
onContentSizeChange?: (width: number, height: number) => void;
|
|
7
7
|
onLayout?: (event: LayoutChangeEvent) => void;
|
|
8
|
+
onTouchStart?: (event: GestureResponderEvent) => void;
|
|
9
|
+
onTouchEnd?: (event: GestureResponderEvent) => void;
|
|
8
10
|
}
|
|
9
11
|
export declare const useScrollRegistry: (props: ScrollProgressHookProps) => {
|
|
10
12
|
scrollHandler: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
|
|
11
13
|
onContentSizeChange: (width: number, height: number) => void;
|
|
12
14
|
onLayout: (event: LayoutChangeEvent) => void;
|
|
15
|
+
onTouchStart: (event: GestureResponderEvent) => void;
|
|
16
|
+
onTouchEnd: (event: GestureResponderEvent) => void;
|
|
13
17
|
};
|
|
14
18
|
export {};
|
|
15
19
|
//# sourceMappingURL=use-scroll-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scroll-registry.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-scroll-registry.tsx"],"names":[],"mappings":"AAAA,yGAAyG;AAGzG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"use-scroll-registry.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-scroll-registry.tsx"],"names":[],"mappings":"AAAA,yGAAyG;AAGzG,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAIrG,UAAU,uBAAuB;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,iBAAiB,GAAI,OAAO,uBAAuB;;;;;;CA6J/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-open-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/lifecycle/use-open-transition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-open-transition.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/lifecycle/use-open-transition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAyBtE;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,iBAAiB;;;EAoB7B"}
|
|
@@ -30,6 +30,13 @@ export interface ScreenState<TNavigation extends BaseStackNavigation = BaseStack
|
|
|
30
30
|
* Navigation object for this screen.
|
|
31
31
|
*/
|
|
32
32
|
navigation: TNavigation;
|
|
33
|
+
/**
|
|
34
|
+
* Programmatically snap to a specific snap point by index.
|
|
35
|
+
* Only works if the screen has snapPoints defined.
|
|
36
|
+
*
|
|
37
|
+
* @param index - The index of the snap point to snap to (0-based)
|
|
38
|
+
*/
|
|
39
|
+
snapTo: (index: number) => void;
|
|
33
40
|
}
|
|
34
41
|
/**
|
|
35
42
|
* Hook to access screen state information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-screen-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-screen-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-screen-state.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-screen-state.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAStD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAKnE,MAAM,WAAW,WAAW,CAC3B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB;IAE7D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,sBAAsB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,WAAW,SAAS,mBAAmB,GAAG,mBAAmB,KACzD,WAAW,CAAC,WAAW,CAAC,CAsF5B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type BackdropBehavior = "block" | "passthrough" | "dismiss";
|
|
2
|
+
interface BackdropPointerEventsResult {
|
|
3
|
+
pointerEvents: "box-none" | undefined;
|
|
4
|
+
backdropBehavior: BackdropBehavior;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Returns pointer events and backdrop behavior based on screen options.
|
|
8
|
+
*
|
|
9
|
+
* - Explicit `backdropBehavior` option takes precedence
|
|
10
|
+
* - Component stacks default to 'passthrough' (box-none)
|
|
11
|
+
* - Other stacks default to 'block' (undefined = normal touch handling)
|
|
12
|
+
*/
|
|
13
|
+
export declare function useBackdropPointerEvents(): BackdropPointerEventsResult;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=use-backdrop-pointer-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-backdrop-pointer-events.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/use-backdrop-pointer-events.ts"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;AAE5D,UAAU,2BAA2B;IACpC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,gBAAgB,EAAE,gBAAgB,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,2BAA2B,CAatE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"gestures.provider.d.ts","sourceRoot":"","sources":["../../../../src/shared/providers/gestures.provider.tsx"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,WAAW,EAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC/D,aAAa,EAAE,WAAW,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,sBAAsB,EAAE,eAAe,CAAC;IACxC,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,0BAA0B;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MACN,qBAAqB,kDACI,iBAAiB,iCAsCzC,CAAC"}
|
|
@@ -120,6 +120,15 @@ export interface ScreenInterpolationProps {
|
|
|
120
120
|
* Falls back to `progress` when not in blank-stack.
|
|
121
121
|
*/
|
|
122
122
|
stackProgress: number;
|
|
123
|
+
/**
|
|
124
|
+
* Animated index of the current snap point.
|
|
125
|
+
* Interpolates between indices during gestures/animations.
|
|
126
|
+
* - Returns -1 if no snap points are defined
|
|
127
|
+
* - Returns 0 when at or below first snap point
|
|
128
|
+
* - Returns fractional values between snap points (e.g., 1.5 = halfway between snap 1 and 2)
|
|
129
|
+
* - Returns length-1 when at or above last snap point
|
|
130
|
+
*/
|
|
131
|
+
snapIndex: number;
|
|
123
132
|
/**
|
|
124
133
|
* Function that provides access to bounds builders for creating shared element transitions.
|
|
125
134
|
*/
|
|
@@ -151,7 +160,17 @@ export type TransitionInterpolatedStyle = {
|
|
|
151
160
|
*/
|
|
152
161
|
contentStyle?: StyleProps;
|
|
153
162
|
/**
|
|
154
|
-
* Animated style for
|
|
163
|
+
* Animated style for the semi-transparent backdrop layer behind screen content.
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* backdropStyle: {
|
|
167
|
+
* backgroundColor: "black",
|
|
168
|
+
* opacity: interpolate(progress, [0, 1], [0, 0.5]),
|
|
169
|
+
* }
|
|
170
|
+
*/
|
|
171
|
+
backdropStyle?: StyleProps;
|
|
172
|
+
/**
|
|
173
|
+
* @deprecated Use `backdropStyle` instead. Will be removed in next major version.
|
|
155
174
|
*/
|
|
156
175
|
overlayStyle?: StyleProps;
|
|
157
176
|
/**
|
|
@@ -164,10 +183,26 @@ export type TransitionInterpolatedStyle = {
|
|
|
164
183
|
*/
|
|
165
184
|
export type AnimationConfig = WithSpringConfig | WithTimingConfig;
|
|
166
185
|
/**
|
|
167
|
-
* Defines separate animation configurations for
|
|
186
|
+
* Defines separate animation configurations for screen transitions and snap point changes.
|
|
168
187
|
*/
|
|
169
188
|
export interface TransitionSpec {
|
|
189
|
+
/**
|
|
190
|
+
* Animation config for opening/entering a screen.
|
|
191
|
+
*/
|
|
170
192
|
open?: AnimationConfig;
|
|
193
|
+
/**
|
|
194
|
+
* Animation config for closing/exiting a screen.
|
|
195
|
+
*/
|
|
171
196
|
close?: AnimationConfig;
|
|
197
|
+
/**
|
|
198
|
+
* Animation config for expanding to a higher snap point.
|
|
199
|
+
* Uses lower intensity than `open` to match smaller movement distances.
|
|
200
|
+
*/
|
|
201
|
+
expand?: AnimationConfig;
|
|
202
|
+
/**
|
|
203
|
+
* Animation config for collapsing to a lower snap point.
|
|
204
|
+
* Uses lower intensity than `close` to match smaller movement distances.
|
|
205
|
+
*/
|
|
206
|
+
collapse?: AnimationConfig;
|
|
172
207
|
}
|
|
173
208
|
//# sourceMappingURL=animation.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/animation.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,KAAK,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAC;IAE/B;;OAEG;IACH,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAExC;;OAEG;IACH,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;;OAGG;IACH,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAE5C;;;OAGG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,wBAAwB,KAC3B,2BAA2B,CAAC;AAEjC,MAAM,MAAM,2BAA2B,GAAG;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B;;OAEG;IACH,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"animation.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/animation.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -116,5 +116,31 @@ export type ScreenTransitionConfig = {
|
|
|
116
116
|
* @default false
|
|
117
117
|
*/
|
|
118
118
|
experimental_enableHighRefreshRate?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Describes heights where a screen can rest, as fractions of screen height.
|
|
121
|
+
* Pass an array of ascending values from 0 to 1.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* snapPoints={[0.5, 1.0]} // 50% and 100% of screen height
|
|
125
|
+
*
|
|
126
|
+
* @default [1.0]
|
|
127
|
+
*/
|
|
128
|
+
snapPoints?: number[];
|
|
129
|
+
/**
|
|
130
|
+
* The initial snap point index when the screen opens.
|
|
131
|
+
*
|
|
132
|
+
* @default 0
|
|
133
|
+
*/
|
|
134
|
+
initialSnapIndex?: number;
|
|
135
|
+
/**
|
|
136
|
+
* Controls how touches interact with the backdrop area (outside the screen content).
|
|
137
|
+
*
|
|
138
|
+
* - `'block'`: Backdrop catches all touches (default for most screens)
|
|
139
|
+
* - `'passthrough'`: Touches pass through to content behind (default for component stacks)
|
|
140
|
+
* - `'dismiss'`: Tapping backdrop dismisses the screen
|
|
141
|
+
*
|
|
142
|
+
* @default 'block' (or 'passthrough' for component stacks)
|
|
143
|
+
*/
|
|
144
|
+
backdropBehavior?: "block" | "passthrough" | "dismiss";
|
|
119
145
|
};
|
|
120
146
|
//# sourceMappingURL=screen.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAEzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnD;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACX,uBAAuB,EACvB,cAAc,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG;IACvE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IAEzD;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;IAEnD;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;;OASG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAE7C;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;CACvD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AnimationStoreMap } from "../../stores/animation.store";
|
|
2
|
+
import type { TransitionSpec } from "../../types/animation.types";
|
|
3
|
+
interface AnimateToProgressProps {
|
|
4
|
+
/**
|
|
5
|
+
* Target for the animation:
|
|
6
|
+
* - "open" = animate to progress 1
|
|
7
|
+
* - "close" = animate to progress 0
|
|
8
|
+
* - number = animate to specific progress value (e.g., 0.5 for snap point)
|
|
9
|
+
*/
|
|
10
|
+
target: "open" | "close" | number;
|
|
11
|
+
spec?: TransitionSpec;
|
|
12
|
+
onAnimationFinish?: (finished: boolean) => void;
|
|
13
|
+
animations: AnimationStoreMap;
|
|
14
|
+
/** Optional initial velocity for spring-based progress (units: progress/sec). */
|
|
15
|
+
initialVelocity?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const animateToProgress: ({ target, spec, onAnimationFinish, animations, initialVelocity, }: AnimateToProgressProps) => void;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=animate-to-progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animate-to-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/animate-to-progress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,UAAU,sBAAsB;IAC/B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,GAAI,mEAM/B,sBAAsB,SAsDxB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GestureStateManagerType } from "react-native-gesture-handler/lib/typescript/handlers/gestures/gestureStateManager";
|
|
2
2
|
import type { SharedValue } from "react-native-reanimated";
|
|
3
|
+
import type { ScrollConfig } from "../../providers/gestures.provider";
|
|
3
4
|
import { type ActivationArea, type GestureActivationArea, GestureOffsetState } from "../../types/gesture.types";
|
|
4
5
|
import type { Layout } from "../../types/screen.types";
|
|
5
6
|
type Directions = {
|
|
@@ -7,6 +8,7 @@ type Directions = {
|
|
|
7
8
|
verticalInverted: boolean;
|
|
8
9
|
horizontal: boolean;
|
|
9
10
|
horizontalInverted: boolean;
|
|
11
|
+
snapAxisInverted?: boolean;
|
|
10
12
|
};
|
|
11
13
|
interface CheckGestureActivationProps {
|
|
12
14
|
initialTouch: {
|
|
@@ -82,5 +84,26 @@ export declare function shouldActivateOrFail(params: ShouldActivateOrFailProps):
|
|
|
82
84
|
* Since we're using onTouchesMove to activate our pan, faillOffset and activateOffset don't actually work. In that case we'll create this function to use in onTouchesMove which acts simarly to the original functionality.
|
|
83
85
|
*/
|
|
84
86
|
export declare const applyOffsetRules: ({ initialTouch, touch, directions, manager, gestureOffsetState, activationArea, dimensions, responseDistance, }: CheckGestureActivationProps) => ReturnValues;
|
|
87
|
+
interface ScrollAwareActivationParams {
|
|
88
|
+
swipeInfo: {
|
|
89
|
+
isSwipingDown: boolean;
|
|
90
|
+
isSwipingUp: boolean;
|
|
91
|
+
isSwipingRight: boolean;
|
|
92
|
+
isSwipingLeft: boolean;
|
|
93
|
+
};
|
|
94
|
+
directions: Directions;
|
|
95
|
+
scrollConfig: ScrollConfig | null;
|
|
96
|
+
hasSnapPoints?: boolean;
|
|
97
|
+
canExpandMore?: boolean;
|
|
98
|
+
}
|
|
99
|
+
type GestureDirection = "vertical" | "vertical-inverted" | "horizontal" | "horizontal-inverted";
|
|
100
|
+
/**
|
|
101
|
+
* Checks if a gesture should activate based on scroll position.
|
|
102
|
+
* Returns the direction to activate for, or null if activation should not occur.
|
|
103
|
+
*/
|
|
104
|
+
export declare function checkScrollAwareActivation({ swipeInfo, directions, scrollConfig, hasSnapPoints, canExpandMore, }: ScrollAwareActivationParams): {
|
|
105
|
+
shouldActivate: boolean;
|
|
106
|
+
direction: GestureDirection | null;
|
|
107
|
+
};
|
|
85
108
|
export {};
|
|
86
109
|
//# sourceMappingURL=check-gesture-activation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-gesture-activation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/check-gesture-activation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AACjI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,kBAAkB,EAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,UAAU,GAAG;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"check-gesture-activation.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/check-gesture-activation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AACjI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,kBAAkB,EAElB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,KAAK,UAAU,GAAG;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,UAAU,2BAA2B;IACpC,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,KAAK,eAAe,GAAG;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,UAAU,yBAAyB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,YAAY;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACvB;AAaD,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAc5E;AAED,wBAAgB,sBAAsB,CACrC,YAAY,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,eAAe,EACtB,gBAAgB,CAAC,EAAE,MAAM;;;;;EAczB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;EAmBhE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,yBAAyB;;;EAyFrE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,iHAS9B,2BAA2B,KAAG,YA2EhC,CAAC;AAEF,UAAU,2BAA2B;IACpC,SAAS,EAAE;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,KAAK,gBAAgB,GAClB,UAAU,GACV,mBAAmB,GACnB,YAAY,GACZ,qBAAqB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAC1C,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,EACb,aAAa,GACb,EAAE,2BAA2B,GAAG;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACnC,CA6FA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface DetermineSnapTargetProps {
|
|
2
|
+
currentProgress: number;
|
|
3
|
+
snapPoints: number[];
|
|
4
|
+
/** Velocity along the snap axis (positive = toward dismiss) */
|
|
5
|
+
velocity: number;
|
|
6
|
+
/** Screen dimension along the snap axis (width or height) */
|
|
7
|
+
dimension: number;
|
|
8
|
+
/** How much velocity affects the snap decision (0-1). Default 0.15 */
|
|
9
|
+
velocityFactor?: number;
|
|
10
|
+
/** Whether dismiss (progress=0) is allowed. Default true */
|
|
11
|
+
canDismiss?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface DetermineSnapTargetResult {
|
|
14
|
+
targetProgress: number;
|
|
15
|
+
shouldDismiss: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Determines which snap point to animate to based on current progress and velocity.
|
|
19
|
+
*
|
|
20
|
+
* Logic: Snap to whichever point is closest, factoring in velocity.
|
|
21
|
+
* The "zones" between snap points are split at midpoints.
|
|
22
|
+
* Velocity can push you into the next zone.
|
|
23
|
+
*/
|
|
24
|
+
export declare function determineSnapTarget({ currentProgress, snapPoints, velocity, dimension, velocityFactor, canDismiss, }: DetermineSnapTargetProps): DetermineSnapTargetResult;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=determine-snap-target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"determine-snap-target.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/gesture/determine-snap-target.ts"],"names":[],"mappings":"AAAA,UAAU,wBAAwB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,yBAAyB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EACnC,eAAe,EACf,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAqB,EACrB,UAAiB,GACjB,EAAE,wBAAwB,GAAG,yBAAyB,CA0CtD"}
|