one
Version:
One is a React framework for web, iOS, and Android apps.
33 lines (30 loc) • 1.65 kB
JavaScript
import { NAVIGATOR_CONFIG } from "../../headless/children.native.js";
import { PLATFORM } from "../../utils/platform.native.js";
import { convertFontWeightToStringFontWeight, flattenStyle } from "../../utils/style.native.js";
function StackHeaderTitle(_props) {
return null;
}
Object.assign(StackHeaderTitle, { [NAVIGATOR_CONFIG]: true });
function appendStackHeaderTitlePropsToOptions(options, props) {
var flattenedStyle = flattenStyle(props.style);
var flattenedLargeStyle = flattenStyle(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,
headerLargeTitleEnabled: props.large,
...props.large && PLATFORM === "ios" && { headerTransparent: true },
headerTitleAlign: flattenedStyle === null || flattenedStyle === void 0 ? void 0 : flattenedStyle.textAlign,
...titleStyle && Object.keys(titleStyle).length > 0 && { headerTitleStyle: titleStyle },
...largeTitleStyle && Object.keys(largeTitleStyle).length > 0 && { headerLargeTitleStyle: largeTitleStyle }
};
}
export { StackHeaderTitle, appendStackHeaderTitlePropsToOptions };
//# sourceMappingURL=StackHeaderTitle.native.js.map