@react-navigation/stack 7.6.2 → 7.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/utils/gestureActivationCriteria.js +60 -0
- package/lib/module/utils/gestureActivationCriteria.js.map +1 -0
- package/lib/module/views/Header/HeaderContainer.js +3 -3
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Stack/Card.js +263 -302
- package/lib/module/views/Stack/Card.js.map +1 -1
- package/lib/module/views/Stack/CardStack.js +5 -8
- package/lib/module/views/Stack/CardStack.js.map +1 -1
- package/lib/typescript/src/utils/gestureActivationCriteria.d.ts +57 -0
- package/lib/typescript/src/utils/gestureActivationCriteria.d.ts.map +1 -0
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts +2 -2
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/Card.d.ts +7 -37
- package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/utils/gestureActivationCriteria.tsx +70 -0
- package/src/views/Header/HeaderContainer.tsx +8 -11
- package/src/views/Stack/Card.tsx +451 -453
- package/src/views/Stack/CardStack.tsx +2 -9
- package/lib/module/utils/memoize.js +0 -29
- package/lib/module/utils/memoize.js.map +0 -1
- package/lib/typescript/src/utils/memoize.d.ts +0 -2
- package/lib/typescript/src/utils/memoize.d.ts.map +0 -1
- package/src/utils/memoize.tsx +0 -33
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getInvertedMultiplier } from "./getInvertedMultiplier.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The distance of touch start from the edge of the screen where the gesture will be recognized
|
|
7
|
+
*/
|
|
8
|
+
const GESTURE_RESPONSE_DISTANCE_HORIZONTAL = 50;
|
|
9
|
+
const GESTURE_RESPONSE_DISTANCE_VERTICAL = 135;
|
|
10
|
+
export const gestureActivationCriteria = ({
|
|
11
|
+
direction,
|
|
12
|
+
gestureDirection,
|
|
13
|
+
gestureResponseDistance,
|
|
14
|
+
layout
|
|
15
|
+
}) => {
|
|
16
|
+
const enableTrackpadTwoFingerGesture = true;
|
|
17
|
+
const distance = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? GESTURE_RESPONSE_DISTANCE_VERTICAL : GESTURE_RESPONSE_DISTANCE_HORIZONTAL;
|
|
18
|
+
if (gestureDirection === 'vertical') {
|
|
19
|
+
return {
|
|
20
|
+
maxDeltaX: 15,
|
|
21
|
+
minOffsetY: 5,
|
|
22
|
+
hitSlop: {
|
|
23
|
+
bottom: -layout.height + distance
|
|
24
|
+
},
|
|
25
|
+
enableTrackpadTwoFingerGesture
|
|
26
|
+
};
|
|
27
|
+
} else if (gestureDirection === 'vertical-inverted') {
|
|
28
|
+
return {
|
|
29
|
+
maxDeltaX: 15,
|
|
30
|
+
minOffsetY: -5,
|
|
31
|
+
hitSlop: {
|
|
32
|
+
top: -layout.height + distance
|
|
33
|
+
},
|
|
34
|
+
enableTrackpadTwoFingerGesture
|
|
35
|
+
};
|
|
36
|
+
} else {
|
|
37
|
+
const hitSlop = -layout.width + distance;
|
|
38
|
+
const invertedMultiplier = getInvertedMultiplier(gestureDirection, direction === 'rtl');
|
|
39
|
+
if (invertedMultiplier === 1) {
|
|
40
|
+
return {
|
|
41
|
+
minOffsetX: 5,
|
|
42
|
+
maxDeltaY: 20,
|
|
43
|
+
hitSlop: {
|
|
44
|
+
right: hitSlop
|
|
45
|
+
},
|
|
46
|
+
enableTrackpadTwoFingerGesture
|
|
47
|
+
};
|
|
48
|
+
} else {
|
|
49
|
+
return {
|
|
50
|
+
minOffsetX: -5,
|
|
51
|
+
maxDeltaY: 20,
|
|
52
|
+
hitSlop: {
|
|
53
|
+
left: hitSlop
|
|
54
|
+
},
|
|
55
|
+
enableTrackpadTwoFingerGesture
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=gestureActivationCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getInvertedMultiplier","GESTURE_RESPONSE_DISTANCE_HORIZONTAL","GESTURE_RESPONSE_DISTANCE_VERTICAL","gestureActivationCriteria","direction","gestureDirection","gestureResponseDistance","layout","enableTrackpadTwoFingerGesture","distance","undefined","maxDeltaX","minOffsetY","hitSlop","bottom","height","top","width","invertedMultiplier","minOffsetX","maxDeltaY","right","left"],"sourceRoot":"../../../src","sources":["utils/gestureActivationCriteria.tsx"],"mappings":";;AAGA,SAASA,qBAAqB,QAAQ,4BAAyB;;AAE/D;AACA;AACA;AACA,MAAMC,oCAAoC,GAAG,EAAE;AAC/C,MAAMC,kCAAkC,GAAG,GAAG;AAE9C,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,SAAS;EACTC,gBAAgB;EAChBC,uBAAuB;EACvBC;AAMF,CAAC,KAAK;EACJ,MAAMC,8BAA8B,GAAG,IAAI;EAE3C,MAAMC,QAAQ,GACZH,uBAAuB,KAAKI,SAAS,GACjCJ,uBAAuB,GACvBD,gBAAgB,KAAK,UAAU,IAC7BA,gBAAgB,KAAK,mBAAmB,GACxCH,kCAAkC,GAClCD,oCAAoC;EAE5C,IAAII,gBAAgB,KAAK,UAAU,EAAE;IACnC,OAAO;MACLM,SAAS,EAAE,EAAE;MACbC,UAAU,EAAE,CAAC;MACbC,OAAO,EAAE;QAAEC,MAAM,EAAE,CAACP,MAAM,CAACQ,MAAM,GAAGN;MAAS,CAAC;MAC9CD;IACF,CAAC;EACH,CAAC,MAAM,IAAIH,gBAAgB,KAAK,mBAAmB,EAAE;IACnD,OAAO;MACLM,SAAS,EAAE,EAAE;MACbC,UAAU,EAAE,CAAC,CAAC;MACdC,OAAO,EAAE;QAAEG,GAAG,EAAE,CAACT,MAAM,CAACQ,MAAM,GAAGN;MAAS,CAAC;MAC3CD;IACF,CAAC;EACH,CAAC,MAAM;IACL,MAAMK,OAAO,GAAG,CAACN,MAAM,CAACU,KAAK,GAAGR,QAAQ;IACxC,MAAMS,kBAAkB,GAAGlB,qBAAqB,CAC9CK,gBAAgB,EAChBD,SAAS,KAAK,KAChB,CAAC;IAED,IAAIc,kBAAkB,KAAK,CAAC,EAAE;MAC5B,OAAO;QACLC,UAAU,EAAE,CAAC;QACbC,SAAS,EAAE,EAAE;QACbP,OAAO,EAAE;UAAEQ,KAAK,EAAER;QAAQ,CAAC;QAC3BL;MACF,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLW,UAAU,EAAE,CAAC,CAAC;QACdC,SAAS,EAAE,EAAE;QACbP,OAAO,EAAE;UAAES,IAAI,EAAET;QAAQ,CAAC;QAC1BL;MACF,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';
|
|
4
4
|
import { NavigationContext, NavigationRouteContext, useLinkBuilder } from '@react-navigation/native';
|
|
5
5
|
import * as React from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { StyleSheet, View } from 'react-native';
|
|
7
7
|
import { forNoAnimation, forSlideLeft, forSlideRight, forSlideUp } from "../../TransitionConfigs/HeaderStyleInterpolators.js";
|
|
8
8
|
import { Header } from "./Header.js";
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -21,10 +21,10 @@ export function HeaderContainer({
|
|
|
21
21
|
const {
|
|
22
22
|
buildHref
|
|
23
23
|
} = useLinkBuilder();
|
|
24
|
-
return /*#__PURE__*/_jsx(
|
|
24
|
+
return /*#__PURE__*/_jsx(View, {
|
|
25
25
|
pointerEvents: "box-none",
|
|
26
26
|
style: style,
|
|
27
|
-
children: scenes.slice(-
|
|
27
|
+
children: scenes.slice(-2).map((scene, i, self) => {
|
|
28
28
|
if (mode === 'screen' && i !== self.length - 1 || !scene) {
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderBackContext","NavigationContext","NavigationRouteContext","useLinkBuilder","React","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderBackContext","NavigationContext","NavigationRouteContext","useLinkBuilder","React","StyleSheet","View","forNoAnimation","forSlideLeft","forSlideRight","forSlideUp","Header","jsx","_jsx","HeaderContainer","mode","scenes","layout","getPreviousScene","getFocusedRoute","onContentHeightChange","style","focusedRoute","parentHeaderBack","useContext","buildHref","pointerEvents","children","slice","map","scene","i","self","length","header","headerMode","headerShown","headerTransparent","headerStyleInterpolator","descriptor","options","isFocused","key","route","previousScene","headerBack","title","name","href","params","previousDescriptor","nextDescriptor","previousHeaderShown","previousHeaderMode","nextHeaderlessScene","find","currentHeaderShown","currentHeaderMode","gestureDirection","nextHeaderlessGestureDirection","isHeaderStatic","props","back","progress","navigation","styleInterpolator","Provider","value","onLayout","e","height","nativeEvent","undefined","styles","create","position","top","start","end"],"sourceRoot":"../../../../src","sources":["views/Header/HeaderContainer.tsx"],"mappings":"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","ignoreList":[]}
|