425 lines
15 KiB
JavaScript
425 lines
15 KiB
JavaScript
// Module ID: 9043
|
|
// Function ID: 71095
|
|
// Name: NativeStackViewInner
|
|
// Dependencies: [57, 31, 27, 33, 1457, 4488, 9044, 4479, 1560, 5526, 9045, 9048, 9049]
|
|
// Exports: default
|
|
|
|
// Module 9043 (NativeStackViewInner)
|
|
import _slicedToArray from "_slicedToArray";
|
|
import result from "result";
|
|
import get_ActivityIndicator from "get ActivityIndicator";
|
|
import jsxProd from "jsxProd";
|
|
|
|
let Platform;
|
|
let StyleSheet;
|
|
let closure_7;
|
|
let closure_8;
|
|
const require = arg1;
|
|
function NativeStackViewInner(state) {
|
|
let descriptors;
|
|
let importDefault;
|
|
state = state.state;
|
|
({ navigation: importDefault, descriptors } = state);
|
|
const setNextDismissedKey = importDefault(descriptors[11])(state).setNextDismissedKey;
|
|
importDefault(descriptors[12])(descriptors);
|
|
let obj = { style: closure_11.container };
|
|
const routes = state.routes;
|
|
obj.children = routes.map((key, index) => {
|
|
const state = key;
|
|
key = undefined;
|
|
if (null != state.routes[index - 1]) {
|
|
key = tmp.key;
|
|
}
|
|
let key1;
|
|
if (null != state.routes[index + 1]) {
|
|
key1 = tmp3.key;
|
|
}
|
|
let tmp5;
|
|
if (key) {
|
|
tmp5 = descriptors[key];
|
|
}
|
|
let tmp7;
|
|
if (key1) {
|
|
tmp7 = descriptors[key1];
|
|
}
|
|
const obj = {
|
|
index,
|
|
focused: state.index === index,
|
|
descriptor: descriptors[key.key],
|
|
previousDescriptor: tmp5,
|
|
nextDescriptor: tmp7,
|
|
onWillDisappear(onDidDisappear, arg1) {
|
|
outer1_1.emit({ type: "transitionStart", data: { closing: true }, target: key.key });
|
|
},
|
|
onWillAppear(arg0) {
|
|
outer1_1.emit({ type: "transitionStart", data: { closing: false }, target: key.key });
|
|
},
|
|
onAppear() {
|
|
outer1_1.emit({ type: "transitionEnd", data: { closing: false }, target: key.key });
|
|
},
|
|
onDisappear() {
|
|
outer1_1.emit({ type: "transitionEnd", data: { closing: true }, target: key.key });
|
|
},
|
|
onDismissed(nativeEvent) {
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
outer1_1.dispatch(Object.assign({}, StackActions.pop(nativeEvent.nativeEvent.dismissCount), { source: key.key, target: key.key }));
|
|
outer1_3(key.key);
|
|
},
|
|
onHeaderBackButtonClicked() {
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
outer1_1.dispatch(Object.assign({}, StackActions.pop(), { source: key.key, target: key.key }));
|
|
},
|
|
onNativeDismissCancelled(nativeEvent) {
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
outer1_1.dispatch(Object.assign({}, StackActions.pop(nativeEvent.nativeEvent.dismissCount), { source: key.key, target: key.key }));
|
|
},
|
|
onGestureCancel() {
|
|
outer1_1.emit({ type: "gestureCancel", target: key.key });
|
|
}
|
|
};
|
|
return outer1_7(outer1_10, obj, key.key);
|
|
});
|
|
return callback2(state(descriptors[7]).ScreenStack, obj);
|
|
}
|
|
({ Platform, StyleSheet } = get_ActivityIndicator);
|
|
const View = get_ActivityIndicator.View;
|
|
({ jsx: closure_7, jsxs: closure_8 } = jsxProd);
|
|
function MaybeNestedStack(children) {
|
|
let header;
|
|
let headerHeight;
|
|
let headerShown;
|
|
let headerTopInsetEnabled;
|
|
let options;
|
|
let presentation;
|
|
let route;
|
|
({ options, route } = children);
|
|
({ presentation, headerHeight, headerTopInsetEnabled } = children);
|
|
let obj = route(1457);
|
|
({ header, headerShown } = options);
|
|
let tmp = undefined === headerShown;
|
|
if (!tmp) {
|
|
tmp = headerShown;
|
|
}
|
|
const importDefault = tmp;
|
|
const dependencyMap = React.useRef(tmp);
|
|
const items = [tmp, presentation, route.name];
|
|
const effect = React.useEffect(() => {
|
|
tmp = tmp(table[5]);
|
|
tmp(false, "Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '" + route.name + "'.");
|
|
table.current = tmp;
|
|
}, items);
|
|
obj = {};
|
|
const items1 = [closure_11.container, , ];
|
|
let tmp5 = "transparentModal" !== presentation;
|
|
if (tmp5) {
|
|
tmp5 = "containedTransparentModal" !== presentation;
|
|
}
|
|
if (tmp5) {
|
|
obj = {};
|
|
obj.backgroundColor = obj.useTheme().colors.background;
|
|
tmp5 = obj;
|
|
}
|
|
items1[1] = tmp5;
|
|
items1[2] = options.contentStyle;
|
|
obj.style = items1;
|
|
let str2 = "push";
|
|
if ("card" !== presentation) {
|
|
str2 = presentation;
|
|
}
|
|
obj.stackPresentation = str2;
|
|
obj.children = children.children;
|
|
return closure_7(importDefault(9044), obj);
|
|
}
|
|
function SceneView(arg0) {
|
|
let animation;
|
|
let autoHideHomeIndicator;
|
|
let customAnimationOnGesture;
|
|
let descriptor;
|
|
let focused;
|
|
let freezeOnBlur;
|
|
let fullScreenGestureEnabled;
|
|
let gestureEnabled;
|
|
let gestureResponseDistance;
|
|
let header;
|
|
let headerBackButtonMenuEnabled;
|
|
let headerBackground;
|
|
let headerShown;
|
|
let headerTransparent;
|
|
let height;
|
|
let index;
|
|
let keyboardHandlingEnabled;
|
|
let navigation;
|
|
let navigationBarColor;
|
|
let navigationBarHidden;
|
|
let nextDescriptor;
|
|
let onAppear;
|
|
let onDisappear;
|
|
let onDismissed;
|
|
let onGestureCancel;
|
|
let onHeaderBackButtonClicked;
|
|
let onNativeDismissCancelled;
|
|
let onWillAppear;
|
|
let onWillDisappear;
|
|
let options;
|
|
let orientation;
|
|
let presentation;
|
|
let previousDescriptor;
|
|
let route;
|
|
let sheetAllowedDetents;
|
|
let statusBarAnimation;
|
|
let statusBarColor;
|
|
let statusBarHidden;
|
|
let statusBarStyle;
|
|
let statusBarTranslucent;
|
|
let width;
|
|
({ focused, descriptor, previousDescriptor, nextDescriptor } = arg0);
|
|
({ route, navigation, options } = descriptor);
|
|
({ index, onWillDisappear, onWillAppear, onAppear, onDisappear, onDismissed, onHeaderBackButtonClicked, onNativeDismissCancelled, onGestureCancel } = arg0);
|
|
let obj = _require(4479);
|
|
const UNSTABLE_headerInsets = options.UNSTABLE_headerInsets;
|
|
let left;
|
|
if (null != UNSTABLE_headerInsets) {
|
|
left = UNSTABLE_headerInsets.left;
|
|
}
|
|
const UNSTABLE_headerInsets2 = options.UNSTABLE_headerInsets;
|
|
let right;
|
|
if (null != UNSTABLE_headerInsets2) {
|
|
right = UNSTABLE_headerInsets2.right;
|
|
}
|
|
const UNSTABLE_headerInsets3 = options.UNSTABLE_headerInsets;
|
|
let bottom;
|
|
if (null != UNSTABLE_headerInsets3) {
|
|
bottom = UNSTABLE_headerInsets3.bottom;
|
|
}
|
|
const animationTypeForReplace = options.animationTypeForReplace;
|
|
let str = "push";
|
|
let str2 = "push";
|
|
if (undefined !== animationTypeForReplace) {
|
|
str2 = animationTypeForReplace;
|
|
}
|
|
const fullScreenGestureShadowEnabled = options.fullScreenGestureShadowEnabled;
|
|
({ gestureEnabled, header, headerBackButtonMenuEnabled, headerShown, headerBackground, headerTransparent, sheetAllowedDetents } = options);
|
|
let str3 = "large";
|
|
({ gestureResponseDistance, autoHideHomeIndicator, keyboardHandlingEnabled, navigationBarColor, navigationBarHidden, orientation } = options);
|
|
if (undefined !== sheetAllowedDetents) {
|
|
str3 = sheetAllowedDetents;
|
|
}
|
|
const sheetLargestUndimmedDetent = options.sheetLargestUndimmedDetent;
|
|
let str4 = "all";
|
|
if (undefined !== sheetLargestUndimmedDetent) {
|
|
str4 = sheetLargestUndimmedDetent;
|
|
}
|
|
const sheetGrabberVisible = options.sheetGrabberVisible;
|
|
const sheetCornerRadius = options.sheetCornerRadius;
|
|
let num = -1;
|
|
if (undefined !== sheetCornerRadius) {
|
|
num = sheetCornerRadius;
|
|
}
|
|
const sheetExpandsWhenScrolledToEdge = options.sheetExpandsWhenScrolledToEdge;
|
|
({ statusBarTranslucent, presentation } = options);
|
|
let str5 = "card";
|
|
({ statusBarAnimation, statusBarHidden, statusBarStyle, statusBarColor, freezeOnBlur, animation, customAnimationOnGesture, fullScreenGestureEnabled } = options);
|
|
if (undefined !== presentation) {
|
|
str5 = presentation;
|
|
}
|
|
let gestureDirection = options.gestureDirection;
|
|
if (undefined === gestureDirection) {
|
|
let str6 = "vertical";
|
|
if ("card" === str5) {
|
|
str6 = "horizontal";
|
|
}
|
|
gestureDirection = str6;
|
|
}
|
|
gestureDirection = undefined;
|
|
if (null != nextDescriptor) {
|
|
gestureDirection = nextDescriptor.options.gestureDirection;
|
|
}
|
|
if (0 === index) {
|
|
str5 = "card";
|
|
}
|
|
let obj1 = _require(1560);
|
|
const safeAreaInsets = obj1.useSafeAreaInsets();
|
|
let obj2 = _require(1560);
|
|
const safeAreaFrame = obj2.useSafeAreaFrame();
|
|
let tmp10 = "modal" === str5;
|
|
if (!tmp10) {
|
|
tmp10 = "formSheet" === str5;
|
|
}
|
|
({ width, height } = safeAreaFrame);
|
|
let context = React.useContext(_require(5526).HeaderShownContext);
|
|
const context1 = React.useContext(_require(5526).HeaderHeightContext);
|
|
let num2 = 0;
|
|
const context2 = React.useContext(_require(5526).HeaderBackContext);
|
|
if (!context) {
|
|
num2 = safeAreaInsets.top;
|
|
}
|
|
let obj3 = _require(1457);
|
|
let obj4 = _require(5526);
|
|
let defaultHeaderHeight = obj4.getDefaultHeaderHeight(safeAreaFrame, tmp10, num2);
|
|
const tmp15 = callback(React.useState(defaultHeaderHeight), 2);
|
|
_require = tmp15[1];
|
|
let tmp16 = statusBarTranslucent;
|
|
if ("boolean" !== typeof statusBarTranslucent) {
|
|
tmp16 = 0 !== num2;
|
|
}
|
|
if (header) {
|
|
defaultHeaderHeight = tmp15[0];
|
|
}
|
|
let tmp17 = context2;
|
|
if (previousDescriptor) {
|
|
obj = {};
|
|
let obj6 = _require(5526);
|
|
obj.title = obj6.getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name);
|
|
tmp17 = obj;
|
|
}
|
|
const tmp20 = obj3.usePreventRemoveContext().preventedRoutes[route.key];
|
|
let preventRemove;
|
|
if (null != tmp20) {
|
|
preventRemove = tmp20.preventRemove;
|
|
}
|
|
obj = { enabled: true, isNativeStack: true, style: StyleSheet.absoluteFill };
|
|
const headerLargeTitle = options.headerLargeTitle;
|
|
let tmp23 = null != headerLargeTitle;
|
|
if (tmp23) {
|
|
tmp23 = headerLargeTitle;
|
|
}
|
|
obj.hasLargeHeader = tmp23;
|
|
obj.customAnimationOnSwipe = customAnimationOnGesture;
|
|
obj.fullScreenSwipeEnabled = fullScreenGestureEnabled;
|
|
obj.fullScreenSwipeShadowEnabled = undefined !== fullScreenGestureShadowEnabled && fullScreenGestureShadowEnabled;
|
|
obj.gestureEnabled = false;
|
|
obj.homeIndicatorHidden = autoHideHomeIndicator;
|
|
obj.hideKeyboardOnSwipe = keyboardHandlingEnabled;
|
|
obj.navigationBarColor = navigationBarColor;
|
|
obj.navigationBarHidden = navigationBarHidden;
|
|
obj.replaceAnimation = str2;
|
|
if ("card" !== str5) {
|
|
str = str5;
|
|
}
|
|
obj.stackPresentation = str;
|
|
obj.stackAnimation = animation;
|
|
obj.screenOrientation = orientation;
|
|
obj.sheetAllowedDetents = str3;
|
|
obj.sheetLargestUndimmedDetent = str4;
|
|
obj.sheetGrabberVisible = undefined !== sheetGrabberVisible && sheetGrabberVisible;
|
|
obj.sheetCornerRadius = num;
|
|
obj.sheetExpandsWhenScrolledToEdge = undefined === sheetExpandsWhenScrolledToEdge || sheetExpandsWhenScrolledToEdge;
|
|
obj.statusBarAnimation = statusBarAnimation;
|
|
obj.statusBarHidden = statusBarHidden;
|
|
obj.statusBarStyle = statusBarStyle;
|
|
obj.statusBarColor = statusBarColor;
|
|
obj.statusBarTranslucent = statusBarTranslucent;
|
|
obj.swipeDirection = gestureDirection;
|
|
obj.transitionDuration = options.animationDuration;
|
|
obj.onWillDisappear = onWillDisappear;
|
|
obj.onWillAppear = onWillAppear;
|
|
obj.onAppear = onAppear;
|
|
obj.onDisappear = onDisappear;
|
|
obj.onDismissed = onDismissed;
|
|
obj.onGestureCancel = onGestureCancel;
|
|
obj.gestureResponseDistance = gestureResponseDistance;
|
|
obj.nativeBackButtonDismissalEnabled = false;
|
|
obj.onHeaderBackButtonClicked = onHeaderBackButtonClicked;
|
|
obj.preventNativeDismiss = preventRemove;
|
|
obj.onNativeDismissCancelled = onNativeDismissCancelled;
|
|
obj.freezeOnBlur = freezeOnBlur;
|
|
obj1 = { value: navigation };
|
|
obj2 = { value: route };
|
|
obj3 = {};
|
|
if (!context) {
|
|
context = false !== headerShown;
|
|
}
|
|
obj3.value = context;
|
|
obj4 = {};
|
|
let tmp29 = defaultHeaderHeight;
|
|
if (false === headerShown) {
|
|
let num3 = 0;
|
|
if (null != context1) {
|
|
num3 = context1;
|
|
}
|
|
tmp29 = num3;
|
|
}
|
|
obj4.value = tmp29;
|
|
let tmp31Result = null;
|
|
if (null != headerBackground) {
|
|
const obj5 = {};
|
|
const items = [closure_11.background, , ];
|
|
let translucent = null;
|
|
if (headerTransparent) {
|
|
translucent = closure_11.translucent;
|
|
}
|
|
items[1] = translucent;
|
|
obj6 = { height: defaultHeaderHeight };
|
|
items[2] = obj6;
|
|
obj5.style = items;
|
|
obj5.children = headerBackground();
|
|
tmp31Result = callback2(View, obj5);
|
|
const tmp31 = callback2;
|
|
const tmp32 = View;
|
|
}
|
|
const items1 = [tmp31Result, , ];
|
|
const obj7 = { accessibilityElementsHidden: !focused };
|
|
let str8 = "no-hide-descendants";
|
|
if (focused) {
|
|
str8 = "auto";
|
|
}
|
|
obj7.importantForAccessibility = str8;
|
|
obj7.style = closure_11.scene;
|
|
const obj8 = { options, route, presentation: str5, headerHeight: defaultHeaderHeight, headerTopInsetEnabled: tmp16 };
|
|
const obj9 = { value: tmp17 };
|
|
const obj10 = { value: obj.useEdgeInsetApplication(false === left, false === right, false === bottom).nextContextValue, children: descriptor.render() };
|
|
obj9.children = callback2(_require(4479).EdgeInsetApplicationContext.Provider, obj10);
|
|
obj8.children = callback2(_require(5526).HeaderBackContext.Provider, obj9);
|
|
const items2 = [callback2(MaybeNestedStack, obj8), ];
|
|
let tmp39Result = null;
|
|
if (undefined !== header) {
|
|
tmp39Result = null;
|
|
if (tmp28) {
|
|
const obj11 = {
|
|
onLayout(nativeEvent) {
|
|
callback(nativeEvent.nativeEvent.layout.height);
|
|
}
|
|
};
|
|
let absolute = null;
|
|
if (headerTransparent) {
|
|
absolute = closure_11.absolute;
|
|
}
|
|
obj11.style = absolute;
|
|
const obj12 = { back: tmp17, options, route, navigation };
|
|
obj11.children = header(obj12);
|
|
tmp39Result = callback2(View, obj11);
|
|
const tmp39 = callback2;
|
|
const tmp40 = View;
|
|
}
|
|
}
|
|
items2[1] = tmp39Result;
|
|
obj7.children = items2;
|
|
items1[1] = closure_8(View, obj7);
|
|
const obj13 = { route };
|
|
if (undefined !== preventRemove) {
|
|
headerBackButtonMenuEnabled = !preventRemove;
|
|
}
|
|
obj13.headerBackButtonMenuEnabled = headerBackButtonMenuEnabled;
|
|
obj13.headerShown = undefined === header && headerShown;
|
|
obj13.headerHeight = defaultHeaderHeight;
|
|
let headerBackTitle;
|
|
if (undefined !== options.headerBackTitle) {
|
|
headerBackTitle = options.headerBackTitle;
|
|
}
|
|
obj13.headerBackTitle = headerBackTitle;
|
|
obj13.headerTopInsetEnabled = tmp16;
|
|
obj13.canGoBack = undefined !== tmp17;
|
|
items1[2] = callback2(importDefault(9045), Object.assign({}, options, obj13));
|
|
obj4.children = items1;
|
|
obj3.children = closure_8(_require(5526).HeaderHeightContext.Provider, obj4);
|
|
obj2.children = callback2(_require(5526).HeaderShownContext.Provider, obj3);
|
|
obj1.children = callback2(_require(1457).NavigationRouteContext.Provider, obj2);
|
|
obj.children = callback2(_require(1457).NavigationContext.Provider, obj1);
|
|
return callback2(_require(4479).Screen, obj, route.key);
|
|
}
|
|
const styles = StyleSheet.create({ container: { flex: 1 }, scene: { flex: 1, flexDirection: "column-reverse" }, absolute: { position: "absolute", top: 0, left: 0, right: 0 }, translucent: { position: "absolute", top: 0, left: 0, right: 0, zIndex: 1, elevation: 1 }, background: { overflow: "hidden" } });
|
|
|
|
export default function NativeStackView(arg0) {
|
|
const obj = { children: callback2(NativeStackViewInner, Object.assign({}, arg0)) };
|
|
return callback2(require(5526) /* Background */.SafeAreaProviderCompat, obj);
|
|
};
|