@react-navigation/stack 7.8.2 → 7.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/views/Header/HeaderContainer.js +22 -24
- package/lib/module/views/Header/HeaderContainer.js.map +1 -1
- package/lib/module/views/Stack/StackView.js +10 -13
- package/lib/module/views/Stack/StackView.js.map +1 -1
- package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/Stack/StackView.d.ts +3 -3
- package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/views/Header/HeaderContainer.tsx +30 -32
- package/src/views/Stack/StackView.tsx +16 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';
|
|
4
|
-
import {
|
|
4
|
+
import { NavigationProvider, useLinkBuilder } from '@react-navigation/native';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { StyleSheet, View } from 'react-native';
|
|
7
7
|
import { forNoAnimation, forSlideLeft, forSlideRight, forSlideUp } from "../../TransitionConfigs/HeaderStyleInterpolators.js";
|
|
@@ -88,29 +88,27 @@ export function HeaderContainer({
|
|
|
88
88
|
navigation: scene.descriptor.navigation,
|
|
89
89
|
styleInterpolator: mode === 'float' ? isHeaderStatic ? nextHeaderlessGestureDirection === 'vertical' || nextHeaderlessGestureDirection === 'vertical-inverted' ? forSlideUp : nextHeaderlessGestureDirection === 'horizontal-inverted' ? forSlideRight : forSlideLeft : headerStyleInterpolator : forNoAnimation
|
|
90
90
|
};
|
|
91
|
-
return /*#__PURE__*/_jsx(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
...props
|
|
113
|
-
})
|
|
91
|
+
return /*#__PURE__*/_jsx(NavigationProvider, {
|
|
92
|
+
route: scene.descriptor.route,
|
|
93
|
+
navigation: scene.descriptor.navigation,
|
|
94
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
95
|
+
onLayout: onContentHeightChange ? e => {
|
|
96
|
+
const {
|
|
97
|
+
height
|
|
98
|
+
} = e.nativeEvent.layout;
|
|
99
|
+
onContentHeightChange({
|
|
100
|
+
route: scene.descriptor.route,
|
|
101
|
+
height
|
|
102
|
+
});
|
|
103
|
+
} : undefined,
|
|
104
|
+
pointerEvents: isFocused ? 'box-none' : 'none',
|
|
105
|
+
"aria-hidden": !isFocused,
|
|
106
|
+
style:
|
|
107
|
+
// Avoid positioning the focused header absolutely
|
|
108
|
+
// Otherwise accessibility tools don't seem to be able to find it
|
|
109
|
+
mode === 'float' && !isFocused || headerTransparent ? styles.header : null,
|
|
110
|
+
children: header !== undefined ? header(props) : /*#__PURE__*/_jsx(Header, {
|
|
111
|
+
...props
|
|
114
112
|
})
|
|
115
113
|
})
|
|
116
114
|
}, scene.descriptor.route.key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderBackContext","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderBackContext","NavigationProvider","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","onLayout","e","height","nativeEvent","undefined","styles","create","position","top","start","end"],"sourceRoot":"../../../../src","sources":["views/Header/HeaderContainer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,9 +20,10 @@ const isArrayEqual = (a, b) => a.length === b.length && a.every((it, index) => O
|
|
|
20
20
|
export class StackView extends React.Component {
|
|
21
21
|
static getDerivedStateFromProps(props, state) {
|
|
22
22
|
const allRoutes = [...props.state.routes, ...props.state.preloadedRoutes];
|
|
23
|
+
const previousRoutes = state.previousState ? [...state.previousState.routes, ...state.previousState.preloadedRoutes] : [];
|
|
23
24
|
|
|
24
25
|
// If there was no change in routes, we don't need to compute anything
|
|
25
|
-
if (isArrayEqual(allRoutes.map(r => r.key),
|
|
26
|
+
if (isArrayEqual(allRoutes.map(r => r.key), previousRoutes.map(r => r.key)) && state.routes.length) {
|
|
26
27
|
// If there were any routes being closed or replaced,
|
|
27
28
|
// We need to make sure they are preserved in the new state from props.state
|
|
28
29
|
// So first we get all such routes from the previous state (that included the animating routes)
|
|
@@ -41,7 +42,6 @@ export class StackView extends React.Component {
|
|
|
41
42
|
if (closingRoutes.length) {
|
|
42
43
|
routes.push(...closingRoutes);
|
|
43
44
|
}
|
|
44
|
-
let previousRoutes = state.previousRoutes;
|
|
45
45
|
let descriptors = props.descriptors;
|
|
46
46
|
let previousDescriptors = state.previousDescriptors;
|
|
47
47
|
if (props.descriptors !== state.previousDescriptors) {
|
|
@@ -51,18 +51,17 @@ export class StackView extends React.Component {
|
|
|
51
51
|
}, {});
|
|
52
52
|
previousDescriptors = props.descriptors;
|
|
53
53
|
}
|
|
54
|
-
if (!isArrayEqual(allRoutes,
|
|
54
|
+
if (!isArrayEqual(allRoutes, previousRoutes)) {
|
|
55
55
|
// if any route objects have changed, we should update them
|
|
56
56
|
const map = allRoutes.reduce((acc, route) => {
|
|
57
57
|
acc[route.key] = route;
|
|
58
58
|
return acc;
|
|
59
59
|
}, {});
|
|
60
60
|
routes = routes.map(route => map[route.key] || route);
|
|
61
|
-
previousRoutes = allRoutes;
|
|
62
61
|
}
|
|
63
62
|
return {
|
|
64
63
|
routes,
|
|
65
|
-
|
|
64
|
+
previousState: props.state,
|
|
66
65
|
descriptors,
|
|
67
66
|
previousDescriptors
|
|
68
67
|
};
|
|
@@ -75,11 +74,6 @@ export class StackView extends React.Component {
|
|
|
75
74
|
// Remove any extra routes from the state
|
|
76
75
|
// The last visible route should be the focused route, i.e. at current index
|
|
77
76
|
props.state.routes.slice(0, props.state.index + 1) : props.state.routes;
|
|
78
|
-
|
|
79
|
-
// Now we need to determine which routes were added and removed
|
|
80
|
-
const {
|
|
81
|
-
previousRoutes
|
|
82
|
-
} = state;
|
|
83
77
|
let {
|
|
84
78
|
openingRouteKeys,
|
|
85
79
|
closingRouteKeys,
|
|
@@ -90,7 +84,10 @@ export class StackView extends React.Component {
|
|
|
90
84
|
// it was added back before the animation finished, so stop tracking it
|
|
91
85
|
closingRouteKeys = closingRouteKeys.filter(key => !routes.some(r => r.key === key));
|
|
92
86
|
replacingRouteKeys = replacingRouteKeys.filter(key => !routes.some(r => r.key === key));
|
|
93
|
-
|
|
87
|
+
|
|
88
|
+
// Get previous focused route from previousState (actual focused route, not last in previousRoutes
|
|
89
|
+
// which can be a preloaded route that was never focused)
|
|
90
|
+
const previousFocusedRoute = state.previousState ? state.previousState.routes[state.previousState.index] : undefined;
|
|
94
91
|
const nextFocusedRoute = routes[routes.length - 1];
|
|
95
92
|
const isAnimationEnabled = key => {
|
|
96
93
|
const descriptor = props.descriptors[key] || state.descriptors[key];
|
|
@@ -180,7 +177,7 @@ export class StackView extends React.Component {
|
|
|
180
177
|
}, {});
|
|
181
178
|
return {
|
|
182
179
|
routes,
|
|
183
|
-
|
|
180
|
+
previousState: props.state,
|
|
184
181
|
previousDescriptors: props.descriptors,
|
|
185
182
|
openingRouteKeys,
|
|
186
183
|
closingRouteKeys,
|
|
@@ -190,7 +187,7 @@ export class StackView extends React.Component {
|
|
|
190
187
|
}
|
|
191
188
|
state = {
|
|
192
189
|
routes: [],
|
|
193
|
-
|
|
190
|
+
previousState: undefined,
|
|
194
191
|
previousDescriptors: {},
|
|
195
192
|
openingRouteKeys: [],
|
|
196
193
|
closingRouteKeys: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeaderShownContext","SafeAreaProviderCompat","CommonActions","StackActions","React","StyleSheet","View","SafeAreaInsetsContext","ModalPresentationContext","GestureHandlerRootView","HeaderContainer","CardStack","getAnimationEnabled","jsx","_jsx","GestureHandlerWrapper","isArrayEqual","a","b","length","every","it","index","Object","is","StackView","Component","getDerivedStateFromProps","props","state","allRoutes","routes","preloadedRoutes","map","r","key","previousRoutes","closingRoutes","filter","closingRouteKeys","includes","some","pr","replacingRoutes","replacingRouteKeys","slice","splice","push","descriptors","previousDescriptors","reduce","acc","route","openingRouteKeys","previousFocusedRoute","nextFocusedRoute","isAnimationEnabled","descriptor","options","animation","getAnimationTypeForReplace","animationTypeForReplace","previousReplacingRoutes","existing","Error","getPreviousRoute","findIndex","renderHeader","handleOpenRoute","navigation","routeNames","name","dispatch","reset","setState","routeIndex","replacingRoutesToRemove","Set","newRoutes","has","handleCloseRoute","pop","source","target","handleTransitionStart","closing","emit","type","data","handleTransitionEnd","handleGestureStart","handleGestureEnd","handleGestureCancel","render","_","rest","preloadedDescriptors","describe","style","styles","container","children","Consumer","insets","isParentModal","isParentHeaderShown","onOpenRoute","onCloseRoute","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","create","flex"],"sourceRoot":"../../../../src","sources":["views/Stack/StackView.tsx"],"mappings":";;AAAA,SACEA,kBAAkB,EAClBC,sBAAsB,QACjB,4BAA4B;AACnC,SACEC,aAAa,EAKbC,YAAY,QAEP,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,qBAAqB,QAAQ,gCAAgC;AAQtE,SAASC,wBAAwB,QAAQ,yCAAsC;AAC/E,SAASC,sBAAsB,QAAQ,mBAAmB;AAC1D,SACEC,eAAe,QAEV,8BAA2B;AAClC,SAASC,SAAS,EAAEC,mBAAmB,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA+B7D,MAAMC,qBAAqB,GAAGN,sBAAsB,IAAIH,IAAI;;AAE5D;AACA;AACA;AACA;AACA,MAAMU,YAAY,GAAGA,CAACC,CAAQ,EAAEC,CAAQ,KACtCD,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,IAAIF,CAAC,CAACG,KAAK,CAAC,CAACC,EAAE,EAAEC,KAAK,KAAKC,MAAM,CAACC,EAAE,CAACH,EAAE,EAAEH,CAAC,CAACI,KAAK,CAAC,CAAC,CAAC;AAE1E,OAAO,MAAMG,SAAS,SAASrB,KAAK,CAACsB,SAAS,CAAe;EAC3D,OAAOC,wBAAwBA,CAC7BC,KAAsB,EACtBC,KAAsB,EACtB;IACA,MAAMC,SAAS,GAAG,CAAC,GAAGF,KAAK,CAACC,KAAK,CAACE,MAAM,EAAE,GAAGH,KAAK,CAACC,KAAK,CAACG,eAAe,CAAC;;IAEzE;IACA,IACEhB,YAAY,CACVc,SAAS,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CAAC,EAC3BN,KAAK,CAACO,cAAc,CAACH,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CACvC,CAAC,IACDN,KAAK,CAACE,MAAM,CAACZ,MAAM,EACnB;MACA;MACA;MACA;MACA;;MAEA,MAAMkB,aAAa,GAAGR,KAAK,CAACE,MAAM,CAACO,MAAM,CACtCJ,CAAC,IACAL,KAAK,CAACU,gBAAgB,CAACC,QAAQ,CAACN,CAAC,CAACC,GAAG,CAAC,IACtC,CAACP,KAAK,CAACC,KAAK,CAACE,MAAM,CAACU,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACP,GAAG,KAAKD,CAAC,CAACC,GAAG,CACrD,CAAC;MAED,MAAMQ,eAAe,GAAGd,KAAK,CAACE,MAAM,CAACO,MAAM,CACxCJ,CAAC,IACAL,KAAK,CAACe,kBAAkB,CAACJ,QAAQ,CAACN,CAAC,CAACC,GAAG,CAAC,IACxC,CAACP,KAAK,CAACC,KAAK,CAACE,MAAM,CAACU,IAAI,CAAEC,EAAE,IAAKA,EAAE,CAACP,GAAG,KAAKD,CAAC,CAACC,GAAG,CACrD,CAAC;MAED,IAAIJ,MAAuB,GAAGH,KAAK,CAACC,KAAK,CAACE,MAAM,CAACc,KAAK,CAAC,CAAC;;MAExD;MACA,IAAIF,eAAe,CAACxB,MAAM,EAAE;QAC1BY,MAAM,CAACe,MAAM,CAACf,MAAM,CAACZ,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,GAAGwB,eAAe,CAAC;MACzD;;MAEA;MACA,IAAIN,aAAa,CAAClB,MAAM,EAAE;QACxBY,MAAM,CAACgB,IAAI,CAAC,GAAGV,aAAa,CAAC;MAC/B;MAEA,IAAID,cAAc,GAAGP,KAAK,CAACO,cAAc;MACzC,IAAIY,WAAW,GAAGpB,KAAK,CAACoB,WAAW;MACnC,IAAIC,mBAAmB,GAAGpB,KAAK,CAACoB,mBAAmB;MAEnD,IAAIrB,KAAK,CAACoB,WAAW,KAAKnB,KAAK,CAACoB,mBAAmB,EAAE;QACnDD,WAAW,GAAGjB,MAAM,CAACmB,MAAM,CAAqB,CAACC,GAAG,EAAEC,KAAK,KAAK;UAC9DD,GAAG,CAACC,KAAK,CAACjB,GAAG,CAAC,GACZP,KAAK,CAACoB,WAAW,CAACI,KAAK,CAACjB,GAAG,CAAC,IAAIN,KAAK,CAACmB,WAAW,CAACI,KAAK,CAACjB,GAAG,CAAC;UAE9D,OAAOgB,GAAG;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QAENF,mBAAmB,GAAGrB,KAAK,CAACoB,WAAW;MACzC;MAEA,IAAI,CAAChC,YAAY,CAACc,SAAS,EAAED,KAAK,CAACO,cAAc,CAAC,EAAE;QAClD;QACA,MAAMH,GAAG,GAAGH,SAAS,CAACoB,MAAM,CAC1B,CAACC,GAAG,EAAEC,KAAK,KAAK;UACdD,GAAG,CAACC,KAAK,CAACjB,GAAG,CAAC,GAAGiB,KAAK;UACtB,OAAOD,GAAG;QACZ,CAAC,EACD,CAAC,CACH,CAAC;QAEDpB,MAAM,GAAGA,MAAM,CAACE,GAAG,CAAEmB,KAAK,IAAKnB,GAAG,CAACmB,KAAK,CAACjB,GAAG,CAAC,IAAIiB,KAAK,CAAC;QACvDhB,cAAc,GAAGN,SAAS;MAC5B;MAEA,OAAO;QACLC,MAAM;QACNK,cAAc;QACdY,WAAW;QACXC;MACF,CAAC;IACH;;IAEA;IACA;;IAEA,IAAIlB,MAAM,GACRH,KAAK,CAACC,KAAK,CAACP,KAAK,GAAGM,KAAK,CAACC,KAAK,CAACE,MAAM,CAACZ,MAAM,GAAG,CAAC;IAC7C;IACA;IACAS,KAAK,CAACC,KAAK,CAACE,MAAM,CAACc,KAAK,CAAC,CAAC,EAAEjB,KAAK,CAACC,KAAK,CAACP,KAAK,GAAG,CAAC,CAAC,GAClDM,KAAK,CAACC,KAAK,CAACE,MAAM;;IAExB;IACA,MAAM;MAAEK;IAAe,CAAC,GAAGP,KAAK;IAEhC,IAAI;MAAEwB,gBAAgB;MAAEd,gBAAgB;MAAEK;IAAmB,CAAC,GAAGf,KAAK;;IAEtE;IACA;IACAU,gBAAgB,GAAGA,gBAAgB,CAACD,MAAM,CACvCH,GAAG,IAAK,CAACJ,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKA,GAAG,CAC5C,CAAC;IAEDS,kBAAkB,GAAGA,kBAAkB,CAACN,MAAM,CAC3CH,GAAG,IAAK,CAACJ,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKA,GAAG,CAC5C,CAAC;IAED,MAAMmB,oBAAoB,GAAGlB,cAAc,CAACA,cAAc,CAACjB,MAAM,GAAG,CAAC,CAExD;IACb,MAAMoC,gBAAgB,GAAGxB,MAAM,CAACA,MAAM,CAACZ,MAAM,GAAG,CAAC,CAAC;IAElD,MAAMqC,kBAAkB,GAAIrB,GAAW,IAAK;MAC1C,MAAMsB,UAAU,GAAG7B,KAAK,CAACoB,WAAW,CAACb,GAAG,CAAC,IAAIN,KAAK,CAACmB,WAAW,CAACb,GAAG,CAAC;MAEnE,OAAOvB,mBAAmB,CAAC6C,UAAU,EAAEC,OAAO,CAACC,SAAS,CAAC;IAC3D,CAAC;IAED,MAAMC,0BAA0B,GAAIzB,GAAW,IAAK;MAClD,MAAMsB,UAAU,GAAG7B,KAAK,CAACoB,WAAW,CAACb,GAAG,CAAC,IAAIN,KAAK,CAACmB,WAAW,CAACb,GAAG,CAAC;MAEnE,OAAOsB,UAAU,CAACC,OAAO,CAACG,uBAAuB,IAAI,MAAM;IAC7D,CAAC;IAED,IACEP,oBAAoB,IACpBA,oBAAoB,CAACnB,GAAG,KAAKoB,gBAAgB,CAACpB,GAAG,EACjD;MACA;MACA;;MAEA,IACEC,cAAc,CAACK,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKoB,gBAAgB,CAACpB,GAAG,CAAC,IAC1D,CAACJ,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKmB,oBAAoB,CAACnB,GAAG,CAAC,EACvD;QACA;QACA;;QAEA,IACEqB,kBAAkB,CAACF,oBAAoB,CAACnB,GAAG,CAAC,IAC5C,CAACI,gBAAgB,CAACC,QAAQ,CAACc,oBAAoB,CAACnB,GAAG,CAAC,EACpD;UACAI,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,EAAEe,oBAAoB,CAACnB,GAAG,CAAC;;UAElE;UACA;UACAkB,gBAAgB,GAAGA,gBAAgB,CAACf,MAAM,CACvCH,GAAG,IAAKA,GAAG,KAAKmB,oBAAoB,CAACnB,GACxC,CAAC;UACDS,kBAAkB,GAAGA,kBAAkB,CAACN,MAAM,CAC3CH,GAAG,IAAKA,GAAG,KAAKmB,oBAAoB,CAACnB,GACxC,CAAC;;UAED;UACAJ,MAAM,GAAG,CAAC,GAAGA,MAAM,EAAEuB,oBAAoB,CAAC;QAC5C;MACF,CAAC,MAAM;QACL;QACA;QACA;;QAEA,IACEE,kBAAkB,CAACD,gBAAgB,CAACpB,GAAG,CAAC,IACxC,CAACkB,gBAAgB,CAACb,QAAQ,CAACe,gBAAgB,CAACpB,GAAG,CAAC,EAChD;UACA;UACA;UACAkB,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,EAAEE,gBAAgB,CAACpB,GAAG,CAAC;UAE9DI,gBAAgB,GAAGA,gBAAgB,CAACD,MAAM,CACvCH,GAAG,IAAKA,GAAG,KAAKoB,gBAAgB,CAACpB,GACpC,CAAC;UACDS,kBAAkB,GAAGA,kBAAkB,CAACN,MAAM,CAC3CH,GAAG,IAAKA,GAAG,KAAKoB,gBAAgB,CAACpB,GACpC,CAAC;UAED,IAAI,CAACJ,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKmB,oBAAoB,CAACnB,GAAG,CAAC,EAAE;YAC3D;;YAEAkB,gBAAgB,GAAGA,gBAAgB,CAACf,MAAM,CACvCH,GAAG,IAAKA,GAAG,KAAKmB,oBAAoB,CAACnB,GACxC,CAAC;YAED,IAAIyB,0BAA0B,CAACL,gBAAgB,CAACpB,GAAG,CAAC,KAAK,KAAK,EAAE;cAC9DI,gBAAgB,GAAG,CACjB,GAAGA,gBAAgB,EACnBe,oBAAoB,CAACnB,GAAG,CACzB;;cAED;cACA;cACA;cACAkB,gBAAgB,GAAGA,gBAAgB,CAACf,MAAM,CACvCH,GAAG,IAAKA,GAAG,KAAKoB,gBAAgB,CAACpB,GACpC,CAAC;;cAED;cACAJ,MAAM,GAAG,CAAC,GAAGA,MAAM,EAAEuB,oBAAoB,CAAC;YAC5C,CAAC,MAAM;cACLV,kBAAkB,GAAG,CACnB,GAAGA,kBAAkB,EACrBU,oBAAoB,CAACnB,GAAG,CACzB;cAEDI,gBAAgB,GAAGA,gBAAgB,CAACD,MAAM,CACvCH,GAAG,IAAKA,GAAG,KAAKmB,oBAAoB,CAACnB,GACxC,CAAC;;cAED;cACA;cACA;cACAJ,MAAM,GAAGA,MAAM,CAACc,KAAK,CAAC,CAAC;cACvBd,MAAM,CAACe,MAAM,CAACf,MAAM,CAACZ,MAAM,GAAG,CAAC,EAAE,CAAC,EAAEmC,oBAAoB,CAAC;;cAEzD;cACA,MAAMQ,uBAAuB,GAAGjC,KAAK,CAACE,MAAM,CAACO,MAAM,CAChDJ,CAAC,IACAU,kBAAkB,CAACJ,QAAQ,CAACN,CAAC,CAACC,GAAG,CAAC,IAClC,CAACJ,MAAM,CAACU,IAAI,CAAEsB,QAAQ,IAAKA,QAAQ,CAAC5B,GAAG,KAAKD,CAAC,CAACC,GAAG,CACrD,CAAC;cAED,IAAI2B,uBAAuB,CAAC3C,MAAM,EAAE;gBAClC;gBACAY,MAAM,CAACe,MAAM,CAACf,MAAM,CAACZ,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG2C,uBAAuB,CAAC;cACjE;YACF;UACF;QACF;MACF;IACF,CAAC,MAAM,IAAIlB,kBAAkB,CAACzB,MAAM,IAAIoB,gBAAgB,CAACpB,MAAM,EAAE;MAC/D;MACAY,MAAM,GAAGA,MAAM,CAACc,KAAK,CAAC,CAAC;MACvBd,MAAM,CAACe,MAAM,CACXf,MAAM,CAACZ,MAAM,GAAG,CAAC,EACjB,CAAC,EACD,GAAGU,KAAK,CAACE,MAAM,CAACO,MAAM,CAAC,CAAC;QAAEH;MAAI,CAAC,KAC7BqB,kBAAkB,CAACrB,GAAG,CAAC,GACnBS,kBAAkB,CAACJ,QAAQ,CAACL,GAAG,CAAC,IAAII,gBAAgB,CAACC,QAAQ,CAACL,GAAG,CAAC,GAClE,KACN,CACF,CAAC;IACH;IAEA,IAAI,CAACJ,MAAM,CAACZ,MAAM,EAAE;MAClB,MAAM,IAAI6C,KAAK,CACb,oEACF,CAAC;IACH;IAEA,MAAMhB,WAAW,GAAGlB,SAAS,CAACoB,MAAM,CAAqB,CAACC,GAAG,EAAEC,KAAK,KAAK;MACvED,GAAG,CAACC,KAAK,CAACjB,GAAG,CAAC,GACZP,KAAK,CAACoB,WAAW,CAACI,KAAK,CAACjB,GAAG,CAAC,IAAIN,KAAK,CAACmB,WAAW,CAACI,KAAK,CAACjB,GAAG,CAAC;MAE9D,OAAOgB,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO;MACLpB,MAAM;MACNK,cAAc,EAAE,CAAC,GAAGR,KAAK,CAACC,KAAK,CAACE,MAAM,EAAE,GAAGH,KAAK,CAACC,KAAK,CAACG,eAAe,CAAC;MACvEiB,mBAAmB,EAAErB,KAAK,CAACoB,WAAW;MACtCK,gBAAgB;MAChBd,gBAAgB;MAChBK,kBAAkB;MAClBI;IACF,CAAC;EACH;EAEAnB,KAAK,GAAU;IACbE,MAAM,EAAE,EAAE;IACVK,cAAc,EAAE,EAAE;IAClBa,mBAAmB,EAAE,CAAC,CAAC;IACvBI,gBAAgB,EAAE,EAAE;IACpBd,gBAAgB,EAAE,EAAE;IACpBK,kBAAkB,EAAE,EAAE;IACtBI,WAAW,EAAE,CAAC;EAChB,CAAC;EAEOiB,gBAAgB,GAAGA,CAAC;IAAEb;EAAgC,CAAC,KAAK;IAClE,MAAM;MAAEb,gBAAgB;MAAEK;IAAmB,CAAC,GAAG,IAAI,CAACf,KAAK;IAC3D,MAAME,MAAM,GAAG,IAAI,CAACF,KAAK,CAACE,MAAM,CAACO,MAAM,CACpCJ,CAAC,IACAA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,IAClB,CAACI,gBAAgB,CAACC,QAAQ,CAACN,CAAC,CAACC,GAAG,CAAC,IAChC,CAACS,kBAAkB,CAACJ,QAAQ,CAACN,CAAC,CAACC,GAAG,CACxC,CAAC;IAED,MAAMb,KAAK,GAAGS,MAAM,CAACmC,SAAS,CAAEhC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC;IAE1D,OAAOJ,MAAM,CAACT,KAAK,GAAG,CAAC,CAAC;EAC1B,CAAC;EAEO6C,YAAY,GAAIvC,KAA2B,IAAK;IACtD,oBAAOd,IAAA,CAACJ,eAAe;MAAA,GAAKkB;IAAK,CAAG,CAAC;EACvC,CAAC;EAEOwC,eAAe,GAAGA,CAAC;IAAEhB;EAAgC,CAAC,KAAK;IACjE,MAAM;MAAEvB,KAAK;MAAEwC;IAAW,CAAC,GAAG,IAAI,CAACzC,KAAK;IACxC,MAAM;MAAEW,gBAAgB;MAAEK;IAAmB,CAAC,GAAG,IAAI,CAACf,KAAK;IAE3D,IACEU,gBAAgB,CAACE,IAAI,CAAEN,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC,IACjDS,kBAAkB,CAACxB,KAAK,CAAEe,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC,IACpDN,KAAK,CAACyC,UAAU,CAAC9B,QAAQ,CAACY,KAAK,CAACmB,IAAI,CAAC,IACrC,CAAC1C,KAAK,CAACE,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC,EAC9C;MACA;MACA;MACAkC,UAAU,CAACG,QAAQ,CAAE3C,KAAK,IAAK;QAC7B,MAAME,MAAM,GAAG,CACb,GAAGF,KAAK,CAACE,MAAM,CAACO,MAAM,CAAEJ,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC,EAClDiB,KAAK,CACN;QAED,OAAOlD,aAAa,CAACuE,KAAK,CAAC;UACzB,GAAG5C,KAAK;UACRE,MAAM;UACNT,KAAK,EAAES,MAAM,CAACZ,MAAM,GAAG;QACzB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACuD,QAAQ,CAAE7C,KAAK,IAAK;QACvB,MAAM8C,UAAU,GAAG9C,KAAK,CAACE,MAAM,CAACmC,SAAS,CAAEhC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC;;QAErE;QACA;QACA,MAAMyC,uBAAuB,GAAG,IAAIC,GAAG,CACrChD,KAAK,CAACE,MAAM,CACTc,KAAK,CAAC,CAAC,EAAE8B,UAAU,CAAC,CACpBrC,MAAM,CAAEJ,CAAC,IAAKL,KAAK,CAACe,kBAAkB,CAACJ,QAAQ,CAACN,CAAC,CAACC,GAAG,CAAC,CAAC,CACvDF,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,CACrB,CAAC;QAED,MAAM2C,SAAS,GAAGjD,KAAK,CAACE,MAAM,CAACO,MAAM,CAClCJ,CAAC,IAAK,CAAC0C,uBAAuB,CAACG,GAAG,CAAC7C,CAAC,CAACC,GAAG,CAC3C,CAAC;QAED,OAAO;UACLJ,MAAM,EAAE+C,SAAS;UACjBzB,gBAAgB,EAAExB,KAAK,CAACwB,gBAAgB,CAACf,MAAM,CAC5CH,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GACzB,CAAC;UACDI,gBAAgB,EAAEV,KAAK,CAACU,gBAAgB,CAACD,MAAM,CAC5CH,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GACzB,CAAC;UACDS,kBAAkB,EAAEf,KAAK,CAACe,kBAAkB,CAACN,MAAM,CAChDH,GAAG,IAAK,CAACyC,uBAAuB,CAACG,GAAG,CAAC5C,GAAG,CAC3C;QACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC;EAEO6C,gBAAgB,GAAGA,CAAC;IAAE5B;EAAgC,CAAC,KAAK;IAClE,MAAM;MAAEvB,KAAK;MAAEwC;IAAW,CAAC,GAAG,IAAI,CAACzC,KAAK;IAExC,IAAIC,KAAK,CAACE,MAAM,CAACU,IAAI,CAAEP,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC,EAAE;MACjD;MACA;MACA;MACAkC,UAAU,CAACG,QAAQ,CAAC;QAClB,GAAGrE,YAAY,CAAC8E,GAAG,CAAC,CAAC;QACrBC,MAAM,EAAE9B,KAAK,CAACjB,GAAG;QACjBgD,MAAM,EAAEtD,KAAK,CAACM;MAChB,CAAC,CAAC;IACJ,CAAC,MAAM;MACL;MACA,IAAI,CAACuC,QAAQ,CAAE7C,KAAK,KAAM;QACxBE,MAAM,EAAEF,KAAK,CAACE,MAAM,CAACO,MAAM,CAAEJ,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKiB,KAAK,CAACjB,GAAG,CAAC;QACvDkB,gBAAgB,EAAExB,KAAK,CAACwB,gBAAgB,CAACf,MAAM,CAC5CH,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GACzB,CAAC;QACDI,gBAAgB,EAAEV,KAAK,CAACU,gBAAgB,CAACD,MAAM,CAC5CH,GAAG,IAAKA,GAAG,KAAKiB,KAAK,CAACjB,GACzB;MACF,CAAC,CAAC,CAAC;IACL;EACF,CAAC;EAEOiD,qBAAqB,GAAGA,CAC9B;IAAEhC;EAAgC,CAAC,EACnCiC,OAAgB,KAEhB,IAAI,CAACzD,KAAK,CAACyC,UAAU,CAACiB,IAAI,CAAC;IACzBC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE;MAAEH;IAAQ,CAAC;IACjBF,MAAM,EAAE/B,KAAK,CAACjB;EAChB,CAAC,CAAC;EAEIsD,mBAAmB,GAAGA,CAC5B;IAAErC;EAAgC,CAAC,EACnCiC,OAAgB,KAEhB,IAAI,CAACzD,KAAK,CAACyC,UAAU,CAACiB,IAAI,CAAC;IACzBC,IAAI,EAAE,eAAe;IACrBC,IAAI,EAAE;MAAEH;IAAQ,CAAC;IACjBF,MAAM,EAAE/B,KAAK,CAACjB;EAChB,CAAC,CAAC;EAEIuD,kBAAkB,GAAGA,CAAC;IAAEtC;EAAgC,CAAC,KAAK;IACpE,IAAI,CAACxB,KAAK,CAACyC,UAAU,CAACiB,IAAI,CAAC;MACzBC,IAAI,EAAE,cAAc;MACpBJ,MAAM,EAAE/B,KAAK,CAACjB;IAChB,CAAC,CAAC;EACJ,CAAC;EAEOwD,gBAAgB,GAAGA,CAAC;IAAEvC;EAAgC,CAAC,KAAK;IAClE,IAAI,CAACxB,KAAK,CAACyC,UAAU,CAACiB,IAAI,CAAC;MACzBC,IAAI,EAAE,YAAY;MAClBJ,MAAM,EAAE/B,KAAK,CAACjB;IAChB,CAAC,CAAC;EACJ,CAAC;EAEOyD,mBAAmB,GAAGA,CAAC;IAAExC;EAAgC,CAAC,KAAK;IACrE,IAAI,CAACxB,KAAK,CAACyC,UAAU,CAACiB,IAAI,CAAC;MACzBC,IAAI,EAAE,eAAe;MACrBJ,MAAM,EAAE/B,KAAK,CAACjB;IAChB,CAAC,CAAC;EACJ,CAAC;EAED0D,MAAMA,CAAA,EAAG;IACP,MAAM;MACJhE,KAAK;MACL;MACAmB,WAAW,EAAE8C,CAAC;MACd,GAAGC;IACL,CAAC,GAAG,IAAI,CAACnE,KAAK;IAEd,MAAM;MAAEG,MAAM;MAAEiB,WAAW;MAAEK,gBAAgB;MAAEd;IAAiB,CAAC,GAC/D,IAAI,CAACV,KAAK;IAEZ,MAAMmE,oBAAoB,GACxBnE,KAAK,CAACG,eAAe,CAACkB,MAAM,CAAqB,CAACC,GAAG,EAAEC,KAAK,KAAK;MAC/DD,GAAG,CAACC,KAAK,CAACjB,GAAG,CAAC,GAAGgB,GAAG,CAACC,KAAK,CAACjB,GAAG,CAAC,IAAI,IAAI,CAACP,KAAK,CAACqE,QAAQ,CAAC7C,KAAK,EAAE,IAAI,CAAC;MACnE,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,oBACErC,IAAA,CAACC,qBAAqB;MAACmF,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAC,QAAA,eAC7CvF,IAAA,CAACb,sBAAsB;QAAAoG,QAAA,eACrBvF,IAAA,CAACP,qBAAqB,CAAC+F,QAAQ;UAAAD,QAAA,EAC3BE,MAAM,iBACNzF,IAAA,CAACN,wBAAwB,CAAC8F,QAAQ;YAAAD,QAAA,EAC9BG,aAAa,iBACb1F,IAAA,CAACd,kBAAkB,CAACsG,QAAQ;cAAAD,QAAA,EACxBI,mBAAmB,iBACnB3F,IAAA,CAACH,SAAS;gBACR4F,MAAM,EAAEA,MAAQ;gBAChBE,mBAAmB,EAAEA,mBAAoB;gBACzCD,aAAa,EAAEA,aAAc;gBAC7BvC,gBAAgB,EAAE,IAAI,CAACA,gBAAiB;gBACxClC,MAAM,EAAEA,MAAO;gBACfsB,gBAAgB,EAAEA,gBAAiB;gBACnCd,gBAAgB,EAAEA,gBAAiB;gBACnCmE,WAAW,EAAE,IAAI,CAACtC,eAAgB;gBAClCuC,YAAY,EAAE,IAAI,CAAC3B,gBAAiB;gBACpC4B,iBAAiB,EAAE,IAAI,CAACxB,qBAAsB;gBAC9CyB,eAAe,EAAE,IAAI,CAACpB,mBAAoB;gBAC1CtB,YAAY,EAAE,IAAI,CAACA,YAAa;gBAChCtC,KAAK,EAAEA,KAAM;gBACbmB,WAAW,EAAEA,WAAY;gBACzB8D,cAAc,EAAE,IAAI,CAACpB,kBAAmB;gBACxCqB,YAAY,EAAE,IAAI,CAACpB,gBAAiB;gBACpCqB,eAAe,EAAE,IAAI,CAACpB,mBAAoB;gBAC1CI,oBAAoB,EAAEA,oBAAqB;gBAAA,GACvCD;cAAI,CACT;YACF,CAC0B;UAC9B,CACgC;QACpC,CAC6B;MAAC,CACX;IAAC,CACJ,CAAC;EAE5B;AACF;AAEA,MAAMI,MAAM,GAAG9F,UAAU,CAAC4G,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["HeaderShownContext","SafeAreaProviderCompat","CommonActions","StackActions","React","StyleSheet","View","SafeAreaInsetsContext","ModalPresentationContext","GestureHandlerRootView","HeaderContainer","CardStack","getAnimationEnabled","jsx","_jsx","GestureHandlerWrapper","isArrayEqual","a","b","length","every","it","index","Object","is","StackView","Component","getDerivedStateFromProps","props","state","allRoutes","routes","preloadedRoutes","previousRoutes","previousState","map","r","key","closingRoutes","filter","closingRouteKeys","includes","some","pr","replacingRoutes","replacingRouteKeys","slice","splice","push","descriptors","previousDescriptors","reduce","acc","route","openingRouteKeys","previousFocusedRoute","undefined","nextFocusedRoute","isAnimationEnabled","descriptor","options","animation","getAnimationTypeForReplace","animationTypeForReplace","previousReplacingRoutes","existing","Error","getPreviousRoute","findIndex","renderHeader","handleOpenRoute","navigation","routeNames","name","dispatch","reset","setState","routeIndex","replacingRoutesToRemove","Set","newRoutes","has","handleCloseRoute","pop","source","target","handleTransitionStart","closing","emit","type","data","handleTransitionEnd","handleGestureStart","handleGestureEnd","handleGestureCancel","render","_","rest","preloadedDescriptors","describe","style","styles","container","children","Consumer","insets","isParentModal","isParentHeaderShown","onOpenRoute","onCloseRoute","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","create","flex"],"sourceRoot":"../../../../src","sources":["views/Stack/StackView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderContainer.d.ts","sourceRoot":"","sources":["../../../../../src/views/Header/HeaderContainer.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"HeaderContainer.d.ts","sourceRoot":"","sources":["../../../../../src/views/Header/HeaderContainer.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,KAAK,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,SAAS,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQhF,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,KAAK,GAAG,SAAS,CAAC;IACzE,eAAe,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,KAAK,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,KAAK,GACN,EAAE,KAAK,2CAqIP"}
|
|
@@ -10,7 +10,7 @@ type Props = StackNavigationConfig & {
|
|
|
10
10
|
};
|
|
11
11
|
type State = {
|
|
12
12
|
routes: Route<string>[];
|
|
13
|
-
|
|
13
|
+
previousState: StackNavigationState<ParamListBase> | undefined;
|
|
14
14
|
previousDescriptors: StackDescriptorMap;
|
|
15
15
|
openingRouteKeys: string[];
|
|
16
16
|
closingRouteKeys: string[];
|
|
@@ -20,7 +20,7 @@ type State = {
|
|
|
20
20
|
export declare class StackView extends React.Component<Props, State> {
|
|
21
21
|
static getDerivedStateFromProps(props: Readonly<Props>, state: Readonly<State>): {
|
|
22
22
|
routes: Route<string>[];
|
|
23
|
-
|
|
23
|
+
previousState: StackNavigationState<ParamListBase>;
|
|
24
24
|
descriptors: StackDescriptorMap;
|
|
25
25
|
previousDescriptors: StackDescriptorMap;
|
|
26
26
|
openingRouteKeys?: undefined;
|
|
@@ -28,7 +28,7 @@ export declare class StackView extends React.Component<Props, State> {
|
|
|
28
28
|
replacingRouteKeys?: undefined;
|
|
29
29
|
} | {
|
|
30
30
|
routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
|
|
31
|
-
|
|
31
|
+
previousState: StackNavigationState<ParamListBase>;
|
|
32
32
|
previousDescriptors: StackDescriptorMap;
|
|
33
33
|
openingRouteKeys: string[];
|
|
34
34
|
closingRouteKeys: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/StackView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AASrB,KAAK,KAAK,GAAG,qBAAqB,GAAG;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,sBAAsB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,eAAe,CAAC;CACtB,CAAC;AAEF,KAAK,KAAK,GAAG;IAEX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/StackView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AASrB,KAAK,KAAK,GAAG,qBAAqB,GAAG;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,sBAAsB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,eAAe,CAAC;CACtB,CAAC;AAEF,KAAK,KAAK,GAAG;IAEX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB,aAAa,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAE/D,mBAAmB,EAAE,kBAAkB,CAAC;IAExC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAG7B,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAWF,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1D,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;IAwQxB,KAAK,EAAE,KAAK,CAQV;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,eAAe,CAuDrB;IAEF,OAAO,CAAC,gBAAgB,CAwBtB;IAEF,OAAO,CAAC,qBAAqB,CAQxB;IAEL,OAAO,CAAC,mBAAmB,CAQtB;IAEL,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,MAAM;CAyDP"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/stack",
|
|
3
3
|
"description": "Stack navigator component for iOS and Android with animated transitions and gestures",
|
|
4
|
-
"version": "7.8.
|
|
4
|
+
"version": "7.8.3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"clean": "del lib"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@react-navigation/elements": "^2.9.
|
|
48
|
+
"@react-navigation/elements": "^2.9.9",
|
|
49
49
|
"color": "^4.2.3",
|
|
50
50
|
"use-latest-callback": "^0.2.4"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@jest/globals": "^30.0.0",
|
|
54
|
-
"@react-navigation/native": "^7.1.
|
|
54
|
+
"@react-navigation/native": "^7.1.32",
|
|
55
55
|
"@testing-library/react-native": "^13.2.1",
|
|
56
56
|
"@types/color": "^4.2.0",
|
|
57
57
|
"@types/react": "~19.0.10",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"typescript": "^5.9.2"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@react-navigation/native": "^7.1.
|
|
69
|
+
"@react-navigation/native": "^7.1.32",
|
|
70
70
|
"react": ">= 18.2.0",
|
|
71
71
|
"react-native": "*",
|
|
72
72
|
"react-native-gesture-handler": ">= 2.0.0",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
]
|
|
92
92
|
]
|
|
93
93
|
},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "4d198b78523718c603e4919d86901204b05f109c"
|
|
95
95
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { getHeaderTitle, HeaderBackContext } from '@react-navigation/elements';
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
NavigationRouteContext,
|
|
3
|
+
NavigationProvider,
|
|
5
4
|
type ParamListBase,
|
|
6
5
|
type Route,
|
|
7
6
|
useLinkBuilder,
|
|
@@ -143,38 +142,37 @@ export function HeaderContainer({
|
|
|
143
142
|
};
|
|
144
143
|
|
|
145
144
|
return (
|
|
146
|
-
<
|
|
145
|
+
<NavigationProvider
|
|
147
146
|
key={scene.descriptor.route.key}
|
|
148
|
-
|
|
147
|
+
route={scene.descriptor.route}
|
|
148
|
+
navigation={scene.descriptor.navigation}
|
|
149
149
|
>
|
|
150
|
-
<
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
</NavigationRouteContext.Provider>
|
|
177
|
-
</NavigationContext.Provider>
|
|
150
|
+
<View
|
|
151
|
+
onLayout={
|
|
152
|
+
onContentHeightChange
|
|
153
|
+
? (e) => {
|
|
154
|
+
const { height } = e.nativeEvent.layout;
|
|
155
|
+
|
|
156
|
+
onContentHeightChange({
|
|
157
|
+
route: scene.descriptor.route,
|
|
158
|
+
height,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
: undefined
|
|
162
|
+
}
|
|
163
|
+
pointerEvents={isFocused ? 'box-none' : 'none'}
|
|
164
|
+
aria-hidden={!isFocused}
|
|
165
|
+
style={
|
|
166
|
+
// Avoid positioning the focused header absolutely
|
|
167
|
+
// Otherwise accessibility tools don't seem to be able to find it
|
|
168
|
+
(mode === 'float' && !isFocused) || headerTransparent
|
|
169
|
+
? styles.header
|
|
170
|
+
: null
|
|
171
|
+
}
|
|
172
|
+
>
|
|
173
|
+
{header !== undefined ? header(props) : <Header {...props} />}
|
|
174
|
+
</View>
|
|
175
|
+
</NavigationProvider>
|
|
178
176
|
);
|
|
179
177
|
})}
|
|
180
178
|
</View>
|
|
@@ -43,8 +43,8 @@ type Props = StackNavigationConfig & {
|
|
|
43
43
|
type State = {
|
|
44
44
|
// Local copy of the routes which are actually rendered
|
|
45
45
|
routes: Route<string>[];
|
|
46
|
-
// Previous
|
|
47
|
-
|
|
46
|
+
// Previous navigation state for comparison
|
|
47
|
+
previousState: StackNavigationState<ParamListBase> | undefined;
|
|
48
48
|
// Previous descriptors, to compare whether descriptors have changed or not
|
|
49
49
|
previousDescriptors: StackDescriptorMap;
|
|
50
50
|
// List of routes being opened, we need to animate pushing of these new routes
|
|
@@ -73,12 +73,15 @@ export class StackView extends React.Component<Props, State> {
|
|
|
73
73
|
state: Readonly<State>
|
|
74
74
|
) {
|
|
75
75
|
const allRoutes = [...props.state.routes, ...props.state.preloadedRoutes];
|
|
76
|
+
const previousRoutes = state.previousState
|
|
77
|
+
? [...state.previousState.routes, ...state.previousState.preloadedRoutes]
|
|
78
|
+
: [];
|
|
76
79
|
|
|
77
80
|
// If there was no change in routes, we don't need to compute anything
|
|
78
81
|
if (
|
|
79
82
|
isArrayEqual(
|
|
80
83
|
allRoutes.map((r) => r.key),
|
|
81
|
-
|
|
84
|
+
previousRoutes.map((r) => r.key)
|
|
82
85
|
) &&
|
|
83
86
|
state.routes.length
|
|
84
87
|
) {
|
|
@@ -111,7 +114,6 @@ export class StackView extends React.Component<Props, State> {
|
|
|
111
114
|
routes.push(...closingRoutes);
|
|
112
115
|
}
|
|
113
116
|
|
|
114
|
-
let previousRoutes = state.previousRoutes;
|
|
115
117
|
let descriptors = props.descriptors;
|
|
116
118
|
let previousDescriptors = state.previousDescriptors;
|
|
117
119
|
|
|
@@ -126,7 +128,7 @@ export class StackView extends React.Component<Props, State> {
|
|
|
126
128
|
previousDescriptors = props.descriptors;
|
|
127
129
|
}
|
|
128
130
|
|
|
129
|
-
if (!isArrayEqual(allRoutes,
|
|
131
|
+
if (!isArrayEqual(allRoutes, previousRoutes)) {
|
|
130
132
|
// if any route objects have changed, we should update them
|
|
131
133
|
const map = allRoutes.reduce<Record<string, Route<string>>>(
|
|
132
134
|
(acc, route) => {
|
|
@@ -137,12 +139,11 @@ export class StackView extends React.Component<Props, State> {
|
|
|
137
139
|
);
|
|
138
140
|
|
|
139
141
|
routes = routes.map((route) => map[route.key] || route);
|
|
140
|
-
previousRoutes = allRoutes;
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
return {
|
|
144
145
|
routes,
|
|
145
|
-
|
|
146
|
+
previousState: props.state,
|
|
146
147
|
descriptors,
|
|
147
148
|
previousDescriptors,
|
|
148
149
|
};
|
|
@@ -158,9 +159,6 @@ export class StackView extends React.Component<Props, State> {
|
|
|
158
159
|
props.state.routes.slice(0, props.state.index + 1)
|
|
159
160
|
: props.state.routes;
|
|
160
161
|
|
|
161
|
-
// Now we need to determine which routes were added and removed
|
|
162
|
-
const { previousRoutes } = state;
|
|
163
|
-
|
|
164
162
|
let { openingRouteKeys, closingRouteKeys, replacingRouteKeys } = state;
|
|
165
163
|
|
|
166
164
|
// If a route that was closing or being replaced is now back in the routes,
|
|
@@ -173,9 +171,12 @@ export class StackView extends React.Component<Props, State> {
|
|
|
173
171
|
(key) => !routes.some((r) => r.key === key)
|
|
174
172
|
);
|
|
175
173
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
// Get previous focused route from previousState (actual focused route, not last in previousRoutes
|
|
175
|
+
// which can be a preloaded route that was never focused)
|
|
176
|
+
const previousFocusedRoute = state.previousState
|
|
177
|
+
? state.previousState.routes[state.previousState.index]
|
|
178
|
+
: undefined;
|
|
179
|
+
|
|
179
180
|
const nextFocusedRoute = routes[routes.length - 1];
|
|
180
181
|
|
|
181
182
|
const isAnimationEnabled = (key: string) => {
|
|
@@ -324,7 +325,7 @@ export class StackView extends React.Component<Props, State> {
|
|
|
324
325
|
|
|
325
326
|
return {
|
|
326
327
|
routes,
|
|
327
|
-
|
|
328
|
+
previousState: props.state,
|
|
328
329
|
previousDescriptors: props.descriptors,
|
|
329
330
|
openingRouteKeys,
|
|
330
331
|
closingRouteKeys,
|
|
@@ -335,7 +336,7 @@ export class StackView extends React.Component<Props, State> {
|
|
|
335
336
|
|
|
336
337
|
state: State = {
|
|
337
338
|
routes: [],
|
|
338
|
-
|
|
339
|
+
previousState: undefined,
|
|
339
340
|
previousDescriptors: {},
|
|
340
341
|
openingRouteKeys: [],
|
|
341
342
|
closingRouteKeys: [],
|