@react-navigation/native-stack 6.9.5 → 6.9.6
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 +0 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createNativeStackNavigator.js +5 -14
- package/lib/commonjs/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/useDismissedRouteError.js +0 -5
- package/lib/commonjs/utils/useDismissedRouteError.js.map +1 -1
- package/lib/commonjs/utils/useInvalidPreventRemoveError.js +0 -6
- package/lib/commonjs/utils/useInvalidPreventRemoveError.js.map +1 -1
- package/lib/commonjs/views/DebugContainer.js +0 -5
- package/lib/commonjs/views/DebugContainer.js.map +1 -1
- package/lib/commonjs/views/DebugContainer.native.js +1 -12
- package/lib/commonjs/views/DebugContainer.native.js.map +1 -1
- package/lib/commonjs/views/FontProcessor.js +0 -1
- package/lib/commonjs/views/FontProcessor.js.map +1 -1
- package/lib/commonjs/views/FontProcessor.native.js +1 -6
- package/lib/commonjs/views/FontProcessor.native.js.map +1 -1
- package/lib/commonjs/views/HeaderConfig.js +10 -25
- package/lib/commonjs/views/HeaderConfig.js.map +1 -1
- package/lib/commonjs/views/NativeStackView.js +0 -9
- package/lib/commonjs/views/NativeStackView.js.map +1 -1
- package/lib/commonjs/views/NativeStackView.native.js +20 -42
- package/lib/commonjs/views/NativeStackView.native.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createNativeStackNavigator.js +5 -7
- package/lib/module/navigators/createNativeStackNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/useDismissedRouteError.js +0 -1
- package/lib/module/utils/useDismissedRouteError.js.map +1 -1
- package/lib/module/utils/useInvalidPreventRemoveError.js +0 -1
- 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 +2 -7
- 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 +0 -3
- package/lib/module/views/FontProcessor.native.js.map +1 -1
- package/lib/module/views/HeaderConfig.js +10 -15
- package/lib/module/views/HeaderConfig.js.map +1 -1
- package/lib/module/views/NativeStackView.js +0 -1
- package/lib/module/views/NativeStackView.js.map +1 -1
- package/lib/module/views/NativeStackView.native.js +20 -26
- package/lib/module/views/NativeStackView.native.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts +1 -0
- package/lib/typescript/src/navigators/createNativeStackNavigator.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/useDismissedRouteError.d.ts +1 -0
- package/lib/typescript/src/utils/useDismissedRouteError.d.ts.map +1 -0
- package/lib/typescript/src/utils/useInvalidPreventRemoveError.d.ts +1 -0
- package/lib/typescript/src/utils/useInvalidPreventRemoveError.d.ts.map +1 -0
- package/lib/typescript/src/views/DebugContainer.d.ts +1 -0
- package/lib/typescript/src/views/DebugContainer.d.ts.map +1 -0
- package/lib/typescript/src/views/DebugContainer.native.d.ts +1 -0
- package/lib/typescript/src/views/DebugContainer.native.d.ts.map +1 -0
- package/lib/typescript/src/views/FontProcessor.d.ts +1 -0
- package/lib/typescript/src/views/FontProcessor.d.ts.map +1 -0
- package/lib/typescript/src/views/FontProcessor.native.d.ts +1 -0
- package/lib/typescript/src/views/FontProcessor.native.d.ts.map +1 -0
- package/lib/typescript/src/views/HeaderConfig.d.ts +1 -0
- package/lib/typescript/src/views/HeaderConfig.d.ts.map +1 -0
- package/lib/typescript/src/views/NativeStackView.d.ts +1 -0
- package/lib/typescript/src/views/NativeStackView.d.ts.map +1 -0
- package/lib/typescript/src/views/NativeStackView.native.d.ts +1 -0
- package/lib/typescript/src/views/NativeStackView.native.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -4,39 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = NativeStackView;
|
|
7
|
-
|
|
8
7
|
var _elements = require("@react-navigation/elements");
|
|
9
|
-
|
|
10
8
|
var _native = require("@react-navigation/native");
|
|
11
|
-
|
|
12
9
|
var React = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _reactNative = require("react-native");
|
|
15
|
-
|
|
16
11
|
var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
|
|
17
|
-
|
|
18
12
|
var _reactNativeScreens = require("react-native-screens");
|
|
19
|
-
|
|
20
13
|
var _warnOnce = _interopRequireDefault(require("warn-once"));
|
|
21
|
-
|
|
22
14
|
var _useDismissedRouteError = _interopRequireDefault(require("../utils/useDismissedRouteError"));
|
|
23
|
-
|
|
24
15
|
var _useInvalidPreventRemoveError = _interopRequireDefault(require("../utils/useInvalidPreventRemoveError"));
|
|
25
|
-
|
|
26
16
|
var _DebugContainer = _interopRequireDefault(require("./DebugContainer"));
|
|
27
|
-
|
|
28
17
|
var _HeaderConfig = _interopRequireDefault(require("./HeaderConfig"));
|
|
29
|
-
|
|
30
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
-
|
|
34
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
21
|
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); }
|
|
37
|
-
|
|
38
22
|
const isAndroid = _reactNative.Platform.OS === 'android';
|
|
39
|
-
|
|
40
23
|
const MaybeNestedStack = _ref => {
|
|
41
24
|
let {
|
|
42
25
|
options,
|
|
@@ -66,7 +49,6 @@ const MaybeNestedStack = _ref => {
|
|
|
66
49
|
}, contentStyle],
|
|
67
50
|
stackPresentation: presentation === 'card' ? 'push' : presentation
|
|
68
51
|
}, children);
|
|
69
|
-
|
|
70
52
|
if (isHeaderInModal) {
|
|
71
53
|
return /*#__PURE__*/React.createElement(_reactNativeScreens.ScreenStack, {
|
|
72
54
|
style: styles.container
|
|
@@ -80,13 +62,10 @@ const MaybeNestedStack = _ref => {
|
|
|
80
62
|
canGoBack: true
|
|
81
63
|
})), content));
|
|
82
64
|
}
|
|
83
|
-
|
|
84
65
|
return content;
|
|
85
66
|
};
|
|
86
|
-
|
|
87
67
|
const SceneView = _ref2 => {
|
|
88
68
|
var _preventedRoutes$rout;
|
|
89
|
-
|
|
90
69
|
let {
|
|
91
70
|
index,
|
|
92
71
|
focused,
|
|
@@ -132,7 +111,6 @@ const SceneView = _ref2 => {
|
|
|
132
111
|
presentation = 'card',
|
|
133
112
|
gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical'
|
|
134
113
|
} = options;
|
|
135
|
-
|
|
136
114
|
if (gestureDirection === 'vertical' && _reactNative.Platform.OS === 'ios') {
|
|
137
115
|
// for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`
|
|
138
116
|
// so the screen can be dismissed from any point on screen.
|
|
@@ -142,32 +120,30 @@ const SceneView = _ref2 => {
|
|
|
142
120
|
if (fullScreenGestureEnabled === undefined) {
|
|
143
121
|
fullScreenGestureEnabled = true;
|
|
144
122
|
}
|
|
145
|
-
|
|
146
123
|
if (customAnimationOnGesture === undefined) {
|
|
147
124
|
customAnimationOnGesture = true;
|
|
148
125
|
}
|
|
149
|
-
|
|
150
126
|
if (animation === undefined) {
|
|
151
127
|
animation = 'slide_from_bottom';
|
|
152
128
|
}
|
|
153
|
-
}
|
|
154
|
-
// current and previous screen - software-mansion/react-native-screens/pull/1509
|
|
155
|
-
|
|
129
|
+
}
|
|
156
130
|
|
|
131
|
+
// workaround for rn-screens where gestureDirection has to be set on both
|
|
132
|
+
// current and previous screen - software-mansion/react-native-screens/pull/1509
|
|
157
133
|
const nextGestureDirection = nextDescriptor === null || nextDescriptor === void 0 ? void 0 : nextDescriptor.options.gestureDirection;
|
|
158
134
|
const gestureDirectionOverride = nextGestureDirection != null ? nextGestureDirection : gestureDirection;
|
|
159
|
-
|
|
160
135
|
if (index === 0) {
|
|
161
136
|
// first screen should always be treated as `card`, it resolves problems with no header animation
|
|
162
137
|
// for navigator with first screen as `modal` and the next as `card`
|
|
163
138
|
presentation = 'card';
|
|
164
139
|
}
|
|
165
|
-
|
|
166
140
|
const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
|
|
167
|
-
const frame = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
141
|
+
const frame = (0, _reactNativeSafeAreaContext.useSafeAreaFrame)();
|
|
168
142
|
|
|
169
|
-
|
|
143
|
+
// `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.
|
|
144
|
+
const isModal = presentation === 'modal' || presentation === 'formSheet';
|
|
170
145
|
|
|
146
|
+
// Modals are fullscreen in landscape only on iPhone
|
|
171
147
|
const isIPhone = _reactNative.Platform.OS === 'ios' && !(_reactNative.Platform.isPad || _reactNative.Platform.isTV);
|
|
172
148
|
const isLandscape = frame.width > frame.height;
|
|
173
149
|
const isParentHeaderShown = React.useContext(_elements.HeaderShownContext);
|
|
@@ -191,7 +167,8 @@ const SceneView = _ref2 => {
|
|
|
191
167
|
style: _reactNative.StyleSheet.absoluteFill,
|
|
192
168
|
customAnimationOnSwipe: customAnimationOnGesture,
|
|
193
169
|
fullScreenSwipeEnabled: fullScreenGestureEnabled,
|
|
194
|
-
gestureEnabled: isAndroid ?
|
|
170
|
+
gestureEnabled: isAndroid ?
|
|
171
|
+
// This prop enables handling of system back gestures on Android
|
|
195
172
|
// Since we handle them in JS side, we disable this
|
|
196
173
|
false : gestureEnabled,
|
|
197
174
|
homeIndicatorHidden: autoHideHomeIndicator,
|
|
@@ -215,11 +192,13 @@ const SceneView = _ref2 => {
|
|
|
215
192
|
isNativeStack: true,
|
|
216
193
|
nativeBackButtonDismissalEnabled: false // on Android
|
|
217
194
|
,
|
|
218
|
-
onHeaderBackButtonClicked: onHeaderBackButtonClicked
|
|
195
|
+
onHeaderBackButtonClicked: onHeaderBackButtonClicked
|
|
196
|
+
// @ts-ignore props not exported from rn-screens
|
|
219
197
|
,
|
|
220
198
|
preventNativeDismiss: isRemovePrevented // on iOS
|
|
221
199
|
,
|
|
222
|
-
onNativeDismissCancelled: onNativeDismissCancelled
|
|
200
|
+
onNativeDismissCancelled: onNativeDismissCancelled
|
|
201
|
+
// this prop is available since rn-screens 3.16
|
|
223
202
|
,
|
|
224
203
|
freezeOnBlur: freezeOnBlur
|
|
225
204
|
}, /*#__PURE__*/React.createElement(_native.NavigationContext.Provider, {
|
|
@@ -229,7 +208,7 @@ const SceneView = _ref2 => {
|
|
|
229
208
|
}, /*#__PURE__*/React.createElement(_elements.HeaderShownContext.Provider, {
|
|
230
209
|
value: isParentHeaderShown || headerShown !== false
|
|
231
210
|
}, /*#__PURE__*/React.createElement(_elements.HeaderHeightContext.Provider, {
|
|
232
|
-
value: headerShown !== false ? headerHeight : parentHeaderHeight
|
|
211
|
+
value: headerShown !== false ? headerHeight : parentHeaderHeight ?? 0
|
|
233
212
|
}, /*#__PURE__*/React.createElement(_HeaderConfig.default, _extends({}, options, {
|
|
234
213
|
route: route,
|
|
235
214
|
headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
|
|
@@ -262,7 +241,6 @@ const SceneView = _ref2 => {
|
|
|
262
241
|
navigation
|
|
263
242
|
})) : null))))));
|
|
264
243
|
};
|
|
265
|
-
|
|
266
244
|
function NativeStackViewInner(_ref3) {
|
|
267
245
|
let {
|
|
268
246
|
state,
|
|
@@ -277,7 +255,6 @@ function NativeStackViewInner(_ref3) {
|
|
|
277
255
|
style: styles.container
|
|
278
256
|
}, state.routes.map((route, index) => {
|
|
279
257
|
var _state$routes, _state$routes2;
|
|
280
|
-
|
|
281
258
|
const descriptor = descriptors[route.key];
|
|
282
259
|
const isFocused = state.index === index;
|
|
283
260
|
const previousKey = (_state$routes = state.routes[index - 1]) === null || _state$routes === void 0 ? void 0 : _state$routes.key;
|
|
@@ -319,20 +296,23 @@ function NativeStackViewInner(_ref3) {
|
|
|
319
296
|
});
|
|
320
297
|
},
|
|
321
298
|
onDismissed: event => {
|
|
322
|
-
navigation.dispatch({
|
|
299
|
+
navigation.dispatch({
|
|
300
|
+
..._native.StackActions.pop(event.nativeEvent.dismissCount),
|
|
323
301
|
source: route.key,
|
|
324
302
|
target: state.key
|
|
325
303
|
});
|
|
326
304
|
setNextDismissedKey(route.key);
|
|
327
305
|
},
|
|
328
306
|
onHeaderBackButtonClicked: () => {
|
|
329
|
-
navigation.dispatch({
|
|
307
|
+
navigation.dispatch({
|
|
308
|
+
..._native.StackActions.pop(),
|
|
330
309
|
source: route.key,
|
|
331
310
|
target: state.key
|
|
332
311
|
});
|
|
333
312
|
},
|
|
334
313
|
onNativeDismissCancelled: event => {
|
|
335
|
-
navigation.dispatch({
|
|
314
|
+
navigation.dispatch({
|
|
315
|
+
..._native.StackActions.pop(event.nativeEvent.dismissCount),
|
|
336
316
|
source: route.key,
|
|
337
317
|
target: state.key
|
|
338
318
|
});
|
|
@@ -340,11 +320,9 @@ function NativeStackViewInner(_ref3) {
|
|
|
340
320
|
});
|
|
341
321
|
}));
|
|
342
322
|
}
|
|
343
|
-
|
|
344
323
|
function NativeStackView(props) {
|
|
345
324
|
return /*#__PURE__*/React.createElement(_elements.SafeAreaProviderCompat, null, /*#__PURE__*/React.createElement(NativeStackViewInner, props));
|
|
346
325
|
}
|
|
347
|
-
|
|
348
326
|
const styles = _reactNative.StyleSheet.create({
|
|
349
327
|
container: {
|
|
350
328
|
flex: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"sources":["NativeStackView.native.tsx"],"sourcesContent":["import {\n getDefaultHeaderHeight,\n getHeaderTitle,\n HeaderBackContext,\n HeaderHeightContext,\n HeaderShownContext,\n SafeAreaProviderCompat,\n} from '@react-navigation/elements';\nimport {\n NavigationContext,\n NavigationRouteContext,\n ParamListBase,\n Route,\n StackActions,\n StackNavigationState,\n usePreventRemoveContext,\n useTheme,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Platform, StyleSheet, View } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport type { ScreenProps } from 'react-native-screens';\nimport {\n Screen,\n ScreenStack,\n StackPresentationTypes,\n} from 'react-native-screens';\nimport warnOnce from 'warn-once';\n\nimport type {\n NativeStackDescriptor,\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n NativeStackNavigationOptions,\n} from '../types';\nimport useDismissedRouteError from '../utils/useDismissedRouteError';\nimport useInvalidPreventRemoveError from '../utils/useInvalidPreventRemoveError';\nimport DebugContainer from './DebugContainer';\nimport HeaderConfig from './HeaderConfig';\n\nconst isAndroid = Platform.OS === 'android';\n\nconst MaybeNestedStack = ({\n options,\n route,\n presentation,\n headerHeight,\n headerTopInsetEnabled,\n children,\n}: {\n options: NativeStackNavigationOptions;\n route: Route<string>;\n presentation: Exclude<StackPresentationTypes, 'push'> | 'card';\n headerHeight: number;\n headerTopInsetEnabled: boolean;\n children: React.ReactNode;\n}) => {\n const { colors } = useTheme();\n const { header, headerShown = true, contentStyle } = options;\n\n const isHeaderInModal = isAndroid\n ? false\n : presentation !== 'card' && headerShown === true && header === undefined;\n\n const headerShownPreviousRef = React.useRef(headerShown);\n\n React.useEffect(() => {\n warnOnce(\n !isAndroid &&\n presentation !== 'card' &&\n headerShownPreviousRef.current !== headerShown,\n `Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '${route.name}'.`\n );\n\n headerShownPreviousRef.current = headerShown;\n }, [headerShown, presentation, route.name]);\n\n const content = (\n <DebugContainer\n style={[\n styles.container,\n presentation !== 'transparentModal' &&\n presentation !== 'containedTransparentModal' && {\n backgroundColor: colors.background,\n },\n contentStyle,\n ]}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n >\n {children}\n </DebugContainer>\n );\n\n if (isHeaderInModal) {\n return (\n <ScreenStack style={styles.container}>\n <Screen enabled style={StyleSheet.absoluteFill}>\n <HeaderConfig\n {...options}\n route={route}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack\n />\n {content}\n </Screen>\n </ScreenStack>\n );\n }\n\n return content;\n};\n\ntype SceneViewProps = {\n index: number;\n focused: boolean;\n descriptor: NativeStackDescriptor;\n previousDescriptor?: NativeStackDescriptor;\n nextDescriptor?: NativeStackDescriptor;\n onWillDisappear: () => void;\n onAppear: () => void;\n onDisappear: () => void;\n onDismissed: ScreenProps['onDismissed'];\n onHeaderBackButtonClicked: ScreenProps['onHeaderBackButtonClicked'];\n onNativeDismissCancelled: ScreenProps['onDismissed'];\n};\n\nconst SceneView = ({\n index,\n focused,\n descriptor,\n previousDescriptor,\n nextDescriptor,\n onWillDisappear,\n onAppear,\n onDisappear,\n onDismissed,\n onHeaderBackButtonClicked,\n onNativeDismissCancelled,\n}: SceneViewProps) => {\n const { route, navigation, options, render } = descriptor;\n const {\n animationDuration,\n animationTypeForReplace = 'push',\n gestureEnabled,\n header,\n headerBackButtonMenuEnabled,\n headerShown,\n headerTransparent,\n autoHideHomeIndicator,\n navigationBarColor,\n navigationBarHidden,\n orientation,\n statusBarAnimation,\n statusBarHidden,\n statusBarStyle,\n statusBarTranslucent,\n statusBarColor,\n freezeOnBlur,\n } = options;\n\n let {\n animation,\n customAnimationOnGesture,\n fullScreenGestureEnabled,\n presentation = 'card',\n gestureDirection = presentation === 'card' ? 'horizontal' : 'vertical',\n } = options;\n\n if (gestureDirection === 'vertical' && Platform.OS === 'ios') {\n // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`\n // so the screen can be dismissed from any point on screen.\n // `customAnimationOnGesture` needs to be set to `true` so the `animation` set by user can be used,\n // otherwise `simple_push` will be used.\n // Also, the default animation for this direction seems to be `slide_from_bottom`.\n if (fullScreenGestureEnabled === undefined) {\n fullScreenGestureEnabled = true;\n }\n if (customAnimationOnGesture === undefined) {\n customAnimationOnGesture = true;\n }\n if (animation === undefined) {\n animation = 'slide_from_bottom';\n }\n }\n\n // workaround for rn-screens where gestureDirection has to be set on both\n // current and previous screen - software-mansion/react-native-screens/pull/1509\n const nextGestureDirection = nextDescriptor?.options.gestureDirection;\n const gestureDirectionOverride =\n nextGestureDirection != null ? nextGestureDirection : gestureDirection;\n\n if (index === 0) {\n // first screen should always be treated as `card`, it resolves problems with no header animation\n // for navigator with first screen as `modal` and the next as `card`\n presentation = 'card';\n }\n\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.\n const isModal = presentation === 'modal' || presentation === 'formSheet';\n\n // Modals are fullscreen in landscape only on iPhone\n const isIPhone = Platform.OS === 'ios' && !(Platform.isPad || Platform.isTV);\n const isLandscape = frame.width > frame.height;\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n const parentHeaderBack = React.useContext(HeaderBackContext);\n\n const topInset =\n isParentHeaderShown ||\n (Platform.OS === 'ios' && isModal) ||\n (isIPhone && isLandscape)\n ? 0\n : insets.top;\n\n const { preventedRoutes } = usePreventRemoveContext();\n\n const defaultHeaderHeight = getDefaultHeaderHeight(frame, isModal, topInset);\n\n const [customHeaderHeight, setCustomHeaderHeight] =\n React.useState(defaultHeaderHeight);\n\n const headerTopInsetEnabled = topInset !== 0;\n const headerHeight = header ? customHeaderHeight : defaultHeaderHeight;\n const headerBack = previousDescriptor\n ? {\n title: getHeaderTitle(\n previousDescriptor.options,\n previousDescriptor.route.name\n ),\n }\n : parentHeaderBack;\n\n const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;\n\n return (\n <Screen\n key={route.key}\n enabled\n style={StyleSheet.absoluteFill}\n customAnimationOnSwipe={customAnimationOnGesture}\n fullScreenSwipeEnabled={fullScreenGestureEnabled}\n gestureEnabled={\n isAndroid\n ? // This prop enables handling of system back gestures on Android\n // Since we handle them in JS side, we disable this\n false\n : gestureEnabled\n }\n homeIndicatorHidden={autoHideHomeIndicator}\n navigationBarColor={navigationBarColor}\n navigationBarHidden={navigationBarHidden}\n replaceAnimation={animationTypeForReplace}\n stackPresentation={presentation === 'card' ? 'push' : presentation}\n stackAnimation={animation}\n screenOrientation={orientation}\n statusBarAnimation={statusBarAnimation}\n statusBarHidden={statusBarHidden}\n statusBarStyle={statusBarStyle}\n statusBarColor={statusBarColor}\n statusBarTranslucent={statusBarTranslucent}\n swipeDirection={gestureDirectionOverride}\n transitionDuration={animationDuration}\n onWillDisappear={onWillDisappear}\n onAppear={onAppear}\n onDisappear={onDisappear}\n onDismissed={onDismissed}\n isNativeStack\n nativeBackButtonDismissalEnabled={false} // on Android\n onHeaderBackButtonClicked={onHeaderBackButtonClicked}\n // @ts-ignore props not exported from rn-screens\n preventNativeDismiss={isRemovePrevented} // on iOS\n onNativeDismissCancelled={onNativeDismissCancelled}\n // this prop is available since rn-screens 3.16\n freezeOnBlur={freezeOnBlur}\n >\n <NavigationContext.Provider value={navigation}>\n <NavigationRouteContext.Provider value={route}>\n <HeaderShownContext.Provider\n value={isParentHeaderShown || headerShown !== false}\n >\n <HeaderHeightContext.Provider\n value={\n headerShown !== false ? headerHeight : parentHeaderHeight ?? 0\n }\n >\n {/**\n * `HeaderConfig` needs to be the direct child of `Screen` without any intermediate `View`\n * We don't render it conditionally to make it possible to dynamically render a custom `header`\n * Otherwise dynamically rendering a custom `header` leaves the native header visible\n *\n * https://github.com/software-mansion/react-native-screens/blob/main/guides/GUIDE_FOR_LIBRARY_AUTHORS.md#screenstackheaderconfig\n */}\n <HeaderConfig\n {...options}\n route={route}\n headerBackButtonMenuEnabled={\n isRemovePrevented !== undefined\n ? !isRemovePrevented\n : headerBackButtonMenuEnabled\n }\n headerShown={header !== undefined ? false : headerShown}\n headerHeight={headerHeight}\n headerBackTitle={\n options.headerBackTitle !== undefined\n ? options.headerBackTitle\n : undefined\n }\n headerTopInsetEnabled={headerTopInsetEnabled}\n canGoBack={headerBack !== undefined}\n />\n <View\n accessibilityElementsHidden={!focused}\n importantForAccessibility={\n focused ? 'auto' : 'no-hide-descendants'\n }\n style={styles.scene}\n >\n <MaybeNestedStack\n options={options}\n route={route}\n presentation={presentation}\n headerHeight={headerHeight}\n headerTopInsetEnabled={headerTopInsetEnabled}\n >\n <HeaderBackContext.Provider value={headerBack}>\n {render()}\n </HeaderBackContext.Provider>\n </MaybeNestedStack>\n {header !== undefined && headerShown !== false ? (\n <View\n onLayout={(e) => {\n setCustomHeaderHeight(e.nativeEvent.layout.height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header({\n back: headerBack,\n options,\n route,\n navigation,\n })}\n </View>\n ) : null}\n </View>\n </HeaderHeightContext.Provider>\n </HeaderShownContext.Provider>\n </NavigationRouteContext.Provider>\n </NavigationContext.Provider>\n </Screen>\n );\n};\n\ntype Props = {\n state: StackNavigationState<ParamListBase>;\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nfunction NativeStackViewInner({ state, navigation, descriptors }: Props) {\n const { setNextDismissedKey } = useDismissedRouteError(state);\n\n useInvalidPreventRemoveError(descriptors);\n\n return (\n <ScreenStack style={styles.container}>\n {state.routes.map((route, index) => {\n const descriptor = descriptors[route.key];\n const isFocused = state.index === index;\n const previousKey = state.routes[index - 1]?.key;\n const nextKey = state.routes[index + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;\n\n return (\n <SceneView\n key={route.key}\n index={index}\n focused={isFocused}\n descriptor={descriptor}\n previousDescriptor={previousDescriptor}\n nextDescriptor={nextDescriptor}\n onWillDisappear={() => {\n navigation.emit({\n type: 'transitionStart',\n data: { closing: true },\n target: route.key,\n });\n }}\n onAppear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: false },\n target: route.key,\n });\n }}\n onDisappear={() => {\n navigation.emit({\n type: 'transitionEnd',\n data: { closing: true },\n target: route.key,\n });\n }}\n onDismissed={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n\n setNextDismissedKey(route.key);\n }}\n onHeaderBackButtonClicked={() => {\n navigation.dispatch({\n ...StackActions.pop(),\n source: route.key,\n target: state.key,\n });\n }}\n onNativeDismissCancelled={(event) => {\n navigation.dispatch({\n ...StackActions.pop(event.nativeEvent.dismissCount),\n source: route.key,\n target: state.key,\n });\n }}\n />\n );\n })}\n </ScreenStack>\n );\n}\n\nexport default function NativeStackView(props: Props) {\n return (\n <SafeAreaProviderCompat>\n <NativeStackViewInner {...props} />\n </SafeAreaProviderCompat>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n scene: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["isAndroid","Platform","OS","MaybeNestedStack","options","route","presentation","headerHeight","headerTopInsetEnabled","children","colors","useTheme","header","headerShown","contentStyle","isHeaderInModal","undefined","headerShownPreviousRef","React","useRef","useEffect","warnOnce","current","name","content","styles","container","backgroundColor","background","StyleSheet","absoluteFill","SceneView","index","focused","descriptor","previousDescriptor","nextDescriptor","onWillDisappear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","navigation","render","animationDuration","animationTypeForReplace","gestureEnabled","headerBackButtonMenuEnabled","headerTransparent","autoHideHomeIndicator","navigationBarColor","navigationBarHidden","orientation","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarColor","freezeOnBlur","animation","customAnimationOnGesture","fullScreenGestureEnabled","gestureDirection","nextGestureDirection","gestureDirectionOverride","insets","useSafeAreaInsets","frame","useSafeAreaFrame","isModal","isIPhone","isPad","isTV","isLandscape","width","height","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","topInset","top","preventedRoutes","usePreventRemoveContext","defaultHeaderHeight","getDefaultHeaderHeight","customHeaderHeight","setCustomHeaderHeight","useState","headerBack","title","getHeaderTitle","isRemovePrevented","key","preventRemove","headerBackTitle","scene","e","nativeEvent","layout","absolute","back","NativeStackViewInner","state","descriptors","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","routes","map","isFocused","previousKey","nextKey","emit","type","data","closing","target","event","dispatch","StackActions","pop","dismissCount","source","NativeStackView","props","create","flex","flexDirection","position","left","right"],"sourceRoot":"../../src","sources":["NativeStackView.native.tsx"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","createNativeStackNavigator","NativeStackView"],"
|
|
1
|
+
{"version":3,"names":["default","createNativeStackNavigator","NativeStackView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,0BAA0B,QAAQ,yCAAyC;;AAE/F;AACA;AACA;AACA,SAASD,OAAO,IAAIE,eAAe,QAAQ,yBAAyB;;AAEpE;AACA;AACA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
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); }
|
|
2
|
-
|
|
3
2
|
import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from '@react-navigation/native';
|
|
4
3
|
import * as React from 'react';
|
|
5
4
|
import NativeStackView from '../views/NativeStackView';
|
|
6
|
-
|
|
7
5
|
function NativeStackNavigator(_ref) {
|
|
8
6
|
let {
|
|
9
7
|
id,
|
|
@@ -27,17 +25,18 @@ function NativeStackNavigator(_ref) {
|
|
|
27
25
|
});
|
|
28
26
|
React.useEffect(() => {
|
|
29
27
|
var _navigation$addListen;
|
|
30
|
-
|
|
31
28
|
return (// @ts-expect-error: there may not be a tab navigator in parent
|
|
32
29
|
navigation === null || navigation === void 0 ? void 0 : (_navigation$addListen = navigation.addListener) === null || _navigation$addListen === void 0 ? void 0 : _navigation$addListen.call(navigation, 'tabPress', e => {
|
|
33
|
-
const isFocused = navigation.isFocused();
|
|
34
|
-
// This is necessary to know if preventDefault() has been called
|
|
30
|
+
const isFocused = navigation.isFocused();
|
|
35
31
|
|
|
32
|
+
// Run the operation in the next frame so we're sure all listeners have been run
|
|
33
|
+
// This is necessary to know if preventDefault() has been called
|
|
36
34
|
requestAnimationFrame(() => {
|
|
37
35
|
if (state.index > 0 && isFocused && !e.defaultPrevented) {
|
|
38
36
|
// When user taps on already focused tab and we're inside the tab,
|
|
39
37
|
// reset the stack to replicate native behaviour
|
|
40
|
-
navigation.dispatch({
|
|
38
|
+
navigation.dispatch({
|
|
39
|
+
...StackActions.popToTop(),
|
|
41
40
|
target: state.key
|
|
42
41
|
});
|
|
43
42
|
}
|
|
@@ -51,6 +50,5 @@ function NativeStackNavigator(_ref) {
|
|
|
51
50
|
descriptors: descriptors
|
|
52
51
|
})));
|
|
53
52
|
}
|
|
54
|
-
|
|
55
53
|
export default createNavigatorFactory(NativeStackNavigator);
|
|
56
54
|
//# 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"],"
|
|
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"],"sourceRoot":"../../src","sources":["createNativeStackNavigator.tsx"],"mappings":";AAAA,SACEA,sBAAsB,EAItBC,YAAY,EAEZC,WAAW,EAEXC,oBAAoB,QACf,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAO9B,OAAOC,eAAe,MAAM,0BAA0B;AAEtD,SAASC,oBAAoB,OAOC;EAAA,IAPA;IAC5BC,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,eAAe;IACfC,aAAa;IACb,GAAGC;EACsB,CAAC;EAC1B,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAkB,CAAC,GACzDb,oBAAoB,CAMlBD,WAAW,EAAE;IACbK,EAAE;IACFC,gBAAgB;IAChBC,QAAQ;IACRC,eAAe;IACfC;EACF,CAAC,CAAC;EAEJP,KAAK,CAACa,SAAS,CACb;IAAA;IAAA,OACE;MACAF,UAAU,aAAVA,UAAU,gDAAVA,UAAU,CAAEG,WAAW,0DAAvB,2BAAAH,UAAU,EAAgB,UAAU,EAAGI,CAAM,IAAK;QAChD,MAAMC,SAAS,GAAGL,UAAU,CAACK,SAAS,EAAE;;QAExC;QACA;QACAC,qBAAqB,CAAC,MAAM;UAC1B,IACER,KAAK,CAACS,KAAK,GAAG,CAAC,IACfF,SAAS,IACT,CAAED,CAAC,CAAgCI,gBAAgB,EACnD;YACA;YACA;YACAR,UAAU,CAACS,QAAQ,CAAC;cAClB,GAAGvB,YAAY,CAACwB,QAAQ,EAAE;cAC1BC,MAAM,EAAEb,KAAK,CAACc;YAChB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAC;IAAC;EAAA,GACJ,CAACZ,UAAU,EAAEF,KAAK,CAACS,KAAK,EAAET,KAAK,CAACc,GAAG,CAAC,CACrC;EAED,oBACE,oBAAC,iBAAiB,qBAChB,oBAAC,eAAe,eACVf,IAAI;IACR,KAAK,EAAEC,KAAM;IACb,UAAU,EAAEE,UAAW;IACvB,WAAW,EAAED;EAAY,GACzB,CACgB;AAExB;AAEA,eAAed,sBAAsB,CAKnCM,oBAAoB,CAAC"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type {\n DefaultNavigatorOptions,\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n ParamListBase,\n Route,\n RouteProp,\n StackActionHelpers,\n StackNavigationState,\n StackRouterOptions,\n} from '@react-navigation/native';\nimport type {\n ImageSourcePropType,\n StyleProp,\n TextStyle,\n ViewStyle,\n} from 'react-native';\nimport type {\n ScreenProps,\n ScreenStackHeaderConfigProps,\n SearchBarProps,\n} from 'react-native-screens';\n\nexport type NativeStackNavigationEventMap = {\n /**\n * Event which fires when a transition animation starts.\n */\n transitionStart: { data: { closing: boolean } };\n /**\n * Event which fires when a transition animation ends.\n */\n transitionEnd: { data: { closing: boolean } };\n};\n\nexport type NativeStackNavigationProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = NavigationProp<\n ParamList,\n RouteName,\n NavigatorID,\n StackNavigationState<ParamList>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackActionHelpers<ParamList>;\n\nexport type NativeStackScreenProps<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = string,\n NavigatorID extends string | undefined = undefined\n> = {\n navigation: NativeStackNavigationProp<ParamList, RouteName, NavigatorID>;\n route: RouteProp<ParamList, RouteName>;\n};\n\nexport type NativeStackNavigationHelpers = NavigationHelpers<\n ParamListBase,\n NativeStackNavigationEventMap\n>;\n\n// We want it to be an empty object because navigator does not have any additional props\nexport type NativeStackNavigationConfig = {};\n\nexport type NativeStackHeaderProps = {\n /**\n * Options for the back button.\n */\n back?: {\n /**\n * Title of the previous screen.\n */\n title: string;\n };\n /**\n * Options for the current screen.\n */\n options: NativeStackNavigationOptions;\n /**\n * Route object for the current screen.\n */\n route: Route<string>;\n /**\n * Navigation prop for the header.\n */\n navigation: NativeStackNavigationProp<ParamListBase>;\n};\n\nexport type HeaderButtonProps = {\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n /**\n * Whether it's possible to navigate back in stack.\n */\n canGoBack: boolean;\n};\n\nexport type HeaderBackButtonProps = HeaderButtonProps & {\n /**\n * Label text for the button. Usually the title of the previous screen.\n * By default, this is only shown on iOS.\n */\n label?: string;\n};\n\nexport type NativeStackNavigationOptions = {\n /**\n * String that can be displayed in the header as a fallback for `headerTitle`.\n */\n title?: string;\n /**\n * Function that given `HeaderProps` returns a React Element to display as a header.\n */\n header?: (props: NativeStackHeaderProps) => React.ReactNode;\n /**\n * Whether the back button is visible in the header.\n * You can use it to show a back button alongside `headerLeft` if you have specified it.\n *\n * This will have no effect on the first screen in the stack.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackVisible?: boolean;\n /**\n * Title string used by the back button on iOS.\n * Defaults to the previous scene's title, or \"Back\" if there's not enough space.\n * Use `headerBackTitleVisible: false` to hide it.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitle?: string;\n /**\n * Whether the back button title should be visible or not.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleVisible?: boolean;\n /**\n * Style object for header back title. Supported properties:\n * - fontFamily\n * - fontSize\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n }>;\n /**\n * Image to display in the header as the icon in the back button.\n * Defaults to back icon image for the platform\n * - A chevron on iOS\n * - An arrow on Android\n */\n headerBackImageSource?: ImageSourcePropType;\n /**\n * Style of the header when a large title is shown.\n * The large title is shown if `headerLargeTitle` is `true` and\n * the edge of any scrollable content reaches the matching edge of the header.\n *\n * Supported properties:\n * - backgroundColor\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to enable header with large title which collapses to regular header on scroll.\n *\n * For large title to collapse on scroll, the content of the screen should be wrapped in a scrollable view such as `ScrollView` or `FlatList`.\n * If the scrollable area doesn't fill the screen, the large title won't collapse on scroll.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitle?: boolean;\n /**\n * Whether drop shadow of header is visible when a large title is shown.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleShadowVisible?: boolean;\n /**\n * Style object for large title in header. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerLargeTitleStyle?: StyleProp<{\n fontFamily?: string;\n fontSize?: number;\n fontWeight?: string;\n color?: string;\n }>;\n /**\n * Whether to show the header. The header is shown by default.\n * Setting this to `false` hides the header.\n */\n headerShown?: boolean;\n /**\n * Style object for header. Supported properties:\n * - backgroundColor\n */\n headerStyle?: StyleProp<{\n backgroundColor?: string;\n }>;\n /**\n * Whether to hide the elevation shadow (Android) or the bottom border (iOS) on the header.\n */\n headerShadowVisible?: boolean;\n /**\n * Boolean indicating whether the navigation bar is translucent.\n * Setting this to `true` makes the header absolutely positioned,\n * and changes the background color to `transparent` unless specified in `headerStyle`.\n */\n headerTransparent?: boolean;\n /**\n * Blur effect for the translucent header.\n * The `headerTransparent` option needs to be set to `true` for this to work.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBlurEffect?: ScreenStackHeaderConfigProps['blurEffect'];\n /**\n * Tint color for the header. Changes the color of back button and title.\n */\n headerTintColor?: string;\n /**\n * Function which returns a React Element to render as the background of the header.\n * This is useful for using backgrounds such as an image, a gradient, blur effect etc.\n * You can use this with `headerTransparent` to render content underneath a translucent header.\n */\n headerBackground?: () => React.ReactNode;\n /**\n * Function which returns a React Element to display on the left side of the header.\n * This replaces the back button. See `headerBackVisible` to show the back button along side left element.\n */\n headerLeft?: (props: HeaderBackButtonProps) => React.ReactNode;\n /**\n * Function which returns a React Element to display on the right side of the header.\n */\n headerRight?: (props: HeaderButtonProps) => React.ReactNode;\n /**\n * String or a function that returns a React Element to be used by the header.\n * Defaults to screen `title` or route name.\n *\n * When a function is passed, it receives `tintColor` and`children` in the options object as an argument.\n * The title string is passed in `children`.\n *\n * Note that if you render a custom element by passing a function, animations for the title won't work.\n */\n headerTitle?:\n | string\n | ((props: {\n /**\n * The title text of the header.\n */\n children: string;\n /**\n * Tint color for the header.\n */\n tintColor?: string;\n }) => React.ReactNode);\n /**\n * How to align the the header title.\n * Defaults to `left` on platforms other than iOS.\n *\n * Not supported on iOS. It's always `center` on iOS and cannot be changed.\n */\n headerTitleAlign?: 'left' | 'center';\n /**\n * Style object for header title. Supported properties:\n * - fontFamily\n * - fontSize\n * - fontWeight\n * - color\n */\n headerTitleStyle?: StyleProp<\n Pick<TextStyle, 'fontFamily' | 'fontSize' | 'fontWeight'> & {\n color?: string;\n }\n >;\n /**\n * Options to render a native search bar.\n * You also need to specify `contentInsetAdjustmentBehavior=\"automatic\"` in your `ScrollView`, `FlatList` etc.\n * If you don't have a `ScrollView`, specify `headerTransparent: false`.\n *\n * Only supported on iOS and Android.\n */\n headerSearchBarOptions?: SearchBarProps;\n /**\n * Boolean indicating whether to show the menu on longPress of iOS >= 14 back button. Defaults to `true`.\n * Requires `react-native-screens` version >=3.3.0.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n headerBackButtonMenuEnabled?: boolean;\n /**\n * Whether the home indicator should prefer to stay hidden on this screen. Defaults to `false`.\n *\n * @platform ios\n */\n autoHideHomeIndicator?: boolean;\n /**\n * Sets the navigation bar color. Defaults to initial navigation bar color.\n *\n * @platform android\n */\n navigationBarColor?: string;\n /**\n * Sets the visibility of the navigation bar. Defaults to `false`.\n *\n * @platform android\n */\n navigationBarHidden?: boolean;\n /**\n * Sets the status bar animation (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarAnimation?: ScreenProps['statusBarAnimation'];\n /**\n * Sets the status bar color (similar to the `StatusBar` component). Defaults to initial status bar color.\n *\n * @platform android\n */\n statusBarColor?: string;\n /**\n * Whether the status bar should be hidden on this screen.\n * Requires setting `View controller-based status bar appearance -> YES` in your Info.plist file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarHidden?: boolean;\n /**\n * Sets the status bar color (similar to the `StatusBar` component).\n * Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n statusBarStyle?: ScreenProps['statusBarStyle'];\n /**\n * Sets the translucency of the status bar. Defaults to `false`.\n *\n * @platform android\n */\n statusBarTranslucent?: boolean;\n /**\n * Sets the direction in which you should swipe to dismiss the screen.\n * When using `vertical` option, options `fullScreenGestureEnabled: true`, `customAnimationOnGesture: true` and `animation: 'slide_from_bottom'` are set by default.\n *\n * Supported values:\n * - `vertical` – dismiss screen vertically\n * - `horizontal` – dismiss screen horizontally (default)\n *\n * @platform ios\n */\n gestureDirection?: ScreenProps['swipeDirection'];\n /**\n * Style object for the scene content.\n */\n contentStyle?: StyleProp<ViewStyle>;\n /**\n * Whether the gesture to dismiss should use animation provided to `animation` prop. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n customAnimationOnGesture?: boolean;\n /**\n * Whether the gesture to dismiss should work on the whole screen. Using gesture to dismiss with this option results in the same\n * transition animation as `simple_push`. This behavior can be changed by setting `customAnimationOnGesture` prop. Achieving the\n * default iOS animation isn't possible due to platform limitations. Defaults to `false`.\n *\n * Doesn't affect the behavior of screens presented modally.\n *\n * @platform ios\n */\n fullScreenGestureEnabled?: boolean;\n /**\n * Whether you can use gestures to dismiss this screen. Defaults to `true`.\n *\n * Only supported on iOS.\n *\n * @platform ios\n */\n gestureEnabled?: boolean;\n /**\n * The type of animation to use when this screen replaces another screen. Defaults to `pop`.\n *\n * Supported values:\n * - \"push\": the new screen will perform push animation.\n * - \"pop\": the new screen will perform pop animation.\n *\n * Only supported on iOS and Android.\n */\n animationTypeForReplace?: ScreenProps['replaceAnimation'];\n /**\n * How the screen should animate when pushed or popped.\n *\n * Supported values:\n * - \"default\": use the platform default animation\n * - \"fade\": fade screen in or out\n * - \"flip\": flip the screen, requires presentation: \"modal\" (iOS only)\n * - \"simple_push\": use the platform default animation, but without shadow and native header transition (iOS only)\n * - \"slide_from_bottom\": slide in the new screen from bottom\n * - \"slide_from_right\": slide in the new screen from right (Android only, uses default animation on iOS)\n * - \"slide_from_left\": slide in the new screen from left (Android only, uses default animation on iOS)\n * - \"none\": don't animate the screen\n *\n * Only supported on iOS and Android.\n */\n animation?: ScreenProps['stackAnimation'];\n /**\n * Changes the duration (in milliseconds) of `slide_from_bottom`, `fade_from_bottom`, `fade` and `simple_push` transitions on iOS. Defaults to `350`.\n * The duration of `default` and `flip` transitions isn't customizable.\n *\n * @platform ios\n */\n animationDuration?: number;\n /**\n * How should the screen be presented.\n *\n * Supported values:\n * - \"card\": the new screen will be pushed onto a stack, which means the default animation will be slide from the side on iOS, the animation on Android will vary depending on the OS version and theme.\n * - \"modal\": the new screen will be presented modally. this also allows for a nested stack to be rendered inside the screen.\n * - \"transparentModal\": the new screen will be presented modally, but in addition, the previous screen will stay so that the content below can still be seen if the screen has translucent background.\n * - \"containedModal\": will use \"UIModalPresentationCurrentContext\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"containedTransparentModal\": will use \"UIModalPresentationOverCurrentContext\" modal style on iOS and will fallback to \"transparentModal\" on Android.\n * - \"fullScreenModal\": will use \"UIModalPresentationFullScreen\" modal style on iOS and will fallback to \"modal\" on Android.\n * - \"formSheet\": will use \"UIModalPresentationFormSheet\" modal style on iOS and will fallback to \"modal\" on Android.\n *\n * Only supported on iOS and Android.\n */\n presentation?: Exclude<ScreenProps['stackPresentation'], 'push'> | 'card';\n /**\n * The display orientation to use for the screen.\n *\n * Supported values:\n * - \"default\" - resolves to \"all\" without \"portrait_down\" on iOS. On Android, this lets the system decide the best orientation.\n * - \"all\": all orientations are permitted.\n * - \"portrait\": portrait orientations are permitted.\n * - \"portrait_up\": right-side portrait orientation is permitted.\n * - \"portrait_down\": upside-down portrait orientation is permitted.\n * - \"landscape\": landscape orientations are permitted.\n * - \"landscape_left\": landscape-left orientation is permitted.\n * - \"landscape_right\": landscape-right orientation is permitted.\n *\n * Only supported on iOS and Android.\n */\n orientation?: ScreenProps['screenOrientation'];\n /**\n * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.\n * Defaults to `true` when `enableFreeze()` is run at the top of the application.\n * Requires `react-native-screens` version >=3.16.0.\n *\n * Only supported on iOS and Android.\n */\n freezeOnBlur?: boolean;\n};\n\nexport type NativeStackNavigatorProps = DefaultNavigatorOptions<\n ParamListBase,\n StackNavigationState<ParamListBase>,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n> &\n StackRouterOptions &\n NativeStackNavigationConfig;\n\nexport type NativeStackDescriptor = Descriptor<\n NativeStackNavigationOptions,\n NativeStackNavigationProp<ParamListBase>,\n RouteProp<ParamListBase>\n>;\n\nexport type NativeStackDescriptorMap = {\n [key: string]: NativeStackDescriptor;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export default function useInvalidPreventRemoveError(state) {
|
|
3
3
|
var _state$routes$find;
|
|
4
|
-
|
|
5
4
|
const [nextDismissedKey, setNextDismissedKey] = React.useState(null);
|
|
6
5
|
const dismissedRouteName = nextDismissedKey ? (_state$routes$find = state.routes.find(route => route.key === nextDismissedKey)) === null || _state$routes$find === void 0 ? void 0 : _state$routes$find.name : null;
|
|
7
6
|
React.useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"
|
|
1
|
+
{"version":3,"names":["React","useInvalidPreventRemoveError","state","nextDismissedKey","setNextDismissedKey","useState","dismissedRouteName","routes","find","route","key","name","useEffect","message","console","error"],"sourceRoot":"../../src","sources":["useDismissedRouteError.tsx"],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,eAAe,SAASC,4BAA4B,CAClDC,KAA0C,EAC1C;EAAA;EACA,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAC5D,IAAI,CACL;EAED,MAAMC,kBAAkB,GAAGH,gBAAgB,yBACvCD,KAAK,CAACK,MAAM,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,KAAKP,gBAAgB,CAAC,uDAA5D,mBAA8DQ,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"}
|
|
@@ -2,7 +2,6 @@ import { usePreventRemoveContext } from '@react-navigation/native';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export default function useInvalidPreventRemoveError(descriptors) {
|
|
4
4
|
var _preventedDescriptor$, _preventedDescriptor$2;
|
|
5
|
-
|
|
6
5
|
const {
|
|
7
6
|
preventedRoutes
|
|
8
7
|
} = usePreventRemoveContext();
|
|
@@ -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"],"
|
|
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":["useInvalidPreventRemoveError.tsx"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,0BAA0B;AAClE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAI9B,eAAe,SAASC,4BAA4B,CAClDC,WAAqC,EACrC;EAAA;EACA,MAAM;IAAEC;EAAgB,CAAC,GAAGJ,uBAAuB,EAAE;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,aAAnBA,mBAAmB,gDAAnBA,mBAAmB,CAAEE,OAAO,0DAA5B,sBAA8BC,2BAA2B;EAC3D,MAAMC,kBAAkB,GAAGJ,mBAAmB,aAAnBA,mBAAmB,iDAAnBA,mBAAmB,CAAEK,KAAK,2DAA1B,uBAA4BC,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","Container","props","stackPresentation","_","rest"],"
|
|
1
|
+
{"version":3,"names":["React","View","Container","props","stackPresentation","_","rest"],"sourceRoot":"../../src","sources":["DebugContainer.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAmB,cAAc;AAQ9C,eAAe,SAASC,SAAS,CAACC,KAAqB,EAAE;EACvD;EACA,MAAM;IAAEC,iBAAiB,EAAEC,CAAC;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAK;EAC/C,oBAAO,oBAAC,IAAI,EAAKG,IAAI,CAAI;AAC3B"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Platform, View } from 'react-native';
|
|
3
|
-
|
|
2
|
+
import { Platform, View } from 'react-native';
|
|
3
|
+
// @ts-ignore Getting private component
|
|
4
4
|
import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
|
|
5
5
|
let Container = View;
|
|
6
|
-
|
|
7
6
|
if (process.env.NODE_ENV !== 'production') {
|
|
8
7
|
const DebugContainer = props => {
|
|
9
8
|
const {
|
|
10
9
|
stackPresentation,
|
|
11
10
|
...rest
|
|
12
11
|
} = props;
|
|
13
|
-
|
|
14
12
|
if (Platform.OS === 'ios' && stackPresentation !== 'push') {
|
|
15
13
|
// This is necessary for LogBox
|
|
16
14
|
return /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(View, rest));
|
|
17
15
|
}
|
|
18
|
-
|
|
19
16
|
return /*#__PURE__*/React.createElement(View, rest);
|
|
20
17
|
};
|
|
21
|
-
|
|
22
18
|
Container = DebugContainer;
|
|
23
19
|
}
|
|
24
|
-
|
|
25
20
|
export default Container;
|
|
26
21
|
//# sourceMappingURL=DebugContainer.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","AppContainer","Container","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","OS"],"
|
|
1
|
+
{"version":3,"names":["React","Platform","View","AppContainer","Container","process","env","NODE_ENV","DebugContainer","props","stackPresentation","rest","OS"],"sourceRoot":"../../src","sources":["DebugContainer.native.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,IAAI,QAAmB,cAAc;AACxD;AACA,OAAOC,YAAY,MAAM,iDAAiD;AAQ1E,IAAIC,SAAS,GAAGF,IAAsD;AAEtE,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzC,MAAMC,cAAc,GAAIC,KAAqB,IAAK;IAChD,MAAM;MAAEC,iBAAiB;MAAE,GAAGC;IAAK,CAAC,GAAGF,KAAK;IAE5C,IAAIR,QAAQ,CAACW,EAAE,KAAK,KAAK,IAAIF,iBAAiB,KAAK,MAAM,EAAE;MACzD;MACA,oBACE,oBAAC,YAAY,qBACX,oBAAC,IAAI,EAAKC,IAAI,CAAI,CACL;IAEnB;IAEA,oBAAO,oBAAC,IAAI,EAAKA,IAAI,CAAI;EAC3B,CAAC;EAEDP,SAAS,GAAGI,cAAc;AAC5B;AAEA,eAAeJ,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["processFonts","_","Error"],"
|
|
1
|
+
{"version":3,"names":["processFonts","_","Error"],"sourceRoot":"../../src","sources":["FontProcessor.tsx"],"mappings":"AAAA,OAAO,SAASA,YAAY,CAC1BC,CAAyB,EACD;EACxB,MAAM,IAAIC,KAAK,CAAC,sBAAsB,CAAC;AACzC"}
|
|
@@ -2,14 +2,11 @@
|
|
|
2
2
|
import ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
|
|
3
3
|
export function processFonts(fontFamilies) {
|
|
4
4
|
var _ReactNativeStyleAttr;
|
|
5
|
-
|
|
6
5
|
// @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
|
|
7
6
|
const fontFamilyProcessor = (_ReactNativeStyleAttr = ReactNativeStyleAttributes.fontFamily) === null || _ReactNativeStyleAttr === void 0 ? void 0 : _ReactNativeStyleAttr.process;
|
|
8
|
-
|
|
9
7
|
if (typeof fontFamilyProcessor === 'function') {
|
|
10
8
|
return fontFamilies.map(fontFamilyProcessor);
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
return fontFamilies;
|
|
14
11
|
}
|
|
15
12
|
//# sourceMappingURL=FontProcessor.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"
|
|
1
|
+
{"version":3,"names":["ReactNativeStyleAttributes","processFonts","fontFamilies","fontFamilyProcessor","fontFamily","process","map"],"sourceRoot":"../../src","sources":["FontProcessor.native.tsx"],"mappings":"AAAA;AACA,OAAOA,0BAA0B,MAAM,mEAAmE;AAE1G,OAAO,SAASC,YAAY,CAC1BC,YAAoC,EACZ;EAAA;EACxB;EACA,MAAMC,mBAAmB,4BAAGH,0BAA0B,CAACI,UAAU,0DAArC,sBAAuCC,OAAO;EAC1E,IAAI,OAAOF,mBAAmB,KAAK,UAAU,EAAE;IAC7C,OAAOD,YAAY,CAACI,GAAG,CAACH,mBAAmB,CAAC;EAC9C;EACA,OAAOD,YAAY;AACrB"}
|