decord/source/9108_NativeStackViewInner.js
2026-07-22 07:54:56 +00:00

422 lines
15 KiB
JavaScript

// Module ID: 9108
// Function ID: 71359
// Name: NativeStackViewInner
// Dependencies: []
// Exports: default
// Module 9108 (NativeStackViewInner)
let Platform;
let StyleSheet;
function NativeStackViewInner(state) {
let descriptors;
state = state.state;
const arg1 = state;
({ navigation: closure_1, descriptors } = state);
const dependencyMap = descriptors;
const setNextDismissedKey = importDefault(dependencyMap[11])(state).setNextDismissedKey;
importDefault(dependencyMap[12])(descriptors);
const 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(arg0) {
closure_1.emit({ type: "transitionStart", data: { closing: true }, target: arg0.key });
},
onWillAppear(arg0) {
closure_1.emit({ type: "transitionStart", data: { closing: false }, target: arg0.key });
},
onAppear() {
closure_1.emit({ type: "transitionEnd", data: { closing: false }, target: arg0.key });
},
onDisappear() {
closure_1.emit({ type: "transitionEnd", data: { closing: true }, target: arg0.key });
},
onDismissed(nativeEvent) {
const StackActions = nativeEvent(closure_2[4]).StackActions;
closure_1.dispatch(Object.assign({}, StackActions.pop(nativeEvent.nativeEvent.dismissCount), { source: nativeEvent.key, target: nativeEvent.key }));
callback(nativeEvent.key);
},
onHeaderBackButtonClicked() {
const StackActions = arg0(closure_2[4]).StackActions;
closure_1.dispatch(Object.assign({}, StackActions.pop(), { source: arg0.key, target: arg0.key }));
},
onNativeDismissCancelled(nativeEvent) {
const StackActions = nativeEvent(closure_2[4]).StackActions;
closure_1.dispatch(Object.assign({}, StackActions.pop(nativeEvent.nativeEvent.dismissCount), { source: nativeEvent.key, target: nativeEvent.key }));
},
onGestureCancel() {
closure_1.emit({ type: "gestureCancel", target: arg0.key });
}
};
return callback(closure_10, obj, key.key);
});
return callback3(arg1(dependencyMap[7]).ScreenStack, obj);
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importAll(dependencyMap[1]);
const tmp2 = arg1(dependencyMap[2]);
({ Platform, StyleSheet } = tmp2);
const View = tmp2.View;
({ jsx: closure_7, jsxs: closure_8 } = arg1(dependencyMap[3]));
function MaybeNestedStack(children) {
let header;
let headerHeight;
let headerShown;
let headerTopInsetEnabled;
let options;
let presentation;
let route;
({ options, route } = children);
const arg1 = route;
({ presentation, headerHeight, headerTopInsetEnabled } = children);
let obj = arg1(closure_2[4]);
({ header, headerShown } = options);
let tmp = undefined === headerShown;
if (!tmp) {
tmp = headerShown;
}
const importDefault = tmp;
closure_2 = React.useRef(tmp);
const items = [tmp, presentation, route.name];
const effect = React.useEffect(() => {
const tmp = tmp(closure_2[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 + "'.");
closure_2.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(closure_2[6]), 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 = callback(dependencyMap[7]);
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 = callback(dependencyMap[8]);
const safeAreaInsets = obj1.useSafeAreaInsets();
let obj2 = callback(dependencyMap[8]);
const safeAreaFrame = obj2.useSafeAreaFrame();
let tmp10 = "modal" === str5;
if (!tmp10) {
tmp10 = "formSheet" === str5;
}
({ width, height } = safeAreaFrame);
let context = React.useContext(callback(dependencyMap[9]).HeaderShownContext);
const context1 = React.useContext(callback(dependencyMap[9]).HeaderHeightContext);
let num2 = 0;
const context2 = React.useContext(callback(dependencyMap[9]).HeaderBackContext);
if (!context) {
num2 = safeAreaInsets.top;
}
let obj3 = callback(dependencyMap[4]);
let obj4 = callback(dependencyMap[9]);
let defaultHeaderHeight = obj4.getDefaultHeaderHeight(safeAreaFrame, tmp10, num2);
const tmp15 = callback2(React.useState(defaultHeaderHeight), 2);
const callback = 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 = callback(dependencyMap[9]);
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 = { 9223372036854775807: null, -9223372036854775808: null, 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 = callback3(View, obj5);
const tmp31 = callback3;
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 = callback3(callback(dependencyMap[7]).EdgeInsetApplicationContext.Provider, obj10);
obj8.children = callback3(callback(dependencyMap[9]).HeaderBackContext.Provider, obj9);
const items2 = [callback3(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 = callback3(View, obj11);
const tmp39 = callback3;
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] = callback3(importDefault(dependencyMap[10]), Object.assign({}, options, obj13));
obj4.children = items1;
obj3.children = closure_8(callback(dependencyMap[9]).HeaderHeightContext.Provider, obj4);
obj2.children = callback3(callback(dependencyMap[9]).HeaderShownContext.Provider, obj3);
obj1.children = callback3(callback(dependencyMap[4]).NavigationRouteContext.Provider, obj2);
obj.children = callback3(callback(dependencyMap[4]).NavigationContext.Provider, obj1);
return callback3(callback(dependencyMap[7]).Screen, obj, route.key);
}
const styles = StyleSheet.create({ container: { flex: 1 }, scene: { marginLeft: false, marginVertical: "linear" }, absolute: { "Null": 131420590, "Null": -1717986767, "Null": -644245095, "Null": 94527 }, translucent: {}, background: { overflow: "hidden" } });
export default function NativeStackView(arg0) {
const obj = { children: callback3(NativeStackViewInner, Object.assign({}, arg0)) };
return callback3(arg1(dependencyMap[9]).SafeAreaProviderCompat, obj);
};