one
Version:
One is a new React Framework that makes Vite serve both native and web.
42 lines (41 loc) • 1.83 kB
JavaScript
import { Platform, StyleSheet } from "react-native";
import { convertFontWeightToStringFontWeight } from "../../utils/style.native.js";
function StackHeaderTitle(_props) {
return null;
}
function appendStackHeaderTitlePropsToOptions(options, props) {
var flattenedStyle = StyleSheet.flatten(props.style);
var flattenedLargeStyle = StyleSheet.flatten(props.largeStyle);
var titleStyle = flattenedStyle ? {
...flattenedStyle,
...((flattenedStyle === null || flattenedStyle === void 0 ? void 0 : flattenedStyle.fontWeight) ? {
fontWeight: convertFontWeightToStringFontWeight(flattenedStyle.fontWeight)
} : {})
} : void 0;
var largeTitleStyle = flattenedLargeStyle ? {
...flattenedLargeStyle,
...((flattenedLargeStyle === null || flattenedLargeStyle === void 0 ? void 0 : flattenedLargeStyle.fontWeight) ? {
fontWeight: convertFontWeightToStringFontWeight(flattenedLargeStyle.fontWeight)
} : {})
} : void 0;
return {
...options,
title: props.children,
headerLargeTitle: props.large,
// Large titles on iOS require headerTransparent for proper scroll behavior
// Only set on iOS since headerLargeTitle is iOS-only
...(props.large && Platform.OS === "ios" && {
headerTransparent: true
}),
headerTitleAlign: flattenedStyle === null || flattenedStyle === void 0 ? void 0 : flattenedStyle.textAlign,
// Only set styles when explicitly configured to avoid interfering with native defaults
...(titleStyle && Object.keys(titleStyle).length > 0 && {
headerTitleStyle: titleStyle
}),
...(largeTitleStyle && Object.keys(largeTitleStyle).length > 0 && {
headerLargeTitleStyle: largeTitleStyle
})
};
}
export { StackHeaderTitle, appendStackHeaderTitlePropsToOptions };
//# sourceMappingURL=StackHeaderTitle.native.js.map