@react-navigation/native-stack 7.0.0-alpha.2 → 7.0.0-alpha.20
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/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createNativeStackNavigator.js +29 -25
- package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/getModalRoutesKeys.js +17 -0
- package/lib/commonjs/utils/getModalRoutesKeys.js.map +1 -0
- package/lib/commonjs/utils/useAnimatedHeaderHeight.js +19 -0
- package/lib/commonjs/utils/useAnimatedHeaderHeight.js.map +1 -0
- package/lib/commonjs/utils/useDismissedRouteError.js +3 -4
- package/lib/commonjs/utils/useDismissedRouteError.js.map +1 -1
- package/lib/commonjs/utils/useInvalidPreventRemoveError.js +4 -5
- package/lib/commonjs/utils/useInvalidPreventRemoveError.js.map +1 -1
- package/lib/commonjs/views/DebugContainer.js +2 -2
- package/lib/commonjs/views/DebugContainer.js.map +1 -1
- package/lib/commonjs/views/DebugContainer.native.js +19 -7
- package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
- package/lib/commonjs/views/FontProcessor.js.map +1 -1
- package/lib/commonjs/views/FontProcessor.native.js +2 -4
- package/lib/commonjs/views/FontProcessor.native.js.map +1 -1
- package/lib/commonjs/views/HeaderConfig.js +18 -29
- package/lib/commonjs/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/views/NativeStackView.js +27 -17
- package/lib/commonjs/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/views/NativeStackView.native.js +131 -49
- package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createNativeStackNavigator.js +26 -21
- package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/getModalRoutesKeys.js +10 -0
- package/lib/module/utils/getModalRoutesKeys.js.map +1 -0
- package/lib/module/utils/useAnimatedHeaderHeight.js +10 -0
- package/lib/module/utils/useAnimatedHeaderHeight.js.map +1 -0
- package/lib/module/utils/useDismissedRouteError.js +1 -2
- package/lib/module/utils/useDismissedRouteError.js.map +1 -1
- package/lib/module/utils/useInvalidPreventRemoveError.js +2 -3
- package/lib/module/utils/useInvalidPreventRemoveError.js.map +1 -1
- package/lib/module/views/DebugContainer.js.map +1 -1
- package/lib/module/views/DebugContainer.native.js +18 -4
- package/lib/module/views/DebugContainer.native.js.map +1 -1
- package/lib/module/views/FontProcessor.js.map +1 -1
- package/lib/module/views/FontProcessor.native.js +2 -4
- package/lib/module/views/FontProcessor.native.js.map +1 -1
- package/lib/module/views/HeaderConfig.js +18 -29
- package/lib/module/views/HeaderConfig.js.map +1 -1
- package/lib/module/views/NativeStackView.js +25 -15
- package/lib/module/views/NativeStackView.js.map +1 -1
- package/lib/module/views/NativeStackView.native.js +130 -48
- package/lib/module/views/NativeStackView.native.js.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts +14 -8
- package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +97 -12
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/getModalRoutesKeys.d.ts +4 -0
- package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +1 -0
- package/lib/typescript/src/utils/useAnimatedHeaderHeight.d.ts +5 -0
- package/lib/typescript/src/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
- package/lib/typescript/src/views/DebugContainer.d.ts +2 -2
- package/lib/typescript/src/views/DebugContainer.d.ts.map +1 -1
- package/lib/typescript/src/views/DebugContainer.native.d.ts +7 -2
- package/lib/typescript/src/views/DebugContainer.native.d.ts.map +1 -1
- package/lib/typescript/src/views/FontProcessor.native.d.ts.map +1 -1
- package/lib/typescript/src/views/HeaderConfig.d.ts +2 -2
- package/lib/typescript/src/views/HeaderConfig.d.ts.map +1 -1
- package/lib/typescript/src/views/NativeStackView.d.ts +3 -2
- package/lib/typescript/src/views/NativeStackView.d.ts.map +1 -1
- package/lib/typescript/src/views/NativeStackView.native.d.ts +3 -2
- package/lib/typescript/src/views/NativeStackView.native.d.ts.map +1 -1
- package/package.json +15 -16
- package/src/index.tsx +6 -0
- package/src/navigators/createNativeStackNavigator.tsx +39 -11
- package/src/types.tsx +104 -12
- package/src/utils/getModalRoutesKeys.ts +21 -0
- package/src/utils/useAnimatedHeaderHeight.tsx +18 -0
- package/src/views/DebugContainer.native.tsx +12 -6
- package/src/views/DebugContainer.tsx +1 -1
- package/src/views/FontProcessor.native.tsx +1 -2
- package/src/views/HeaderConfig.tsx +106 -134
- package/src/views/NativeStackView.native.tsx +273 -167
- package/src/views/NativeStackView.tsx +132 -123
|
@@ -7,8 +7,11 @@ function NativeStackNavigator(_ref) {
|
|
|
7
7
|
id,
|
|
8
8
|
initialRouteName,
|
|
9
9
|
children,
|
|
10
|
+
layout,
|
|
10
11
|
screenListeners,
|
|
11
12
|
screenOptions,
|
|
13
|
+
screenLayout,
|
|
14
|
+
UNSTABLE_getStateForRouteNamesChange,
|
|
12
15
|
...rest
|
|
13
16
|
} = _ref;
|
|
14
17
|
const {
|
|
@@ -20,35 +23,37 @@ function NativeStackNavigator(_ref) {
|
|
|
20
23
|
id,
|
|
21
24
|
initialRouteName,
|
|
22
25
|
children,
|
|
26
|
+
layout,
|
|
23
27
|
screenListeners,
|
|
24
|
-
screenOptions
|
|
28
|
+
screenOptions,
|
|
29
|
+
screenLayout,
|
|
30
|
+
UNSTABLE_getStateForRouteNamesChange
|
|
25
31
|
});
|
|
26
|
-
React.useEffect(() =>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const isFocused = navigation.isFocused();
|
|
32
|
+
React.useEffect(() =>
|
|
33
|
+
// @ts-expect-error: there may not be a tab navigator in parent
|
|
34
|
+
navigation?.addListener?.('tabPress', e => {
|
|
35
|
+
const isFocused = navigation.isFocused();
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
}
|
|
37
|
+
// Run the operation in the next frame so we're sure all listeners have been run
|
|
38
|
+
// This is necessary to know if preventDefault() has been called
|
|
39
|
+
requestAnimationFrame(() => {
|
|
40
|
+
if (state.index > 0 && isFocused && !e.defaultPrevented) {
|
|
41
|
+
// When user taps on already focused tab and we're inside the tab,
|
|
42
|
+
// reset the stack to replicate native behaviour
|
|
43
|
+
navigation.dispatch({
|
|
44
|
+
...StackActions.popToTop(),
|
|
45
|
+
target: state.key
|
|
43
46
|
});
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
}, [navigation, state.index, state.key]);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}), [navigation, state.index, state.key]);
|
|
47
50
|
return /*#__PURE__*/React.createElement(NavigationContent, null, /*#__PURE__*/React.createElement(NativeStackView, _extends({}, rest, {
|
|
48
51
|
state: state,
|
|
49
52
|
navigation: navigation,
|
|
50
53
|
descriptors: descriptors
|
|
51
54
|
})));
|
|
52
55
|
}
|
|
53
|
-
export
|
|
56
|
+
export function createNativeStackNavigator(config) {
|
|
57
|
+
return createNavigatorFactory(NativeStackNavigator)(config);
|
|
58
|
+
}
|
|
54
59
|
//# sourceMappingURL=createNativeStackNavigator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","id","initialRouteName","children","screenListeners","screenOptions","rest","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createNativeStackNavigator"],"sourceRoot":"../../../src","sources":["navigators/createNativeStackNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,
|
|
1
|
+
{"version":3,"names":["createNavigatorFactory","StackActions","StackRouter","useNavigationBuilder","React","NativeStackView","NativeStackNavigator","_ref","id","initialRouteName","children","layout","screenListeners","screenOptions","screenLayout","UNSTABLE_getStateForRouteNamesChange","rest","state","descriptors","navigation","NavigationContent","useEffect","addListener","e","isFocused","requestAnimationFrame","index","defaultPrevented","dispatch","popToTop","target","key","createElement","_extends","createNativeStackNavigator","config"],"sourceRoot":"../../../src","sources":["navigators/createNativeStackNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAKtBC,YAAY,EAEZC,WAAW,EAIXC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAQ9B,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,SAASC,oBAAoBA,CAAAC,IAAA,EAUC;EAAA,IAVA;IAC5BC,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,YAAY;IACZC,oCAAoC;IACpC,GAAGC;EACsB,CAAC,GAAAT,IAAA;EAC1B,MAAM;IAAEU,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDjB,oBAAoB,CAMlBD,WAAW,EAAE;IACbM,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,MAAM;IACNC,eAAe;IACfC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,CAAC;EAEJX,KAAK,CAACiB,SAAS,CACb;EACE;EACAF,UAAU,EAAEG,WAAW,GAAG,UAAU,EAAGC,CAAM,IAAK;IAChD,MAAMC,SAAS,GAAGL,UAAU,CAACK,SAAS,CAAC,CAAC;;IAExC;IACA;IACAC,qBAAqB,CAAC,MAAM;MAC1B,IACER,KAAK,CAACS,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EACnD;QACA;QACA;QACAR,UAAU,CAACS,QAAQ,CAAC;UAClB,GAAG3B,YAAY,CAAC4B,QAAQ,CAAC,CAAC;UAC1BC,MAAM,EAAEb,KAAK,CAACc;QAChB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EACJ,CAACZ,UAAU,EAAEF,KAAK,CAACS,KAAK,EAAET,KAAK,CAACc,GAAG,CACrC,CAAC;EAED,oBACE3B,KAAA,CAAA4B,aAAA,CAACZ,iBAAiB,qBAChBhB,KAAA,CAAA4B,aAAA,CAAC3B,eAAe,EAAA4B,QAAA,KACVjB,IAAI;IACRC,KAAK,EAAEA,KAAM;IACbE,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA;EAAY,EAC1B,CACgB,CAAC;AAExB;AAEA,OAAO,SAASgB,0BAA0BA,CAqBxCC,MAAe,EAAmC;EAClD,OAAOnC,sBAAsB,CAACM,oBAAoB,CAAC,CAAC6B,MAAM,CAAC;AAC7D"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const getModalRouteKeys = (routes, descriptors) => routes.reduce((acc, route) => {
|
|
2
|
+
const {
|
|
3
|
+
presentation
|
|
4
|
+
} = descriptors[route.key]?.options ?? {};
|
|
5
|
+
if (acc.length && !presentation || presentation === 'modal' || presentation === 'transparentModal') {
|
|
6
|
+
acc.push(route.key);
|
|
7
|
+
}
|
|
8
|
+
return acc;
|
|
9
|
+
}, []);
|
|
10
|
+
//# sourceMappingURL=getModalRoutesKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getModalRouteKeys","routes","descriptors","reduce","acc","route","presentation","key","options","length","push"],"sourceRoot":"../../../src","sources":["utils/getModalRoutesKeys.ts"],"mappings":"AAIA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,MAAuB,EACvBC,WAAqC,KAErCD,MAAM,CAACE,MAAM,CAAW,CAACC,GAAG,EAAEC,KAAK,KAAK;EACtC,MAAM;IAAEC;EAAa,CAAC,GAAGJ,WAAW,CAACG,KAAK,CAACE,GAAG,CAAC,EAAEC,OAAO,IAAI,CAAC,CAAC;EAE9D,IACGJ,GAAG,CAACK,MAAM,IAAI,CAACH,YAAY,IAC5BA,YAAY,KAAK,OAAO,IACxBA,YAAY,KAAK,kBAAkB,EACnC;IACAF,GAAG,CAACM,IAAI,CAACL,KAAK,CAACE,GAAG,CAAC;EACrB;EAEA,OAAOH,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export const AnimatedHeaderHeightContext = /*#__PURE__*/React.createContext(undefined);
|
|
3
|
+
export function useAnimatedHeaderHeight() {
|
|
4
|
+
const animatedValue = React.useContext(AnimatedHeaderHeightContext);
|
|
5
|
+
if (animatedValue === undefined) {
|
|
6
|
+
throw new Error("Couldn't find the header height. Are you inside a screen in a native stack navigator?");
|
|
7
|
+
}
|
|
8
|
+
return animatedValue;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=useAnimatedHeaderHeight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","AnimatedHeaderHeightContext","createContext","undefined","useAnimatedHeaderHeight","animatedValue","useContext","Error"],"sourceRoot":"../../../src","sources":["utils/useAnimatedHeaderHeight.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAO,MAAMC,2BAA2B,gBAAGD,KAAK,CAACE,aAAa,CAE5DC,SAAS,CAAC;AAEZ,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,MAAMC,aAAa,GAAGL,KAAK,CAACM,UAAU,CAACL,2BAA2B,CAAC;EAEnE,IAAII,aAAa,KAAKF,SAAS,EAAE;IAC/B,MAAM,IAAII,KAAK,CACb,uFACF,CAAC;EACH;EAEA,OAAOF,aAAa;AACtB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export function useDismissedRouteError(state) {
|
|
3
|
-
var _state$routes$find;
|
|
4
3
|
const [nextDismissedKey, setNextDismissedKey] = React.useState(null);
|
|
5
|
-
const dismissedRouteName = nextDismissedKey ?
|
|
4
|
+
const dismissedRouteName = nextDismissedKey ? state.routes.find(route => route.key === nextDismissedKey)?.name : null;
|
|
6
5
|
React.useEffect(() => {
|
|
7
6
|
if (dismissedRouteName) {
|
|
8
7
|
const message = `The screen '${dismissedRouteName}' was removed natively but didn't get removed from JS state. ` + `This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\n\n` + `Consider using a 'usePreventRemove' hook with 'headerBackButtonMenuEnabled: false' to prevent users from natively going back multiple screens.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useDismissedRouteError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"sourceRoot":"../../../src","sources":["utils/useDismissedRouteError.tsx"],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["React","useDismissedRouteError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"sourceRoot":"../../../src","sources":["utils/useDismissedRouteError.tsx"],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,sBAAsBA,CACpCC,KAA0C,EAC1C;EACA,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAC5D,IACF,CAAC;EAED,MAAMC,kBAAkB,GAAGH,gBAAgB,GACvCD,KAAK,CAACK,MAAM,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKP,gBAAgB,CAAC,EAAEQ,IAAI,GAClE,IAAI;EAERX,KAAK,CAACY,SAAS,CAAC,MAAM;IACpB,IAAIN,kBAAkB,EAAE;MACtB,MAAMO,OAAO,GACV,eAAcP,kBAAmB,+DAA8D,GAC/F,6HAA4H,GAC5H,gJAA+I;MAElJQ,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC;IACxB;EACF,CAAC,EAAE,CAACP,kBAAkB,CAAC,CAAC;EAExB,OAAO;IAAEF;EAAoB,CAAC;AAChC"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { usePreventRemoveContext } from '@react-navigation/native';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export function useInvalidPreventRemoveError(descriptors) {
|
|
4
|
-
var _preventedDescriptor$, _preventedDescriptor$2;
|
|
5
4
|
const {
|
|
6
5
|
preventedRoutes
|
|
7
6
|
} = usePreventRemoveContext();
|
|
8
7
|
const preventedRouteKey = Object.keys(preventedRoutes)[0];
|
|
9
8
|
const preventedDescriptor = descriptors[preventedRouteKey];
|
|
10
|
-
const isHeaderBackButtonMenuEnabledOnPreventedScreen = preventedDescriptor
|
|
11
|
-
const preventedRouteName = preventedDescriptor
|
|
9
|
+
const isHeaderBackButtonMenuEnabledOnPreventedScreen = preventedDescriptor?.options?.headerBackButtonMenuEnabled;
|
|
10
|
+
const preventedRouteName = preventedDescriptor?.route?.name;
|
|
12
11
|
React.useEffect(() => {
|
|
13
12
|
if (preventedRouteKey != null && isHeaderBackButtonMenuEnabledOnPreventedScreen) {
|
|
14
13
|
const message = `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \n\n` + `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["usePreventRemoveContext","React","useInvalidPreventRemoveError","descriptors","preventedRoutes","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","useEffect","message","console","error"],"sourceRoot":"../../../src","sources":["utils/useInvalidPreventRemoveError.tsx"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,0BAA0B;AAClE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAI9B,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["usePreventRemoveContext","React","useInvalidPreventRemoveError","descriptors","preventedRoutes","preventedRouteKey","Object","keys","preventedDescriptor","isHeaderBackButtonMenuEnabledOnPreventedScreen","options","headerBackButtonMenuEnabled","preventedRouteName","route","name","useEffect","message","console","error"],"sourceRoot":"../../../src","sources":["utils/useInvalidPreventRemoveError.tsx"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,0BAA0B;AAClE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAI9B,OAAO,SAASC,4BAA4BA,CAC1CC,WAAqC,EACrC;EACA,MAAM;IAAEC;EAAgB,CAAC,GAAGJ,uBAAuB,CAAC,CAAC;EACrD,MAAMK,iBAAiB,GAAGC,MAAM,CAACC,IAAI,CAACH,eAAe,CAAC,CAAC,CAAC,CAAC;EACzD,MAAMI,mBAAmB,GAAGL,WAAW,CAACE,iBAAiB,CAAC;EAC1D,MAAMI,8CAA8C,GAClDD,mBAAmB,EAAEE,OAAO,EAAEC,2BAA2B;EAC3D,MAAMC,kBAAkB,GAAGJ,mBAAmB,EAAEK,KAAK,EAAEC,IAAI;EAE3Db,KAAK,CAACc,SAAS,CAAC,MAAM;IACpB,IACEV,iBAAiB,IAAI,IAAI,IACzBI,8CAA8C,EAC9C;MACA,MAAMO,OAAO,GACV,cAAaJ,kBAAmB,2GAA0G,GAC1I,8DAA6DA,kBAAmB,mCAAkC;MACrHK,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC;IACxB;EACF,CAAC,EAAE,CACDX,iBAAiB,EACjBI,8CAA8C,EAC9CG,kBAAkB,CACnB,CAAC;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","DebugContainer","props","stackPresentation","_","rest"],"sourceRoot":"../../../src","sources":["views/DebugContainer.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,
|
|
1
|
+
{"version":3,"names":["React","View","DebugContainer","props","stackPresentation","_","rest","createElement"],"sourceRoot":"../../../src","sources":["views/DebugContainer.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAwB,cAAc;AAQnD,OAAO,SAASC,cAAcA,CAACC,KAAqB,EAAE;EACpD;EACA,MAAM;IAAEC,iBAAiB,EAAEC,CAAC;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAC/C,oBAAOH,KAAA,CAAAO,aAAA,CAACN,IAAI,EAAKK,IAAO,CAAC;AAC3B"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { Platform, View } from 'react-native';
|
|
3
|
-
// @ts-
|
|
4
|
+
// @ts-expect-error Getting private component
|
|
4
5
|
import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* This view must *not* be flattened.
|
|
8
|
+
* See https://github.com/software-mansion/react-native-screens/pull/1825
|
|
9
|
+
* for detailed explanation.
|
|
10
|
+
*/
|
|
11
|
+
export let DebugContainer = props => {
|
|
12
|
+
return /*#__PURE__*/React.createElement(View, _extends({}, props, {
|
|
13
|
+
collapsable: false
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
6
16
|
if (process.env.NODE_ENV !== 'production') {
|
|
7
17
|
DebugContainer = props => {
|
|
8
18
|
const {
|
|
@@ -11,9 +21,13 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
11
21
|
} = props;
|
|
12
22
|
if (Platform.OS === 'ios' && stackPresentation !== 'push') {
|
|
13
23
|
// This is necessary for LogBox
|
|
14
|
-
return /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(View, rest
|
|
24
|
+
return /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(View, _extends({}, rest, {
|
|
25
|
+
collapsable: false
|
|
26
|
+
})));
|
|
15
27
|
}
|
|
16
|
-
return /*#__PURE__*/React.createElement(View, rest
|
|
28
|
+
return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
|
|
29
|
+
collapsable: false
|
|
30
|
+
}));
|
|
17
31
|
};
|
|
18
32
|
}
|
|
19
33
|
//# sourceMappingURL=DebugContainer.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","AppContainer","DebugContainer","process","env","NODE_ENV","
|
|
1
|
+
{"version":3,"names":["React","Platform","View","AppContainer","DebugContainer","props","createElement","_extends","collapsable","process","env","NODE_ENV","stackPresentation","rest","OS"],"sourceRoot":"../../../src","sources":["views/DebugContainer.native.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,IAAI,QAAwB,cAAc;AAC7D;AACA,OAAOC,YAAY,MAAM,iDAAiD;AAQ1E;AACA;AACA;AACA;AACA;AACA,OAAO,IAAIC,cAAc,GAAIC,KAAqB,IAAK;EACrD,oBAAOL,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKF,KAAK;IAAEG,WAAW,EAAE;EAAM,EAAE,CAAC;AAChD,CAAC;AAED,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCP,cAAc,GAAIC,KAAqB,IAAK;IAC1C,MAAM;MAAEO,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGR,KAAK;IAE5C,IAAIJ,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIF,iBAAiB,KAAK,MAAM,EAAE;MACzD;MACA,oBACEZ,KAAA,CAAAM,aAAA,CAACH,YAAY,qBACXH,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKM,IAAI;QAAEL,WAAW,EAAE;MAAM,EAAE,CACzB,CAAC;IAEnB;IAEA,oBAAOR,KAAA,CAAAM,aAAA,CAACJ,IAAI,EAAAK,QAAA,KAAKM,IAAI;MAAEL,WAAW,EAAE;IAAM,EAAE,CAAC;EAC/C,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["processFonts","_","Error"],"sourceRoot":"../../../src","sources":["views/FontProcessor.tsx"],"mappings":"AAAA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"names":["processFonts","_","Error"],"sourceRoot":"../../../src","sources":["views/FontProcessor.tsx"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAC1BC,CAAyB,EACD;EACxB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
// @ts-
|
|
1
|
+
// @ts-expect-error importing private module
|
|
2
2
|
import ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
|
|
3
3
|
export function processFonts(fontFamilies) {
|
|
4
|
-
|
|
5
|
-
// @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
|
|
6
|
-
const fontFamilyProcessor = (_ReactNativeStyleAttr = ReactNativeStyleAttributes.fontFamily) === null || _ReactNativeStyleAttr === void 0 ? void 0 : _ReactNativeStyleAttr.process;
|
|
4
|
+
const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;
|
|
7
5
|
if (typeof fontFamilyProcessor === 'function') {
|
|
8
6
|
return fontFamilies.map(fontFamilyProcessor);
|
|
9
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sourceRoot":"../../../src","sources":["views/FontProcessor.native.tsx"],"mappings":"AAAA;AACA,OAAOA,0BAA0B,MAAM,mEAAmE;AAE1G,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sourceRoot":"../../../src","sources":["views/FontProcessor.native.tsx"],"mappings":"AAAA;AACA,OAAOA,0BAA0B,MAAM,mEAAmE;AAE1G,OAAO,SAASC,YAAYA,CAC1BC,YAAoC,EACZ;EACxB,MAAMC,mBAAmB,GAAGH,0BAA0B,CAACI,UAAU,EAAEC,OAAO;EAC1E,IAAI,OAAOF,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACI,GAAG,CAACH,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { getHeaderTitle, HeaderTitle } from '@react-navigation/elements';
|
|
2
|
-
import { useTheme } from '@react-navigation/native';
|
|
2
|
+
import { useLocale, useTheme } from '@react-navigation/native';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { isSearchBarAvailableForCurrentPlatform, ScreenStackHeaderBackButtonImage, ScreenStackHeaderCenterView, ScreenStackHeaderConfig, ScreenStackHeaderLeftView, ScreenStackHeaderRightView, ScreenStackHeaderSearchBarView, SearchBar } from 'react-native-screens';
|
|
6
6
|
import { processFonts } from './FontProcessor';
|
|
7
7
|
export function HeaderConfig(_ref) {
|
|
8
8
|
let {
|
|
9
|
-
headerHeight,
|
|
10
9
|
headerBackImageSource,
|
|
11
10
|
headerBackButtonMenuEnabled,
|
|
12
11
|
headerBackTitle,
|
|
@@ -35,20 +34,23 @@ export function HeaderConfig(_ref) {
|
|
|
35
34
|
title,
|
|
36
35
|
canGoBack
|
|
37
36
|
} = _ref;
|
|
37
|
+
const {
|
|
38
|
+
direction
|
|
39
|
+
} = useLocale();
|
|
38
40
|
const {
|
|
39
41
|
colors,
|
|
40
42
|
fonts
|
|
41
43
|
} = useTheme();
|
|
42
44
|
const tintColor = headerTintColor ?? (Platform.OS === 'ios' ? colors.primary : colors.text);
|
|
43
|
-
const headerBackTitleStyleFlattened = StyleSheet.flatten([
|
|
44
|
-
const headerLargeTitleStyleFlattened = StyleSheet.flatten([
|
|
45
|
+
const headerBackTitleStyleFlattened = StyleSheet.flatten([fonts.regular, headerBackTitleStyle]) || {};
|
|
46
|
+
const headerLargeTitleStyleFlattened = StyleSheet.flatten([Platform.select({
|
|
45
47
|
ios: fonts.heavy,
|
|
46
48
|
default: fonts.medium
|
|
47
|
-
})]) || {};
|
|
48
|
-
const headerTitleStyleFlattened = StyleSheet.flatten([
|
|
49
|
+
}), headerLargeTitleStyle]) || {};
|
|
50
|
+
const headerTitleStyleFlattened = StyleSheet.flatten([Platform.select({
|
|
49
51
|
ios: fonts.bold,
|
|
50
52
|
default: fonts.medium
|
|
51
|
-
})]) || {};
|
|
53
|
+
}), headerTitleStyle]) || {};
|
|
52
54
|
const headerStyleFlattened = StyleSheet.flatten(headerStyle) || {};
|
|
53
55
|
const headerLargeStyleFlattened = StyleSheet.flatten(headerLargeStyle) || {};
|
|
54
56
|
const [backTitleFontFamily, largeTitleFontFamily, titleFontFamily] = processFonts([headerBackTitleStyleFlattened.fontFamily, headerLargeTitleStyleFlattened.fontFamily, headerTitleStyleFlattened.fontFamily]);
|
|
@@ -77,12 +79,14 @@ export function HeaderConfig(_ref) {
|
|
|
77
79
|
headerTitleStyleSupported.fontWeight = titleFontWeight;
|
|
78
80
|
}
|
|
79
81
|
const headerBackgroundColor = headerStyleFlattened.backgroundColor ?? (headerBackground != null || headerTransparent ? 'transparent' : colors.card);
|
|
80
|
-
const headerLeftElement = headerLeft
|
|
82
|
+
const headerLeftElement = headerLeft?.({
|
|
81
83
|
tintColor,
|
|
82
84
|
canGoBack,
|
|
83
|
-
label: headerBackTitle
|
|
85
|
+
label: headerBackTitle,
|
|
86
|
+
// `href` is only applicable to web
|
|
87
|
+
href: undefined
|
|
84
88
|
});
|
|
85
|
-
const headerRightElement = headerRight
|
|
89
|
+
const headerRightElement = headerRight?.({
|
|
86
90
|
tintColor,
|
|
87
91
|
canGoBack
|
|
88
92
|
});
|
|
@@ -107,11 +111,7 @@ export function HeaderConfig(_ref) {
|
|
|
107
111
|
const translucent = headerBackground != null || headerTransparent ||
|
|
108
112
|
// When using a SearchBar or large title, the header needs to be translucent for it to work on iOS
|
|
109
113
|
(hasHeaderSearchBar || headerLargeTitle) && Platform.OS === 'ios' && headerTransparent !== false;
|
|
110
|
-
return /*#__PURE__*/React.createElement(
|
|
111
|
-
style: [styles.background, headerTransparent ? styles.translucent : null, {
|
|
112
|
-
height: headerHeight
|
|
113
|
-
}]
|
|
114
|
-
}, headerBackground()) : null, /*#__PURE__*/React.createElement(ScreenStackHeaderConfig, {
|
|
114
|
+
return /*#__PURE__*/React.createElement(ScreenStackHeaderConfig, {
|
|
115
115
|
backButtonInCustomView: backButtonInCustomView,
|
|
116
116
|
backgroundColor: headerBackgroundColor,
|
|
117
117
|
backTitle: headerBackTitleVisible ? headerBackTitle : ' ',
|
|
@@ -119,7 +119,7 @@ export function HeaderConfig(_ref) {
|
|
|
119
119
|
backTitleFontSize: backTitleFontSize,
|
|
120
120
|
blurEffect: headerBlurEffect,
|
|
121
121
|
color: tintColor,
|
|
122
|
-
direction:
|
|
122
|
+
direction: direction,
|
|
123
123
|
disableBackButtonMenu: headerBackButtonMenuEnabled === false,
|
|
124
124
|
hidden: headerShown === false,
|
|
125
125
|
hideBackButton: headerBackVisible === false,
|
|
@@ -150,23 +150,12 @@ export function HeaderConfig(_ref) {
|
|
|
150
150
|
style: headerTitleStyleSupported
|
|
151
151
|
}, titleText)) : null), headerBackImageSource !== undefined ? /*#__PURE__*/React.createElement(ScreenStackHeaderBackButtonImage, {
|
|
152
152
|
source: headerBackImageSource
|
|
153
|
-
}) : null, headerRightElement != null ? /*#__PURE__*/React.createElement(ScreenStackHeaderRightView, null, headerRightElement) : null, hasHeaderSearchBar ? /*#__PURE__*/React.createElement(ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(SearchBar, headerSearchBarOptions)) : null)
|
|
153
|
+
}) : null, headerRightElement != null ? /*#__PURE__*/React.createElement(ScreenStackHeaderRightView, null, headerRightElement) : null, hasHeaderSearchBar ? /*#__PURE__*/React.createElement(ScreenStackHeaderSearchBarView, null, /*#__PURE__*/React.createElement(SearchBar, headerSearchBarOptions)) : null);
|
|
154
154
|
}
|
|
155
155
|
const styles = StyleSheet.create({
|
|
156
156
|
row: {
|
|
157
157
|
flexDirection: 'row',
|
|
158
158
|
alignItems: 'center'
|
|
159
|
-
},
|
|
160
|
-
translucent: {
|
|
161
|
-
position: 'absolute',
|
|
162
|
-
top: 0,
|
|
163
|
-
left: 0,
|
|
164
|
-
right: 0,
|
|
165
|
-
zIndex: 1,
|
|
166
|
-
elevation: 1
|
|
167
|
-
},
|
|
168
|
-
background: {
|
|
169
|
-
overflow: 'hidden'
|
|
170
159
|
}
|
|
171
160
|
});
|
|
172
161
|
//# sourceMappingURL=HeaderConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","HeaderTitle","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","HeaderTitle","useLocale","useTheme","React","Platform","StyleSheet","View","isSearchBarAvailableForCurrentPlatform","ScreenStackHeaderBackButtonImage","ScreenStackHeaderCenterView","ScreenStackHeaderConfig","ScreenStackHeaderLeftView","ScreenStackHeaderRightView","ScreenStackHeaderSearchBarView","SearchBar","processFonts","HeaderConfig","_ref","headerBackImageSource","headerBackButtonMenuEnabled","headerBackTitle","headerBackTitleStyle","headerBackTitleVisible","headerBackVisible","headerShadowVisible","headerLargeStyle","headerLargeTitle","headerLargeTitleShadowVisible","headerLargeTitleStyle","headerBackground","headerLeft","headerRight","headerShown","headerStyle","headerBlurEffect","headerTintColor","headerTitle","headerTitleAlign","headerTitleStyle","headerTransparent","headerSearchBarOptions","headerTopInsetEnabled","route","title","canGoBack","direction","colors","fonts","tintColor","OS","primary","text","headerBackTitleStyleFlattened","flatten","regular","headerLargeTitleStyleFlattened","select","ios","heavy","default","medium","headerTitleStyleFlattened","bold","headerStyleFlattened","headerLargeStyleFlattened","backTitleFontFamily","largeTitleFontFamily","titleFontFamily","fontFamily","backTitleFontSize","fontSize","undefined","titleText","name","titleColor","color","titleFontSize","titleFontWeight","fontWeight","largeTitleBackgroundColor","backgroundColor","largeTitleColor","largeTitleFontSize","largeTitleFontWeight","headerTitleStyleSupported","headerBackgroundColor","card","headerLeftElement","label","href","headerRightElement","headerTitleElement","children","supportsHeaderSearchBar","hasHeaderSearchBar","Error","backButtonInCustomView","translucent","createElement","backTitle","blurEffect","disableBackButtonMenu","hidden","hideBackButton","hideShadow","largeTitle","largeTitleHideShadow","topInsetEnabled","Fragment","style","styles","row","source","create","flexDirection","alignItems"],"sourceRoot":"../../../src","sources":["views/HeaderConfig.tsx"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getHeaderTitle, Header, HeaderBackButton, HeaderBackContext, SafeAreaProviderCompat, Screen } from '@react-navigation/elements';
|
|
2
|
+
import { useLinkBuilder, useTheme } from '@react-navigation/native';
|
|
2
3
|
import * as React from 'react';
|
|
3
4
|
import { Image, StyleSheet, View } from 'react-native';
|
|
4
5
|
const TRANSPARENT_PRESENTATIONS = ['transparentModal', 'containedTransparentModal'];
|
|
@@ -8,13 +9,23 @@ export function NativeStackView(_ref) {
|
|
|
8
9
|
descriptors
|
|
9
10
|
} = _ref;
|
|
10
11
|
const parentHeaderBack = React.useContext(HeaderBackContext);
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
const {
|
|
13
|
+
buildHref
|
|
14
|
+
} = useLinkBuilder();
|
|
15
|
+
const {
|
|
16
|
+
colors
|
|
17
|
+
} = useTheme();
|
|
18
|
+
if (state.preloadedRoutes.length !== 0) {
|
|
19
|
+
throw new Error('Preloading routes is not supported in the NativeStackNavigator navigator.');
|
|
20
|
+
}
|
|
21
|
+
return /*#__PURE__*/React.createElement(SafeAreaProviderCompat, {
|
|
22
|
+
style: {
|
|
23
|
+
backgroundColor: colors.background
|
|
24
|
+
}
|
|
13
25
|
}, state.routes.map((route, i) => {
|
|
14
|
-
var _state$routes, _state$routes2;
|
|
15
26
|
const isFocused = state.index === i;
|
|
16
|
-
const previousKey =
|
|
17
|
-
const nextKey =
|
|
27
|
+
const previousKey = state.routes[i - 1]?.key;
|
|
28
|
+
const nextKey = state.routes[i + 1]?.key;
|
|
18
29
|
const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
|
|
19
30
|
const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
|
|
20
31
|
const {
|
|
@@ -23,7 +34,8 @@ export function NativeStackView(_ref) {
|
|
|
23
34
|
render
|
|
24
35
|
} = descriptors[route.key];
|
|
25
36
|
const headerBack = previousDescriptor ? {
|
|
26
|
-
title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name)
|
|
37
|
+
title: getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name),
|
|
38
|
+
href: buildHref(previousDescriptor.route.name, previousDescriptor.route.params)
|
|
27
39
|
} : parentHeaderBack;
|
|
28
40
|
const canGoBack = headerBack !== undefined;
|
|
29
41
|
const {
|
|
@@ -44,7 +56,7 @@ export function NativeStackView(_ref) {
|
|
|
44
56
|
presentation,
|
|
45
57
|
contentStyle
|
|
46
58
|
} = options;
|
|
47
|
-
const nextPresentation = nextDescriptor
|
|
59
|
+
const nextPresentation = nextDescriptor?.options.presentation;
|
|
48
60
|
return /*#__PURE__*/React.createElement(Screen, {
|
|
49
61
|
key: route.key,
|
|
50
62
|
focused: isFocused,
|
|
@@ -67,7 +79,8 @@ export function NativeStackView(_ref) {
|
|
|
67
79
|
return headerLeft({
|
|
68
80
|
tintColor,
|
|
69
81
|
canGoBack,
|
|
70
|
-
label: headerBackTitle
|
|
82
|
+
label: headerBackTitle,
|
|
83
|
+
href: headerBack?.href
|
|
71
84
|
});
|
|
72
85
|
} : headerLeft === undefined && canGoBack ? _ref3 => {
|
|
73
86
|
let {
|
|
@@ -77,12 +90,13 @@ export function NativeStackView(_ref) {
|
|
|
77
90
|
tintColor: tintColor,
|
|
78
91
|
backImage: headerBackImageSource !== undefined ? () => /*#__PURE__*/React.createElement(Image, {
|
|
79
92
|
source: headerBackImageSource,
|
|
93
|
+
resizeMode: "contain",
|
|
80
94
|
style: [styles.backImage, {
|
|
81
95
|
tintColor
|
|
82
96
|
}]
|
|
83
97
|
}) : undefined,
|
|
84
98
|
onPress: navigation.goBack,
|
|
85
|
-
|
|
99
|
+
href: headerBack.href
|
|
86
100
|
});
|
|
87
101
|
} : headerLeft,
|
|
88
102
|
headerRight: typeof headerRight === 'function' ? _ref4 => {
|
|
@@ -121,20 +135,16 @@ export function NativeStackView(_ref) {
|
|
|
121
135
|
}, /*#__PURE__*/React.createElement(View, {
|
|
122
136
|
style: [styles.contentContainer, contentStyle]
|
|
123
137
|
}, render())));
|
|
124
|
-
}))
|
|
138
|
+
}));
|
|
125
139
|
}
|
|
126
140
|
const styles = StyleSheet.create({
|
|
127
|
-
container: {
|
|
128
|
-
flex: 1
|
|
129
|
-
},
|
|
130
141
|
contentContainer: {
|
|
131
142
|
flex: 1
|
|
132
143
|
},
|
|
133
144
|
backImage: {
|
|
134
145
|
height: 24,
|
|
135
146
|
width: 24,
|
|
136
|
-
margin: 3
|
|
137
|
-
resizeMode: 'contain'
|
|
147
|
+
margin: 3
|
|
138
148
|
}
|
|
139
149
|
});
|
|
140
150
|
//# sourceMappingURL=NativeStackView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","state","descriptors","parentHeaderBack","useContext","
|
|
1
|
+
{"version":3,"names":["getHeaderTitle","Header","HeaderBackButton","HeaderBackContext","SafeAreaProviderCompat","Screen","useLinkBuilder","useTheme","React","Image","StyleSheet","View","TRANSPARENT_PRESENTATIONS","NativeStackView","_ref","state","descriptors","parentHeaderBack","useContext","buildHref","colors","preloadedRoutes","length","Error","createElement","style","backgroundColor","background","routes","map","route","i","isFocused","index","previousKey","key","nextKey","previousDescriptor","undefined","nextDescriptor","options","navigation","render","headerBack","title","name","href","params","canGoBack","header","headerShown","headerTintColor","headerBackImageSource","headerLeft","headerRight","headerTitle","headerTitleAlign","headerTitleStyle","headerStyle","headerShadowVisible","headerTransparent","headerBackground","headerBackTitle","presentation","contentStyle","nextPresentation","focused","back","_ref2","tintColor","label","_ref3","backImage","source","resizeMode","styles","onPress","goBack","_ref4","_ref5","children","absoluteFill","display","includes","Provider","value","contentContainer","create","flex","height","width","margin"],"sourceRoot":"../../../src","sources":["views/NativeStackView.tsx"],"mappings":"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"}
|