104 lines
4.8 KiB
React
104 lines
4.8 KiB
React
// Metro module 5606 (f5607).
|
|
import { useState } from "react";
|
|
import { StyleSheet, Platform } from "react-native";
|
|
import memoize from "./memoize_5607";
|
|
import { HeaderBackButton, getDefaultHeaderHeight, Header, HeaderTitle } from "./Module5579";
|
|
const _excluded = ["progress", "layout", "modal", "onGoBack", "headerTitle", "headerLeft", "headerRight", "headerBackImage", "headerBackTitle", "headerBackTitleVisible", "headerTruncatedBackTitle", "headerBackAccessibilityLabel", "headerBackTestID", "headerBackAllowFontScaling", "headerBackTitleStyle", "headerTitleContainerStyle", "headerLeftContainerStyle", "headerRightContainerStyle", "headerBackgroundContainerStyle", "headerStyle", "headerStatusBarHeight", "styleInterpolator"];
|
|
Platform;
|
|
export default function HeaderSegment(props) {
|
|
let handleLeftLabelLayout2, layout, onGoBack, headerTitle, c14940_9, headerRight, headerBackImage, headerBackTitle, headerTruncatedBackTitle, headerBackAccessibilityLabel, headerBackTestID, headerBackAllowFontScaling, headerBackTitleStyle, leftLabelStyle;
|
|
const [state, setState] = useState(void 0);
|
|
const [state2, setState2] = useState(void 0);
|
|
const handleTitleLayout2 = (a0) => {
|
|
const layout2 = a0.nativeEvent.layout;
|
|
const { height, width } = layout2;
|
|
setState2((prevState2) => prevState2 && (height === prevState2.height && width === prevState2.width) ? prevState2 : {
|
|
height,
|
|
width
|
|
});
|
|
};
|
|
handleLeftLabelLayout2 = (a0) => {
|
|
const layout2 = a0.nativeEvent.layout;
|
|
const { height: height2, width: width2 } = layout2;
|
|
if (!((state ? height2 === state.height : state) && width2 === state.width)) {
|
|
setState({
|
|
height: height2,
|
|
width: width2
|
|
});
|
|
}
|
|
};
|
|
const r24 = memoize((a0, a1, a2, a3, a4, a5, a6) => a0({
|
|
current: {
|
|
progress: a2
|
|
},
|
|
next: a3 ? {
|
|
progress: a3
|
|
} : a3,
|
|
layouts: {
|
|
header: {
|
|
height: a6,
|
|
width: a1.width
|
|
},
|
|
screen: a1,
|
|
title: a4,
|
|
leftLabel: a5
|
|
}
|
|
}));
|
|
const progress = props.progress;
|
|
layout = props.layout;
|
|
const modal = props.modal;
|
|
onGoBack = props.onGoBack;
|
|
headerTitle = props.headerTitle;
|
|
let headerLeft = props.headerLeft;
|
|
if (headerLeft === void 0) {
|
|
headerLeft = onGoBack ? (a0) => <HeaderBackButton {...a0} /> : void 0;
|
|
}
|
|
c14940_9 = headerLeft;
|
|
headerRight = props.headerRight;
|
|
headerBackImage = props.headerBackImage;
|
|
headerBackTitle = props.headerBackTitle;
|
|
const headerBackTitleVisible = props.headerBackTitleVisible;
|
|
const headerLeftLabelVisible = headerBackTitleVisible !== void 0 && headerBackTitleVisible;
|
|
headerTruncatedBackTitle = props.headerTruncatedBackTitle;
|
|
headerBackAccessibilityLabel = props.headerBackAccessibilityLabel;
|
|
headerBackTestID = props.headerBackTestID;
|
|
headerBackAllowFontScaling = props.headerBackAllowFontScaling;
|
|
headerBackTitleStyle = props.headerBackTitleStyle;
|
|
const { headerTitleContainerStyle, headerLeftContainerStyle, headerRightContainerStyle, headerBackgroundContainerStyle, headerStyle, headerStatusBarHeight, styleInterpolator, ...rest } = props;
|
|
let r67 = getDefaultHeaderHeight(layout, modal, headerStatusBarHeight);
|
|
let height2 = StyleSheet.flatten(headerStyle || {}).height;
|
|
if (height2 === void 0) {
|
|
height2 = r67;
|
|
}
|
|
const { current, next } = progress;
|
|
const r73 = headerBackTitle ? state : void 0;
|
|
if (typeof height2 === "number") {
|
|
r67 = height2;
|
|
}
|
|
const r74 = r24(styleInterpolator, layout, current, next, state2, r73, r67);
|
|
const { titleStyle, leftButtonStyle } = r74;
|
|
leftLabelStyle = r74.leftLabelStyle;
|
|
const rightButtonStyle = r74.rightButtonStyle;
|
|
return <Header modal={modal} layout={layout} headerTitle={typeof headerTitle !== "function" ? (a0) => <HeaderTitle {...a0} onLayout={handleTitleLayout2} /> : (a0) => headerTitle({
|
|
...a0,
|
|
onLayout: handleTitleLayout2
|
|
})} headerLeft={headerLeft ? (a0) => c14940_9({
|
|
...a0,
|
|
backImage: headerBackImage,
|
|
accessibilityLabel: headerBackAccessibilityLabel,
|
|
testID: headerBackTestID,
|
|
allowFontScaling: headerBackAllowFontScaling,
|
|
onPress: onGoBack,
|
|
label: headerBackTitle,
|
|
truncatedLabel: headerTruncatedBackTitle,
|
|
labelStyle: [leftLabelStyle, headerBackTitleStyle],
|
|
onLabelLayout: handleLeftLabelLayout2,
|
|
screenLayout: layout,
|
|
titleLayout: state2,
|
|
canGoBack: Boolean(onGoBack)
|
|
}) : void 0} headerLeftLabelVisible={headerLeftLabelVisible} headerRight={headerRight ? (a0) => headerRight({
|
|
...a0,
|
|
canGoBack: Boolean(onGoBack)
|
|
}) : void 0} headerTitleContainerStyle={[titleStyle, headerTitleContainerStyle]} headerLeftContainerStyle={[leftButtonStyle, headerLeftContainerStyle]} headerRightContainerStyle={[rightButtonStyle, headerRightContainerStyle]} headerBackgroundContainerStyle={[r74.backgroundStyle, headerBackgroundContainerStyle]} headerStyle={headerStyle} headerStatusBarHeight={headerStatusBarHeight} {...rest} />;
|
|
};
|