react-native-screen-transitions 3.2.0 → 3.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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/hooks/gestures/use-build-gestures.js +36 -188
- package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +334 -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 +61 -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/providers/screen/styles.provider.js +41 -32
- package/lib/commonjs/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +11 -7
- package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -0
- package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +71 -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/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/hooks/gestures/use-build-gestures.js +36 -187
- package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +328 -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 +63 -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/providers/screen/styles.provider.js +41 -32
- package/lib/module/shared/providers/screen/styles.provider.js.map +1 -1
- package/lib/module/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +9 -5
- package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -0
- package/lib/module/shared/utils/gesture/check-gesture-activation.js +70 -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/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/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 +34 -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 +14 -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/providers/screen/styles.provider.d.ts.map +1 -1
- package/lib/typescript/shared/types/animation.types.d.ts +28 -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 +24 -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/package.json +29 -2
- package/src/shared/__tests__/determine-snap-target.test.ts +268 -0
- package/src/shared/__tests__/gesture-activation.test.ts +247 -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/hooks/gestures/use-build-gestures.tsx +33 -253
- package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +436 -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 +106 -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/providers/screen/styles.provider.tsx +40 -34
- package/src/shared/types/animation.types.ts +29 -2
- package/src/shared/types/screen.types.ts +29 -0
- package/src/shared/utils/animation/{start-screen-transition.ts → animate-to-progress.ts} +19 -7
- package/src/shared/utils/gesture/check-gesture-activation.ts +78 -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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useDerivedValue","useKeys","useSharedValueState","useStack","useScreenState","routes","scenes","routeKeys","optimisticFocusedIndex","current","index","indexOf","route","key","focusedIndex","globalIndex","get","Math","max","min","length","focusedScene","options","descriptor","focusedRoute","meta","navigation"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-screen-state.tsx"],"mappings":";;AACA,SAASA,OAAO,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","runOnUI","useDerivedValue","DefaultSnapSpec","useKeys","AnimationStore","animateToProgress","useSharedValueState","useStack","useScreenState","routes","scenes","routeKeys","optimisticFocusedIndex","current","index","indexOf","route","key","focusedIndex","globalIndex","get","Math","max","min","length","focusedScene","currentOptions","options","snapPoints","animations","getAll","sortedSnapPoints","sort","a","b","animatedSnapIndex","progress","value","i","t","snapTo","targetIndex","console","warn","targetProgress","target","spec","open","descriptor","transitionSpec","expand","close","collapse","focusedRoute","meta","navigation"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-screen-state.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useKeys } from "../providers/screen/keys.provider";
|
|
4
|
+
import { useStackCoreContext } from "../providers/stack/core.provider";
|
|
5
|
+
import { StackType } from "../types/stack.types";
|
|
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 function useBackdropPointerEvents() {
|
|
14
|
+
const {
|
|
15
|
+
current
|
|
16
|
+
} = useKeys();
|
|
17
|
+
const {
|
|
18
|
+
flags
|
|
19
|
+
} = useStackCoreContext();
|
|
20
|
+
const isComponentStack = flags.STACK_TYPE === StackType.COMPONENT;
|
|
21
|
+
const backdropBehavior = current.options.backdropBehavior ?? (isComponentStack ? "passthrough" : "block");
|
|
22
|
+
const pointerEvents = backdropBehavior === "passthrough" ? "box-none" : undefined;
|
|
23
|
+
return {
|
|
24
|
+
pointerEvents,
|
|
25
|
+
backdropBehavior
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=use-backdrop-pointer-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useKeys","useStackCoreContext","StackType","useBackdropPointerEvents","current","flags","isComponentStack","STACK_TYPE","COMPONENT","backdropBehavior","options","pointerEvents","undefined"],"sourceRoot":"../../../../src","sources":["shared/hooks/use-backdrop-pointer-events.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,mCAAmC;AAC3D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,SAAS,QAAQ,sBAAsB;AAShD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAAA,EAAgC;EACvE,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,OAAO,CAAC,CAAC;EAC7B,MAAM;IAAEK;EAAM,CAAC,GAAGJ,mBAAmB,CAAC,CAAC;EAEvC,MAAMK,gBAAgB,GAAGD,KAAK,CAACE,UAAU,KAAKL,SAAS,CAACM,SAAS;EACjE,MAAMC,gBAAkC,GACvCL,OAAO,CAACM,OAAO,CAACD,gBAAgB,KAC/BH,gBAAgB,GAAG,aAAa,GAAG,OAAO,CAAC;EAE7C,MAAMK,aAAa,GAClBF,gBAAgB,KAAK,aAAa,GAAG,UAAU,GAAGG,SAAS;EAE5D,OAAO;IAAED,aAAa;IAAEF;EAAiB,CAAC;AAC3C","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ import { StyleSheet, View } from "react-native";
|
|
|
4
4
|
import { GestureDetector } from "react-native-gesture-handler";
|
|
5
5
|
import { useSharedValue } from "react-native-reanimated";
|
|
6
6
|
import { useBuildGestures } from "../hooks/gestures/use-build-gestures";
|
|
7
|
-
import {
|
|
7
|
+
import { useBackdropPointerEvents } from "../hooks/use-backdrop-pointer-events";
|
|
8
8
|
import createProvider from "../utils/create-provider";
|
|
9
9
|
import { useKeys } from "./screen/keys.provider";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -19,9 +19,11 @@ export const {
|
|
|
19
19
|
const {
|
|
20
20
|
current
|
|
21
21
|
} = useKeys();
|
|
22
|
-
const pointerEvents = useStackPointerEvents();
|
|
23
22
|
const ancestorContext = useGestureContext();
|
|
24
23
|
const scrollConfig = useSharedValue(null);
|
|
24
|
+
const {
|
|
25
|
+
pointerEvents
|
|
26
|
+
} = useBackdropPointerEvents();
|
|
25
27
|
const hasGestures = current.options.gestureEnabled === true;
|
|
26
28
|
const {
|
|
27
29
|
panGesture,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","useBackdropPointerEvents","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","ancestorContext","scrollConfig","pointerEvents","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,SAASC,wBAAwB,QAAQ,sCAAsC;AAE/E,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA0BjD,OAAO,MAAM;EACZC,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,cAAc,CAAC,eAAe,EAAE;EAAEO,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAC7B,MAAMS,eAAe,GAAGJ,iBAAiB,CAAC,CAAC;EAC3C,MAAMK,YAAY,GAAGd,cAAc,CAAsB,IAAI,CAAC;EAC9D,MAAM;IAAEe;EAAc,CAAC,GAAGb,wBAAwB,CAAC,CAAC;EAEpD,MAAMc,WAAW,GAAGJ,OAAO,CAACK,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzErB,gBAAgB,CAAC;IAChBa,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMU,KAAyB,GAAG;IACjCJ,UAAU;IACVC,aAAa;IACbN,YAAY;IACZO,aAAa;IACbC,sBAAsB;IACtBT,eAAe;IACfK,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNO,KAAK;IACLZ,QAAQ,eACPL,IAAA,CAACP,eAAe;MAACyB,OAAO,EAAEL,UAAW;MAAAR,QAAA,eACpCL,IAAA,CAACR,IAAI;QAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;QAACZ,aAAa,EAAEA,aAAc;QAAAJ,QAAA,EAC1DA;MAAQ,CACJ;IAAC,CACS;EAEnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMe,MAAM,GAAG7B,UAAU,CAAC+B,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ScreenContainer } from "../../components/screen-container";
|
|
4
4
|
import { ScreenLifecycle } from "../../components/screen-lifecycle";
|
|
5
5
|
import { ScreenGestureProvider } from "../gestures.provider";
|
|
6
6
|
import { KeysProvider } from "./keys.provider";
|
|
@@ -21,7 +21,7 @@ export function ScreenComposer({
|
|
|
21
21
|
next: next,
|
|
22
22
|
children: /*#__PURE__*/_jsx(ScreenGestureProvider, {
|
|
23
23
|
children: /*#__PURE__*/_jsx(ScreenStylesProvider, {
|
|
24
|
-
children: /*#__PURE__*/_jsx(
|
|
24
|
+
children: /*#__PURE__*/_jsx(ScreenContainer, {
|
|
25
25
|
children: children
|
|
26
26
|
})
|
|
27
27
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ScreenContainer","ScreenLifecycle","ScreenGestureProvider","KeysProvider","ScreenStylesProvider","jsx","_jsx","ScreenComposer","previous","current","next","children"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/screen-composer.tsx"],"mappings":";;AACA,SAASA,eAAe,QAAQ,mCAAmC;AACnE,SAASC,eAAe,QAAQ,mCAAmC;AACnE,SAASC,qBAAqB,QAAQ,sBAAsB;AAC5D,SAA8BC,YAAY,QAAQ,iBAAiB;AACnE,SAASC,oBAAoB,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASzD,OAAO,SAASC,cAAcA,CAAqC;EAClEC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC;AACmB,CAAC,EAAE;EACtB,oBACCL,IAAA,CAACL,eAAe;IAACQ,OAAO,EAAEA,OAAQ;IAACD,QAAQ,EAAEA,QAAS;IAAAG,QAAA,eACrDL,IAAA,CAACH,YAAY;MAACK,QAAQ,EAAEA,QAAS;MAACC,OAAO,EAAEA,OAAQ;MAACC,IAAI,EAAEA,IAAK;MAAAC,QAAA,eAC9DL,IAAA,CAACJ,qBAAqB;QAAAS,QAAA,eACrBL,IAAA,CAACF,oBAAoB;UAAAO,QAAA,eACpBL,IAAA,CAACN,eAAe;YAAAW,QAAA,EAAEA;UAAQ,CAAkB;QAAC,CACxB;MAAC,CACD;IAAC,CACX;EAAC,CACC,CAAC;AAEpB","ignoreList":[]}
|
|
@@ -17,48 +17,57 @@ export function ScreenStylesProvider({
|
|
|
17
17
|
currentInterpolator
|
|
18
18
|
} = _useScreenAnimation();
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Tracks when user starts a gesture while another screen is still closing.
|
|
22
|
+
* This persists until both the gesture ends AND the closing animation completes.
|
|
23
|
+
*/
|
|
24
|
+
const isGesturingDuringCloseAnimation = useSharedValue(false);
|
|
22
25
|
const stylesMap = useDerivedValue(() => {
|
|
23
26
|
"worklet";
|
|
24
27
|
|
|
25
28
|
const props = screenInterpolatorProps.value;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const {
|
|
30
|
+
current,
|
|
31
|
+
next,
|
|
32
|
+
progress,
|
|
33
|
+
stackProgress
|
|
34
|
+
} = props;
|
|
35
|
+
const isDragging = current.gesture.isDragging;
|
|
36
|
+
const isNextClosing = !!next?.closing;
|
|
37
|
+
if (isDragging && isNextClosing) {
|
|
38
|
+
isGesturingDuringCloseAnimation.value = true;
|
|
31
39
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!props.current.gesture.isDragging && !props.next?.closing && hasTriggeredGestureWhileInFlight.value) {
|
|
35
|
-
hasTriggeredGestureWhileInFlight.value = false;
|
|
40
|
+
if (!isDragging && !isNextClosing) {
|
|
41
|
+
isGesturingDuringCloseAnimation.value = false;
|
|
36
42
|
}
|
|
43
|
+
const isInGestureMode = isDragging || isGesturingDuringCloseAnimation.value;
|
|
44
|
+
const hasPushedScreenWhileClosing = !isInGestureMode && isNextClosing && stackProgress > progress;
|
|
37
45
|
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
const interpolator =
|
|
46
|
+
// Select interpolator
|
|
47
|
+
// - If in gesture mode, use current screen's interpolator since we're driving
|
|
48
|
+
// the animation from this screen (dragging back to dismiss next).
|
|
49
|
+
const interpolator = isInGestureMode ? currentInterpolator : nextInterpolator ?? currentInterpolator;
|
|
50
|
+
if (!interpolator) return NO_STYLES;
|
|
42
51
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
} : props;
|
|
52
|
+
// Build effective props with corrected progress
|
|
53
|
+
// - Gesture mode: use current.progress only (avoids jumps during drag)
|
|
54
|
+
// - Pushed while closing: use stackProgress (includes new screen)
|
|
55
|
+
// - Normal: use derived progress as-is
|
|
56
|
+
|
|
57
|
+
let effectiveProgress = progress;
|
|
58
|
+
let effectiveNext = next;
|
|
59
|
+
if (isInGestureMode) {
|
|
60
|
+
effectiveProgress = current.progress;
|
|
61
|
+
effectiveNext = undefined;
|
|
62
|
+
} else if (hasPushedScreenWhileClosing) {
|
|
63
|
+
effectiveProgress = stackProgress;
|
|
64
|
+
}
|
|
57
65
|
try {
|
|
58
|
-
if (!interpolator) return NO_STYLES;
|
|
59
66
|
return interpolator({
|
|
60
|
-
...
|
|
61
|
-
|
|
67
|
+
...props,
|
|
68
|
+
progress: effectiveProgress,
|
|
69
|
+
next: effectiveNext,
|
|
70
|
+
bounds: createBounds(props)
|
|
62
71
|
});
|
|
63
72
|
} catch (err) {
|
|
64
73
|
if (__DEV__) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","useSharedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","nextInterpolator","currentInterpolator","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","useDerivedValue","useSharedValue","NO_STYLES","_useScreenAnimation","createBounds","jsx","_jsx","ScreenStylesContext","ScreenStylesProvider","children","parentCtx","screenInterpolatorProps","nextInterpolator","currentInterpolator","isGesturingDuringCloseAnimation","stylesMap","props","value","current","next","progress","stackProgress","isDragging","gesture","isNextClosing","closing","isInGestureMode","hasPushedScreenWhileClosing","interpolator","effectiveProgress","effectiveNext","undefined","bounds","err","__DEV__","console","warn","ancestorStylesMaps","Provider","useScreenStyles","ctx","Error"],"sourceRoot":"../../../../../src","sources":["shared/providers/screen/styles.provider.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js}
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { runOnJS } from "react-native-reanimated";
|
|
4
4
|
import { FALSE, TRUE } from "../../constants";
|
|
5
5
|
import { animate } from "./animate";
|
|
6
|
-
export const
|
|
6
|
+
export const animateToProgress = ({
|
|
7
7
|
target,
|
|
8
8
|
spec,
|
|
9
9
|
onAnimationFinish,
|
|
@@ -12,8 +12,12 @@ export const startScreenTransition = ({
|
|
|
12
12
|
}) => {
|
|
13
13
|
"worklet";
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
const
|
|
15
|
+
// Determine target value and direction
|
|
16
|
+
const isClosing = target === "close" || typeof target === "number" && target === 0;
|
|
17
|
+
const value = typeof target === "number" ? target : target === "open" ? 1 : 0;
|
|
18
|
+
|
|
19
|
+
// Select spec based on direction (closing uses close spec, otherwise open)
|
|
20
|
+
const config = isClosing ? spec?.close : spec?.open;
|
|
17
21
|
const isSpringConfig = !!config && !("duration" in config) && !("easing" in config);
|
|
18
22
|
const effectiveConfig = isSpringConfig && typeof initialVelocity === "number" ? {
|
|
19
23
|
...config,
|
|
@@ -25,7 +29,7 @@ export const startScreenTransition = ({
|
|
|
25
29
|
closing,
|
|
26
30
|
entering
|
|
27
31
|
} = animations;
|
|
28
|
-
if (
|
|
32
|
+
if (isClosing) {
|
|
29
33
|
closing.set(TRUE);
|
|
30
34
|
entering.set(FALSE);
|
|
31
35
|
} else {
|
|
@@ -50,4 +54,4 @@ export const startScreenTransition = ({
|
|
|
50
54
|
animating.set(FALSE);
|
|
51
55
|
}));
|
|
52
56
|
};
|
|
53
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=animate-to-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["runOnJS","FALSE","TRUE","animate","animateToProgress","target","spec","onAnimationFinish","animations","initialVelocity","isClosing","value","config","close","open","isSpringConfig","effectiveConfig","velocity","progress","animating","closing","entering","set","finished"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/animate-to-progress.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,yBAAyB;AACjD,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAiB;AAG7C,SAASC,OAAO,QAAQ,WAAW;AAiBnC,OAAO,MAAMC,iBAAiB,GAAGA,CAAC;EACjCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBC,UAAU;EACVC;AACuB,CAAC,KAAK;EAC7B,SAAS;;EAET;EACA,MAAMC,SAAS,GACdL,MAAM,KAAK,OAAO,IAAK,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,CAAE;EACnE,MAAMM,KAAK,GAAG,OAAON,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAGA,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;;EAE7E;EACA,MAAMO,MAAM,GAAGF,SAAS,GAAGJ,IAAI,EAAEO,KAAK,GAAGP,IAAI,EAAEQ,IAAI;EAEnD,MAAMC,cAAc,GACnB,CAAC,CAACH,MAAM,IAAI,EAAE,UAAU,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC;EAE7D,MAAMI,eAAe,GACpBD,cAAc,IAAI,OAAON,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGG,MAAM;IAAEK,QAAQ,EAAER;EAAgB,CAAC,GACxCG,MAAM;EAEV,MAAM;IAAEM,QAAQ;IAAEC,SAAS;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGb,UAAU;EAE7D,IAAIE,SAAS,EAAE;IACdU,OAAO,CAACE,GAAG,CAACpB,IAAI,CAAC;IACjBmB,QAAQ,CAACC,GAAG,CAACrB,KAAK,CAAC;EACpB,CAAC,MAAM;IACNoB,QAAQ,CAACC,GAAG,CAACpB,IAAI,CAAC;EACnB;EAEA,IAAI,CAACU,MAAM,EAAE;IACZO,SAAS,CAACG,GAAG,CAACrB,KAAK,CAAC;IACpBiB,QAAQ,CAACI,GAAG,CAACX,KAAK,CAAC;IAEnB,IAAIJ,iBAAiB,EAAE;MACtBP,OAAO,CAACO,iBAAiB,CAAC,CAAC,IAAI,CAAC;IACjC;IACA;EACD;EAEAY,SAAS,CAACG,GAAG,CAACpB,IAAI,CAAC,CAAC,CAAC;EACrBgB,QAAQ,CAACI,GAAG,CACXnB,OAAO,CAACQ,KAAK,EAAEK,eAAe,EAAGO,QAAQ,IAAK;IAC7C,SAAS;;IACT,IAAI,CAACA,QAAQ,EAAE;IAEf,IAAIhB,iBAAiB,EAAE;MACtBP,OAAO,CAACO,iBAAiB,CAAC,CAACgB,QAAQ,CAAC;IACrC;IAEAJ,SAAS,CAACG,GAAG,CAACrB,KAAK,CAAC;EACrB,CAAC,CACF,CAAC;AACF,CAAC","ignoreList":[]}
|
|
@@ -223,4 +223,74 @@ export const applyOffsetRules = ({
|
|
|
223
223
|
isSwipingLeft
|
|
224
224
|
};
|
|
225
225
|
};
|
|
226
|
+
/**
|
|
227
|
+
* Checks if a gesture should activate based on scroll position.
|
|
228
|
+
* Returns the direction to activate for, or null if activation should not occur.
|
|
229
|
+
*/
|
|
230
|
+
export function checkScrollAwareActivation({
|
|
231
|
+
swipeInfo,
|
|
232
|
+
directions,
|
|
233
|
+
scrollX,
|
|
234
|
+
scrollY,
|
|
235
|
+
maxScrollX,
|
|
236
|
+
maxScrollY,
|
|
237
|
+
hasSnapPoints,
|
|
238
|
+
canExpandMore
|
|
239
|
+
}) {
|
|
240
|
+
"worklet";
|
|
241
|
+
|
|
242
|
+
const {
|
|
243
|
+
isSwipingDown,
|
|
244
|
+
isSwipingUp,
|
|
245
|
+
isSwipingRight,
|
|
246
|
+
isSwipingLeft
|
|
247
|
+
} = swipeInfo;
|
|
248
|
+
if (directions.vertical && isSwipingDown && scrollY <= 0) {
|
|
249
|
+
return {
|
|
250
|
+
shouldActivate: true,
|
|
251
|
+
direction: "vertical"
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
if (directions.horizontal && isSwipingRight && scrollX <= 0) {
|
|
255
|
+
return {
|
|
256
|
+
shouldActivate: true,
|
|
257
|
+
direction: "horizontal"
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
if (directions.verticalInverted && isSwipingUp && scrollY >= maxScrollY) {
|
|
261
|
+
return {
|
|
262
|
+
shouldActivate: true,
|
|
263
|
+
direction: "vertical-inverted"
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
if (directions.horizontalInverted && isSwipingLeft && scrollX >= maxScrollX) {
|
|
267
|
+
return {
|
|
268
|
+
shouldActivate: true,
|
|
269
|
+
direction: "horizontal-inverted"
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
if (hasSnapPoints && canExpandMore) {
|
|
273
|
+
// Vertical sheet: swipe up at scroll top → expand
|
|
274
|
+
const enabledYAxis = directions.vertical || directions.verticalInverted;
|
|
275
|
+
const enabledXAxis = directions.horizontal || directions.horizontalInverted;
|
|
276
|
+
if (enabledYAxis && isSwipingUp && scrollY <= 0) {
|
|
277
|
+
return {
|
|
278
|
+
shouldActivate: true,
|
|
279
|
+
direction: "vertical-inverted"
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// Horizontal sheet: swipe left at scroll left → expand
|
|
284
|
+
if (enabledXAxis && isSwipingLeft && scrollX <= 0) {
|
|
285
|
+
return {
|
|
286
|
+
shouldActivate: true,
|
|
287
|
+
direction: "horizontal-inverted"
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return {
|
|
292
|
+
shouldActivate: false,
|
|
293
|
+
direction: null
|
|
294
|
+
};
|
|
295
|
+
}
|
|
226
296
|
//# sourceMappingURL=check-gesture-activation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GestureOffsetState","GESTURE_ACTIVATION_THRESHOLD_X","GESTURE_ACTIVATION_THRESHOLD_Y","GESTURE_FAIL_TOLERANCE_X","GESTURE_FAIL_TOLERANCE_Y","DEFAULT_EDGE_DISTANCE_HORIZONTAL","DEFAULT_EDGE_DISTANCE_VERTICAL","DEFAULT_ACTIVATION_AREA","normalizeSides","area","mode","left","right","top","bottom","s","computeEdgeConstraints","initialTouch","dimensions","sides","responseDistance","xDist","yDist","horizontalRight","x","horizontalLeft","width","verticalDown","y","verticalUp","height","calculateSwipeDirs","deltaX","deltaY","isVerticalSwipe","Math","abs","isHorizontalSwipe","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","shouldActivateOrFail","params","hasHorizontal","hasVertical","allowedRight","allowedLeft","allowedUp","allowedDown","horizontalGateRight","horizontalGateLeft","verticalGateUp","verticalGateDown","shouldActivate","shouldFail","hasEnoughHorizontalMovement","hasAcceptableVerticalDeviation","rightOk","leftOk","hasEnoughVerticalMovement","hasAcceptableHorizontalDeviation","upOk","downOk","applyOffsetRules","touch","directions","manager","gestureOffsetState","activationArea","vertical","verticalInverted","horizontal","horizontalInverted","value","PENDING","PASSED","FAILED","fail"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/check-gesture-activation.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GestureOffsetState","GESTURE_ACTIVATION_THRESHOLD_X","GESTURE_ACTIVATION_THRESHOLD_Y","GESTURE_FAIL_TOLERANCE_X","GESTURE_FAIL_TOLERANCE_Y","DEFAULT_EDGE_DISTANCE_HORIZONTAL","DEFAULT_EDGE_DISTANCE_VERTICAL","DEFAULT_ACTIVATION_AREA","normalizeSides","area","mode","left","right","top","bottom","s","computeEdgeConstraints","initialTouch","dimensions","sides","responseDistance","xDist","yDist","horizontalRight","x","horizontalLeft","width","verticalDown","y","verticalUp","height","calculateSwipeDirs","deltaX","deltaY","isVerticalSwipe","Math","abs","isHorizontalSwipe","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","shouldActivateOrFail","params","hasHorizontal","hasVertical","allowedRight","allowedLeft","allowedUp","allowedDown","horizontalGateRight","horizontalGateLeft","verticalGateUp","verticalGateDown","shouldActivate","shouldFail","hasEnoughHorizontalMovement","hasAcceptableVerticalDeviation","rightOk","leftOk","hasEnoughVerticalMovement","hasAcceptableHorizontalDeviation","upOk","downOk","applyOffsetRules","touch","directions","manager","gestureOffsetState","activationArea","vertical","verticalInverted","horizontal","horizontalInverted","value","PENDING","PASSED","FAILED","fail","checkScrollAwareActivation","swipeInfo","scrollX","scrollY","maxScrollX","maxScrollY","hasSnapPoints","canExpandMore","direction","enabledYAxis","enabledXAxis"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/check-gesture-activation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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":"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","ignoreList":[]}
|
|
@@ -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"}
|
|
@@ -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":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,OAAO,KAAK,EACX,kBAAkB,EAClB,YAAY,EACZ,MAAM,mCAAmC,CAAC;AAG3C,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;CA4IxC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
import type { AnimationStoreMap } from "../../stores/animation.store";
|
|
6
|
+
import type { GestureStoreMap } from "../../stores/gesture.store";
|
|
7
|
+
import type { TransitionSpec } from "../../types/animation.types";
|
|
8
|
+
import { type GestureActivationArea, type GestureDirection } from "../../types/gesture.types";
|
|
9
|
+
import type { Layout } from "../../types/screen.types";
|
|
10
|
+
interface UseScreenGestureHandlersProps {
|
|
11
|
+
dimensions: Layout;
|
|
12
|
+
animations: AnimationStoreMap;
|
|
13
|
+
gestureAnimationValues: GestureStoreMap;
|
|
14
|
+
gestureDirection: GestureDirection | GestureDirection[];
|
|
15
|
+
gestureDrivesProgress: boolean;
|
|
16
|
+
gestureVelocityImpact: number;
|
|
17
|
+
scrollConfig: SharedValue<ScrollConfig | null>;
|
|
18
|
+
gestureActivationArea: GestureActivationArea;
|
|
19
|
+
gestureResponseDistance?: number;
|
|
20
|
+
ancestorIsDismissing?: SharedValue<number> | null;
|
|
21
|
+
snapPoints?: number[];
|
|
22
|
+
canDismiss: boolean;
|
|
23
|
+
transitionSpec?: TransitionSpec;
|
|
24
|
+
handleDismiss: () => void;
|
|
25
|
+
}
|
|
26
|
+
export declare const useScreenGestureHandlers: ({ dimensions, animations, gestureAnimationValues, gestureDirection, gestureDrivesProgress, gestureVelocityImpact, scrollConfig, gestureActivationArea, gestureResponseDistance, ancestorIsDismissing, snapPoints: rawSnapPoints, canDismiss, transitionSpec, handleDismiss, }: UseScreenGestureHandlersProps) => {
|
|
27
|
+
onTouchesDown: (e: GestureTouchEvent) => void;
|
|
28
|
+
onTouchesMove: (e: GestureTouchEvent, manager: GestureStateManagerType) => void;
|
|
29
|
+
onStart: () => void;
|
|
30
|
+
onUpdate: (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;
|
|
31
|
+
onEnd: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# 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":"AACA,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;AAG3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAcvD,UAAU,6BAA6B;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,sBAAsB,EAAE,eAAe,CAAC;IACxC,gBAAgB,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACxD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,wBAAwB,GAAI,+QAetC,6BAA6B;;;;;;CAiX/B,CAAC"}
|