445 lines
16 KiB
JavaScript
445 lines
16 KiB
JavaScript
// Module ID: 9293
|
|
// Function ID: 9294
|
|
// Name: NativeStackViewInner
|
|
// Dependencies: [32, 19, 17, 21, 1481, 4611, 9294, 4602, 1584, 5645, 9295, 9298, 9299]
|
|
// Exports: default
|
|
|
|
// Module 9293 (NativeStackViewInner)
|
|
import _slicedToArray from "_slicedToArray";
|
|
import noop from "noop";
|
|
import get_ActivityIndicator from "get ActivityIndicator";
|
|
import jsxProd from "jsxProd";
|
|
|
|
let Platform;
|
|
let StyleSheet;
|
|
let error;
|
|
let metroImportAll;
|
|
const require = arg1;
|
|
function NativeStackViewInner(state) {
|
|
let descriptors;
|
|
let importDefault;
|
|
state = state.state;
|
|
({ navigation: importDefault, descriptors } = state);
|
|
let setNextDismissedKey;
|
|
setNextDismissedKey = importDefault(descriptors[11])(state).setNextDismissedKey;
|
|
importDefault(descriptors[12])(descriptors);
|
|
let obj = { style: closure_12.container, children: null };
|
|
const routes = state.routes;
|
|
obj[1] = routes.map((key, index) => {
|
|
const state = key;
|
|
key = undefined;
|
|
if (state.routes[index - 1] != null) {
|
|
key = tmp3.key;
|
|
}
|
|
let key1;
|
|
if (state.routes[index + 1] != null) {
|
|
key1 = tmp5.key;
|
|
}
|
|
let tmp7;
|
|
if (key) {
|
|
tmp7 = tmp[key];
|
|
}
|
|
let tmp8;
|
|
if (key1) {
|
|
tmp8 = tmp[key1];
|
|
}
|
|
return outer1_7(outer1_10, {
|
|
index,
|
|
focused: state.index === index,
|
|
descriptor: descriptors[key.key],
|
|
previousDescriptor: tmp7,
|
|
nextDescriptor: tmp8,
|
|
onWillDisappear(onDidDisappear, arg1) {
|
|
outer1_1.emit({ type: "transitionStart", data: { closing: true }, target: key.key });
|
|
},
|
|
onWillAppear() {
|
|
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 obj = {};
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
const merged = Object.assign(StackActions.pop(nativeEvent.nativeEvent.dismissCount));
|
|
obj.source = key.key;
|
|
obj.target = key.key;
|
|
outer1_1.dispatch(obj);
|
|
outer1_3(key.key);
|
|
},
|
|
onHeaderBackButtonClicked() {
|
|
const obj = {};
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
const merged = Object.assign(StackActions.pop());
|
|
obj.source = key.key;
|
|
obj.target = key.key;
|
|
outer1_1.dispatch(obj);
|
|
},
|
|
onNativeDismissCancelled(nativeEvent) {
|
|
const obj = {};
|
|
const StackActions = state(descriptors[4]).StackActions;
|
|
const merged = Object.assign(StackActions.pop(nativeEvent.nativeEvent.dismissCount));
|
|
obj.source = key.key;
|
|
obj.target = key.key;
|
|
outer1_1.dispatch(obj);
|
|
},
|
|
onGestureCancel() {
|
|
outer1_1.emit({ type: "gestureCancel", target: key.key });
|
|
}
|
|
}, key.key);
|
|
});
|
|
return callback2(state(descriptors[7]).ScreenStack, obj);
|
|
}
|
|
({ Platform, StyleSheet } = get_ActivityIndicator);
|
|
const View = get_ActivityIndicator.View;
|
|
({ jsx: error, jsxs: metroImportAll } = 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 importDefault;
|
|
let dependencyMap;
|
|
let obj = route(1481);
|
|
({ header, headerShown } = options);
|
|
let tmp2 = undefined === headerShown;
|
|
if (!tmp2) {
|
|
tmp2 = headerShown;
|
|
}
|
|
importDefault = tmp2;
|
|
dependencyMap = React.useRef(tmp2);
|
|
const items = [tmp2, presentation, route.name];
|
|
const effect = React.useEffect(() => {
|
|
_undefined(table[5])(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 = _undefined;
|
|
}, items);
|
|
const items1 = [closure_12.container, , ];
|
|
let tmp6 = "transparentModal" !== presentation;
|
|
if (tmp6) {
|
|
tmp6 = "containedTransparentModal" !== presentation;
|
|
}
|
|
if (tmp6) {
|
|
obj = { backgroundColor: null };
|
|
obj[0] = obj.useTheme().colors.background;
|
|
tmp6 = obj;
|
|
}
|
|
obj = { style: items1, stackPresentation: null, children: null };
|
|
items1[1] = tmp6;
|
|
items1[2] = options.contentStyle;
|
|
let str2 = "push";
|
|
if ("card" !== presentation) {
|
|
str2 = presentation;
|
|
}
|
|
obj[1] = str2;
|
|
obj[2] = children.children;
|
|
return closure_7(importDefault(9294), 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);
|
|
let _require;
|
|
({ route, navigation, options } = descriptor);
|
|
({ index, onWillDisappear, onWillAppear, onAppear, onDisappear, onDismissed, onHeaderBackButtonClicked, onNativeDismissCancelled, onGestureCancel } = arg0);
|
|
let obj = _require(4602);
|
|
const UNSTABLE_headerInsets = options.UNSTABLE_headerInsets;
|
|
let left;
|
|
if (UNSTABLE_headerInsets != null) {
|
|
left = UNSTABLE_headerInsets.left;
|
|
}
|
|
const UNSTABLE_headerInsets2 = options.UNSTABLE_headerInsets;
|
|
let right;
|
|
if (UNSTABLE_headerInsets2 != null) {
|
|
right = UNSTABLE_headerInsets2.right;
|
|
}
|
|
const UNSTABLE_headerInsets3 = options.UNSTABLE_headerInsets;
|
|
let bottom;
|
|
if (UNSTABLE_headerInsets3 != null) {
|
|
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 (nextDescriptor != null) {
|
|
gestureDirection = nextDescriptor.options.gestureDirection;
|
|
}
|
|
if (0 === index) {
|
|
str5 = "card";
|
|
}
|
|
let tmpResult = tmp(1584);
|
|
const safeAreaInsets = tmpResult.useSafeAreaInsets();
|
|
tmpResult = tmp(1584);
|
|
const safeAreaFrame = tmpResult.useSafeAreaFrame();
|
|
let tmp12 = "modal" === str5;
|
|
if (!tmp12) {
|
|
tmp12 = "formSheet" === str5;
|
|
}
|
|
({ width, height } = safeAreaFrame);
|
|
let obj3 = React;
|
|
const context = React.useContext(tmp(5645).HeaderShownContext);
|
|
let num2 = React.useContext(tmp(5645).HeaderHeightContext);
|
|
let num3 = 0;
|
|
const context1 = React.useContext(tmp(5645).HeaderBackContext);
|
|
if (!context) {
|
|
num3 = safeAreaInsets.top;
|
|
}
|
|
const tmp6 = undefined !== fullScreenGestureShadowEnabled && fullScreenGestureShadowEnabled;
|
|
const tmp7 = undefined !== sheetGrabberVisible && sheetGrabberVisible;
|
|
const tmp8 = undefined === sheetExpandsWhenScrolledToEdge || sheetExpandsWhenScrolledToEdge;
|
|
const tmpResult1 = _require(1481);
|
|
let defaultHeaderHeight = _require(5645).getDefaultHeaderHeight(safeAreaFrame, tmp12, num3);
|
|
const tmp16 = callback(obj3.useState(defaultHeaderHeight), 2);
|
|
_require = tmp16[1];
|
|
let tmp17 = statusBarTranslucent;
|
|
if (typeof statusBarTranslucent !== "T") {
|
|
tmp17 = 0 !== num3;
|
|
}
|
|
if (header) {
|
|
defaultHeaderHeight = tmp16[0];
|
|
}
|
|
let tmp18 = context1;
|
|
if (previousDescriptor) {
|
|
obj = { title: null };
|
|
obj[0] = tmp(5645).getHeaderTitle(previousDescriptor.options, previousDescriptor.route.name);
|
|
tmp18 = obj;
|
|
const tmpResult3 = tmp(5645);
|
|
}
|
|
const tmp19 = tmpResult1.usePreventRemoveContext().preventedRoutes[route.key];
|
|
let preventRemove;
|
|
if (tmp19 != null) {
|
|
preventRemove = tmp19.preventRemove;
|
|
}
|
|
obj = { enabled: true, isNativeStack: true, style: StyleSheet.absoluteFill, hasLargeHeader: null, customAnimationOnSwipe: null, fullScreenSwipeEnabled: null, fullScreenSwipeShadowEnabled: null, gestureEnabled: false, homeIndicatorHidden: null, hideKeyboardOnSwipe: null, navigationBarColor: null, navigationBarHidden: null, replaceAnimation: null, stackPresentation: null, stackAnimation: null, screenOrientation: null, sheetAllowedDetents: null, sheetLargestUndimmedDetent: null, sheetGrabberVisible: null, sheetCornerRadius: null, sheetExpandsWhenScrolledToEdge: null, statusBarAnimation: null, statusBarHidden: null, statusBarStyle: null, statusBarColor: null, statusBarTranslucent: null, swipeDirection: null, transitionDuration: null, onWillDisappear: null, onWillAppear: null, onAppear: null, onDisappear: null, onDismissed: null, onGestureCancel: null, gestureResponseDistance: null, nativeBackButtonDismissalEnabled: false, onHeaderBackButtonClicked: null, preventNativeDismiss: null, onNativeDismissCancelled: null, freezeOnBlur: null, children: null };
|
|
let flag = options.headerLargeTitle;
|
|
if (flag == null) {
|
|
flag = false;
|
|
}
|
|
obj[3] = flag;
|
|
obj[4] = customAnimationOnGesture;
|
|
obj[5] = fullScreenGestureEnabled;
|
|
obj[6] = tmp6;
|
|
obj[8] = autoHideHomeIndicator;
|
|
obj[9] = keyboardHandlingEnabled;
|
|
obj[10] = navigationBarColor;
|
|
obj[11] = navigationBarHidden;
|
|
obj[12] = str2;
|
|
if ("card" !== str5) {
|
|
str = str5;
|
|
}
|
|
obj[13] = str;
|
|
obj[14] = animation;
|
|
obj[15] = orientation;
|
|
obj[16] = str3;
|
|
obj[17] = str4;
|
|
obj[18] = tmp7;
|
|
obj[19] = num;
|
|
obj[20] = tmp8;
|
|
obj[21] = statusBarAnimation;
|
|
obj[22] = statusBarHidden;
|
|
obj[23] = statusBarStyle;
|
|
obj[24] = statusBarColor;
|
|
obj[25] = statusBarTranslucent;
|
|
obj[26] = gestureDirection;
|
|
obj[27] = options.animationDuration;
|
|
obj[28] = onWillDisappear;
|
|
obj[29] = onWillAppear;
|
|
obj[30] = onAppear;
|
|
obj[31] = onDisappear;
|
|
obj[32] = onDismissed;
|
|
obj[33] = onGestureCancel;
|
|
obj[34] = gestureResponseDistance;
|
|
obj[36] = onHeaderBackButtonClicked;
|
|
obj[37] = preventRemove;
|
|
obj[38] = onNativeDismissCancelled;
|
|
obj[39] = freezeOnBlur;
|
|
const obj1 = { value: navigation, children: null };
|
|
const obj2 = { value: route, children: null };
|
|
let tmp22 = context;
|
|
if (!context) {
|
|
tmp22 = false !== headerShown;
|
|
}
|
|
obj3 = { value: tmp22, children: null };
|
|
let tmp25 = defaultHeaderHeight;
|
|
if (false === headerShown) {
|
|
if (num2 == null) {
|
|
num2 = 0;
|
|
}
|
|
tmp25 = num2;
|
|
}
|
|
const obj4 = { value: tmp25, children: null };
|
|
let tmp21Result = null;
|
|
if (null != headerBackground) {
|
|
const items = [closure_12.background, , ];
|
|
let translucent = null;
|
|
if (headerTransparent) {
|
|
translucent = closure_12.translucent;
|
|
}
|
|
const obj5 = { style: null, children: null };
|
|
items[1] = translucent;
|
|
const obj6 = { height: null };
|
|
obj6[0] = defaultHeaderHeight;
|
|
items[2] = obj6;
|
|
obj5[0] = items;
|
|
obj5[1] = headerBackground();
|
|
tmp21Result = tmp21(View, obj5);
|
|
const tmp27 = View;
|
|
}
|
|
const items1 = [tmp21Result, , ];
|
|
const obj7 = { accessibilityElementsHidden: !focused, importantForAccessibility: null, style: null, children: null };
|
|
let str8 = "no-hide-descendants";
|
|
if (focused) {
|
|
str8 = "auto";
|
|
}
|
|
obj7[1] = str8;
|
|
obj7[2] = closure_12.scene;
|
|
const obj8 = { options, route, presentation: str5, headerHeight: defaultHeaderHeight, headerTopInsetEnabled: tmp17, children: null };
|
|
const obj9 = { value: tmp18, children: null };
|
|
const obj10 = { value: obj.useEdgeInsetApplication(false === left, false === right, false === bottom).nextContextValue, children: null };
|
|
obj10[1] = descriptor.render();
|
|
obj9[1] = closure_7(_require(4602).EdgeInsetApplicationContext.Provider, obj10);
|
|
obj8[5] = closure_7(_require(5645).HeaderBackContext.Provider, obj9);
|
|
const items2 = [closure_7(MaybeNestedStack, obj8), ];
|
|
tmp21Result = null;
|
|
if (undefined !== header) {
|
|
tmp21Result = null;
|
|
if (tmp24) {
|
|
const obj11 = { onLayout: null, style: null, children: null };
|
|
obj11[0] = function onLayout(nativeEvent) {
|
|
callback(nativeEvent.nativeEvent.layout.height);
|
|
};
|
|
let absolute = null;
|
|
if (headerTransparent) {
|
|
absolute = tmp30.absolute;
|
|
}
|
|
obj11[1] = absolute;
|
|
const obj12 = { back: null, options: null, route: null, navigation: null };
|
|
obj12[0] = tmp18;
|
|
obj12[1] = options;
|
|
obj12[2] = route;
|
|
obj12[3] = navigation;
|
|
obj11[2] = header(obj12);
|
|
tmp21Result = tmp21(tmp29, obj11);
|
|
}
|
|
}
|
|
items2[1] = tmp21Result;
|
|
obj7[3] = items2;
|
|
items1[1] = closure_8(View, obj7);
|
|
const obj13 = {};
|
|
tmp30 = closure_12;
|
|
const tmpResult2 = _require(5645);
|
|
const merged = Object.assign(options);
|
|
obj13.route = 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 = tmp17;
|
|
obj13.canGoBack = undefined !== tmp18;
|
|
items1[2] = closure_7(importDefault(9295), obj13);
|
|
obj4[1] = items1;
|
|
obj3[1] = closure_8(_require(5645).HeaderHeightContext.Provider, obj4);
|
|
obj2[1] = closure_7(_require(5645).HeaderShownContext.Provider, obj3);
|
|
obj1[1] = closure_7(_require(1481).NavigationRouteContext.Provider, obj2);
|
|
obj[40] = closure_7(_require(1481).NavigationContext.Provider, obj1);
|
|
return closure_7(_require(4602).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) {
|
|
let obj = { children: null };
|
|
obj = {};
|
|
const merged = Object.assign(arg0);
|
|
obj[0] = callback2(NativeStackViewInner, obj);
|
|
return callback2(require(5645) /* Background */.SafeAreaProviderCompat, obj);
|
|
};
|