UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

69 lines (68 loc) 4.71 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: !0 }); }, __copyProps = (to, from, except, desc) => { if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod); var StackHeaderComponent_exports = {}; __export(StackHeaderComponent_exports, { StackHeaderComponent: () => StackHeaderComponent, appendStackHeaderPropsToOptions: () => appendStackHeaderPropsToOptions }); module.exports = __toCommonJS(StackHeaderComponent_exports); var import_react = require("react"), import_react_native = require("react-native-web"), import_StackHeaderBackButton = require("./StackHeaderBackButton"), import_StackHeaderLeft = require("./StackHeaderLeft"), import_StackHeaderRight = require("./StackHeaderRight"), import_StackHeaderSearchBar = require("./StackHeaderSearchBar"), import_StackHeaderTitle = require("./StackHeaderTitle"), import_children = require("../../utils/children"); function StackHeaderComponent(_props) { return null; } function appendStackHeaderPropsToOptions(options, props) { const flattenedStyle = import_react_native.StyleSheet.flatten(props.style), flattenedLargeStyle = import_react_native.StyleSheet.flatten(props.largeStyle); if (props.hidden) return { ...options, headerShown: !1 }; if (props.asChild) return { ...options, header: () => props.children }; const isTransparent = flattenedStyle?.backgroundColor === "transparent", hasCustomShadow = flattenedStyle?.shadowColor !== void 0, hasBackgroundColor = flattenedStyle?.backgroundColor !== void 0, hasLargeBackgroundColor = flattenedLargeStyle?.backgroundColor !== void 0; let updatedOptions = { ...options, headerShown: !props.hidden, headerBlurEffect: props.blurEffect, // Set headerTransparent when backgroundColor is 'transparent' // This works on both iOS and Android for normal headers // Note: When using SearchBar on iOS, if you don't have a ScrollView with // contentInsetAdjustmentBehavior="automatic", set headerTransparent: false in options ...isTransparent && { headerTransparent: !0 }, // Only set header styles when explicitly configured to avoid interfering with native defaults ...hasBackgroundColor && { headerStyle: { backgroundColor: flattenedStyle.backgroundColor } }, ...hasLargeBackgroundColor && { headerLargeStyle: { backgroundColor: flattenedLargeStyle.backgroundColor } }, // Only set shadow visibility when explicitly configured ...hasCustomShadow && { headerShadowVisible: flattenedStyle?.shadowColor !== "transparent" }, ...flattenedLargeStyle?.shadowColor !== void 0 && { headerLargeTitleShadowVisible: flattenedLargeStyle?.shadowColor !== "transparent" } }; function appendChildOptions(child, options2) { let result = options2; return (0, import_children.isChildOfType)(child, import_StackHeaderTitle.StackHeaderTitle) ? result = (0, import_StackHeaderTitle.appendStackHeaderTitlePropsToOptions)(result, child.props) : (0, import_children.isChildOfType)(child, import_StackHeaderLeft.StackHeaderLeft) ? result = (0, import_StackHeaderLeft.appendStackHeaderLeftPropsToOptions)(result, child.props) : (0, import_children.isChildOfType)(child, import_StackHeaderRight.StackHeaderRight) ? result = (0, import_StackHeaderRight.appendStackHeaderRightPropsToOptions)(result, child.props) : (0, import_children.isChildOfType)(child, import_StackHeaderBackButton.StackHeaderBackButton) ? result = (0, import_StackHeaderBackButton.appendStackHeaderBackButtonPropsToOptions)(result, child.props) : (0, import_children.isChildOfType)(child, import_StackHeaderSearchBar.StackHeaderSearchBar) ? result = (0, import_StackHeaderSearchBar.appendStackHeaderSearchBarPropsToOptions)(result, child.props) : console.warn( `Warning: Unknown child element passed to Stack.Header: ${child.type.name ?? child.type}` ), result; } return import_react.Children.forEach(props.children, (child) => { (0, import_react.isValidElement)(child) && (updatedOptions = appendChildOptions(child, updatedOptions)); }), updatedOptions; } //# sourceMappingURL=StackHeaderComponent.js.map