UNPKG

repoweaver

Version:

A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies

1 lines 36.6 kB
{"ast":null,"code":"\"use strict\";\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"height\", \"minHeight\", \"maxHeight\", \"backgroundColor\", \"borderBottomColor\", \"borderBottomEndRadius\", \"borderBottomLeftRadius\", \"borderBottomRightRadius\", \"borderBottomStartRadius\", \"borderBottomWidth\", \"borderColor\", \"borderEndColor\", \"borderEndWidth\", \"borderLeftColor\", \"borderLeftWidth\", \"borderRadius\", \"borderRightColor\", \"borderRightWidth\", \"borderStartColor\", \"borderStartWidth\", \"borderStyle\", \"borderTopColor\", \"borderTopEndRadius\", \"borderTopLeftRadius\", \"borderTopRightRadius\", \"borderTopStartRadius\", \"borderTopWidth\", \"borderWidth\", \"boxShadow\", \"elevation\", \"shadowColor\", \"shadowOffset\", \"shadowOpacity\", \"shadowRadius\", \"opacity\", \"transform\"];\nimport { useNavigation, useTheme } from '@react-navigation/native';\nimport Color from 'color';\nimport * as React from 'react';\nimport Animated from \"react-native-web/dist/exports/Animated\";\nimport Platform from \"react-native-web/dist/exports/Platform\";\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport searchIcon from \"../assets/search-icon.png\";\nimport { useFrameSize } from \"../useFrameSize.js\";\nimport { getDefaultHeaderHeight } from \"./getDefaultHeaderHeight.js\";\nimport { HeaderBackButton } from \"./HeaderBackButton.js\";\nimport { HeaderBackground } from \"./HeaderBackground.js\";\nimport { HeaderButton } from \"./HeaderButton.js\";\nimport { HeaderIcon } from \"./HeaderIcon.js\";\nimport { HeaderSearchBar } from \"./HeaderSearchBar.js\";\nimport { HeaderShownContext } from \"./HeaderShownContext.js\";\nimport { HeaderTitle } from \"./HeaderTitle.js\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nconst IPAD_MINI_MEDIUM_WIDTH = 414;\nconst warnIfHeaderStylesDefined = styles => {\n Object.keys(styles).forEach(styleProp => {\n const value = styles[styleProp];\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\");\n } else if (value !== undefined) {\n console.warn(`${styleProp} was given a value of ${value}, this has no effect on headerStyle.`);\n }\n });\n};\nexport function Header(props) {\n const insets = useSafeAreaInsets();\n const frame = useFrameSize(size => size, true);\n const {\n colors\n } = useTheme();\n const navigation = useNavigation();\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const [searchBarVisible, setSearchBarVisible] = React.useState(false);\n const [titleLayout, setTitleLayout] = React.useState(undefined);\n const onTitleLayout = e => {\n const {\n height,\n width\n } = e.nativeEvent.layout;\n setTitleLayout(titleLayout => {\n if (titleLayout && height === titleLayout.height && width === titleLayout.width) {\n return titleLayout;\n }\n return {\n height,\n width\n };\n });\n };\n const {\n layout = frame,\n modal = false,\n back,\n title,\n headerTitle: customTitle,\n headerTitleAlign = Platform.OS === 'ios' ? 'center' : 'left',\n headerLeft = back ? props => _jsx(HeaderBackButton, Object.assign({}, props)) : undefined,\n headerSearchBarOptions,\n headerTransparent,\n headerTintColor,\n headerBackground,\n headerRight,\n headerTitleAllowFontScaling: titleAllowFontScaling,\n headerTitleStyle: titleStyle,\n headerLeftContainerStyle: leftContainerStyle,\n headerRightContainerStyle: rightContainerStyle,\n headerTitleContainerStyle: titleContainerStyle,\n headerBackButtonDisplayMode = Platform.OS === 'ios' ? 'default' : 'minimal',\n headerBackTitleStyle,\n headerBackgroundContainerStyle: backgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerShadowVisible,\n headerPressColor,\n headerPressOpacity,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top\n } = props;\n const defaultHeight = getDefaultHeaderHeight(layout, modal, headerStatusBarHeight);\n const _StyleSheet$flatten = StyleSheet.flatten(customHeaderStyle || {}),\n {\n height = defaultHeight,\n minHeight,\n maxHeight,\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform\n } = _StyleSheet$flatten,\n unsafeStyles = _objectWithoutPropertiesLoose(_StyleSheet$flatten, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n const safeStyles = {\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform\n };\n for (const styleProp in safeStyles) {\n if (safeStyles[styleProp] === undefined) {\n delete safeStyles[styleProp];\n }\n }\n const backgroundStyle = Object.assign({}, headerTransparent && {\n backgroundColor: 'transparent'\n }, (headerTransparent || headerShadowVisible === false) && Object.assign({\n borderBottomWidth: 0\n }, Platform.select({\n android: {\n elevation: 0\n },\n web: {\n boxShadow: 'none'\n },\n default: {\n shadowOpacity: 0\n }\n })), safeStyles);\n const iconTintColor = headerTintColor ?? Platform.select({\n ios: colors.primary,\n default: colors.text\n });\n const leftButton = headerLeft ? headerLeft({\n tintColor: iconTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n displayMode: headerBackButtonDisplayMode,\n titleLayout,\n screenLayout: layout,\n canGoBack: Boolean(back),\n onPress: back ? navigation.goBack : undefined,\n label: back?.title,\n labelStyle: headerBackTitleStyle,\n href: back?.href\n }) : null;\n const rightButton = headerRight ? headerRight({\n tintColor: iconTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n canGoBack: Boolean(back)\n }) : null;\n const headerTitle = typeof customTitle !== 'function' ? props => _jsx(HeaderTitle, Object.assign({}, props)) : customTitle;\n return _jsxs(Animated.View, {\n pointerEvents: \"box-none\",\n style: [{\n height,\n minHeight,\n maxHeight,\n opacity,\n transform\n }],\n children: [_jsx(Animated.View, {\n pointerEvents: \"box-none\",\n style: [StyleSheet.absoluteFill, backgroundContainerStyle],\n children: headerBackground ? headerBackground({\n style: backgroundStyle\n }) : _jsx(HeaderBackground, {\n pointerEvents: headerTransparent && (backgroundStyle.backgroundColor === 'transparent' || Color(backgroundStyle.backgroundColor).alpha() === 0) ? 'none' : 'auto',\n style: backgroundStyle\n })\n }), _jsx(View, {\n pointerEvents: \"none\",\n style: {\n height: headerStatusBarHeight\n }\n }), _jsxs(View, {\n pointerEvents: \"box-none\",\n style: [styles.content, Platform.OS === 'ios' && frame.width >= IPAD_MINI_MEDIUM_WIDTH ? styles.large : null],\n children: [_jsx(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.start, !searchBarVisible && headerTitleAlign === 'center' && styles.expand, {\n marginStart: insets.left\n }, leftContainerStyle],\n children: leftButton\n }), Platform.OS === 'ios' || !searchBarVisible ? _jsxs(_Fragment, {\n children: [_jsx(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.title, {\n maxWidth: headerTitleAlign === 'center' ? layout.width - ((leftButton ? headerBackButtonDisplayMode !== 'minimal' ? 80 : 32 : 16) + (rightButton || headerSearchBarOptions ? 16 : 0) + Math.max(insets.left, insets.right)) * 2 : layout.width - ((leftButton ? 52 : 16) + (rightButton || headerSearchBarOptions ? 52 : 16) + insets.left - insets.right)\n }, headerTitleAlign === 'left' && leftButton ? {\n marginStart: 4\n } : {\n marginHorizontal: 16\n }, titleContainerStyle],\n children: headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n onLayout: onTitleLayout,\n style: titleStyle\n })\n }), _jsxs(Animated.View, {\n pointerEvents: \"box-none\",\n style: [styles.end, styles.expand, {\n marginEnd: insets.right\n }, rightContainerStyle],\n children: [rightButton, headerSearchBarOptions ? _jsx(HeaderButton, {\n tintColor: iconTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n onPress: () => {\n setSearchBarVisible(true);\n headerSearchBarOptions?.onOpen?.();\n },\n children: _jsx(HeaderIcon, {\n source: searchIcon,\n tintColor: iconTintColor\n })\n }) : null]\n })]\n }) : null, Platform.OS === 'ios' || searchBarVisible ? _jsx(HeaderSearchBar, Object.assign({}, headerSearchBarOptions, {\n visible: searchBarVisible,\n onClose: () => {\n setSearchBarVisible(false);\n headerSearchBarOptions?.onClose?.();\n },\n tintColor: headerTintColor,\n style: [Platform.OS === 'ios' ? [StyleSheet.absoluteFill, {\n paddingTop: headerStatusBarHeight ? 0 : 4\n }, {\n backgroundColor: backgroundColor ?? colors.card\n }] : !leftButton && {\n marginStart: 8\n }]\n })) : null]\n })]\n });\n}\nconst styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n large: {\n marginHorizontal: 5\n },\n title: {\n justifyContent: 'center'\n },\n start: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start'\n },\n end: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end'\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0\n }\n});","map":{"version":3,"names":["useNavigation","useTheme","Color","React","Animated","Platform","StyleSheet","View","useSafeAreaInsets","searchIcon","useFrameSize","getDefaultHeaderHeight","HeaderBackButton","HeaderBackground","HeaderButton","HeaderIcon","HeaderSearchBar","HeaderShownContext","HeaderTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IPAD_MINI_MEDIUM_WIDTH","warnIfHeaderStylesDefined","styles","Object","keys","forEach","styleProp","value","console","warn","undefined","Header","props","insets","frame","size","colors","navigation","isParentHeaderShown","useContext","searchBarVisible","setSearchBarVisible","useState","titleLayout","setTitleLayout","onTitleLayout","e","height","width","nativeEvent","layout","modal","back","title","headerTitle","customTitle","headerTitleAlign","OS","headerLeft","assign","headerSearchBarOptions","headerTransparent","headerTintColor","headerBackground","headerRight","headerTitleAllowFontScaling","titleAllowFontScaling","headerTitleStyle","titleStyle","headerLeftContainerStyle","leftContainerStyle","headerRightContainerStyle","rightContainerStyle","headerTitleContainerStyle","titleContainerStyle","headerBackButtonDisplayMode","headerBackTitleStyle","headerBackgroundContainerStyle","backgroundContainerStyle","headerStyle","customHeaderStyle","headerShadowVisible","headerPressColor","headerPressOpacity","headerStatusBarHeight","top","defaultHeight","_StyleSheet$flatten","flatten","minHeight","maxHeight","backgroundColor","borderBottomColor","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomWidth","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRadius","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","opacity","transform","unsafeStyles","_objectWithoutPropertiesLoose","_excluded","process","env","NODE_ENV","safeStyles","backgroundStyle","select","android","web","default","iconTintColor","ios","primary","text","leftButton","tintColor","pressColor","pressOpacity","displayMode","screenLayout","canGoBack","Boolean","onPress","goBack","label","labelStyle","href","rightButton","pointerEvents","style","children","absoluteFill","alpha","content","large","start","expand","marginStart","left","maxWidth","Math","max","right","marginHorizontal","allowFontScaling","onLayout","end","marginEnd","onOpen","source","visible","onClose","paddingTop","card","create","flex","flexDirection","alignItems","justifyContent","flexGrow","flexBasis"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/elements/src/Header/Header.tsx"],"sourcesContent":["import { useNavigation, useTheme } from '@react-navigation/native';\nimport Color from 'color';\nimport * as React from 'react';\nimport {\n Animated,\n type LayoutChangeEvent,\n Platform,\n StyleSheet,\n View,\n type ViewStyle,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport searchIcon from '../assets/search-icon.png';\nimport type { HeaderOptions, Layout } from '../types';\nimport { useFrameSize } from '../useFrameSize';\nimport { getDefaultHeaderHeight } from './getDefaultHeaderHeight';\nimport { HeaderBackButton } from './HeaderBackButton';\nimport { HeaderBackground } from './HeaderBackground';\nimport { HeaderButton } from './HeaderButton';\nimport { HeaderIcon } from './HeaderIcon';\nimport { HeaderSearchBar } from './HeaderSearchBar';\nimport { HeaderShownContext } from './HeaderShownContext';\nimport { HeaderTitle } from './HeaderTitle';\n\n// Width of the screen in split layout on portrait mode on iPad Mini\nconst IPAD_MINI_MEDIUM_WIDTH = 414;\n\ntype Props = HeaderOptions & {\n /**\n * Options for the back button.\n */\n back?: {\n /**\n * Title of the previous screen.\n */\n title: string | undefined;\n /**\n * The `href` to use for the anchor tag on web\n */\n href: string | undefined;\n };\n /**\n * Whether the header is in a modal\n */\n modal?: boolean;\n /**\n * Layout of the screen.\n */\n layout?: Layout;\n /**\n * Title text for the header.\n */\n title: string;\n};\n\nconst warnIfHeaderStylesDefined = (styles: Record<string, any>) => {\n Object.keys(styles).forEach((styleProp) => {\n const value = styles[styleProp];\n\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\n \"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\"\n );\n } else if (value !== undefined) {\n console.warn(\n `${styleProp} was given a value of ${value}, this has no effect on headerStyle.`\n );\n }\n });\n};\n\nexport function Header(props: Props) {\n const insets = useSafeAreaInsets();\n const frame = useFrameSize((size) => size, true);\n const { colors } = useTheme();\n\n const navigation = useNavigation();\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n\n const [searchBarVisible, setSearchBarVisible] = React.useState(false);\n const [titleLayout, setTitleLayout] = React.useState<Layout | undefined>(\n undefined\n );\n\n const onTitleLayout = (e: LayoutChangeEvent) => {\n const { height, width } = e.nativeEvent.layout;\n\n setTitleLayout((titleLayout) => {\n if (\n titleLayout &&\n height === titleLayout.height &&\n width === titleLayout.width\n ) {\n return titleLayout;\n }\n\n return { height, width };\n });\n };\n\n const {\n layout = frame,\n modal = false,\n back,\n title,\n headerTitle: customTitle,\n headerTitleAlign = Platform.OS === 'ios' ? 'center' : 'left',\n headerLeft = back ? (props) => <HeaderBackButton {...props} /> : undefined,\n headerSearchBarOptions,\n headerTransparent,\n headerTintColor,\n headerBackground,\n headerRight,\n headerTitleAllowFontScaling: titleAllowFontScaling,\n headerTitleStyle: titleStyle,\n headerLeftContainerStyle: leftContainerStyle,\n headerRightContainerStyle: rightContainerStyle,\n headerTitleContainerStyle: titleContainerStyle,\n headerBackButtonDisplayMode = Platform.OS === 'ios' ? 'default' : 'minimal',\n headerBackTitleStyle,\n headerBackgroundContainerStyle: backgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerShadowVisible,\n headerPressColor,\n headerPressOpacity,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const {\n height = defaultHeight,\n minHeight,\n maxHeight,\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n ...unsafeStyles\n } = StyleSheet.flatten(customHeaderStyle || {}) as ViewStyle;\n\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n\n const safeStyles: ViewStyle = {\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n };\n\n // Setting a property to undefined triggers default style\n // So we need to filter them out\n // Users can use `null` instead\n for (const styleProp in safeStyles) {\n // @ts-expect-error: typescript wrongly complains that styleProp cannot be used to index safeStyles\n if (safeStyles[styleProp] === undefined) {\n // @ts-expect-error don't need to care about index signature for deletion\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete safeStyles[styleProp];\n }\n }\n\n const backgroundStyle = {\n ...(headerTransparent && { backgroundColor: 'transparent' }),\n ...((headerTransparent || headerShadowVisible === false) && {\n borderBottomWidth: 0,\n ...Platform.select({\n android: {\n elevation: 0,\n },\n web: {\n boxShadow: 'none',\n },\n default: {\n shadowOpacity: 0,\n },\n }),\n }),\n ...safeStyles,\n };\n\n const iconTintColor =\n headerTintColor ??\n Platform.select({\n ios: colors.primary,\n default: colors.text,\n });\n\n const leftButton = headerLeft\n ? headerLeft({\n tintColor: iconTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n displayMode: headerBackButtonDisplayMode,\n titleLayout,\n screenLayout: layout,\n canGoBack: Boolean(back),\n onPress: back ? navigation.goBack : undefined,\n label: back?.title,\n labelStyle: headerBackTitleStyle,\n href: back?.href,\n })\n : null;\n\n const rightButton = headerRight\n ? headerRight({\n tintColor: iconTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n canGoBack: Boolean(back),\n })\n : null;\n\n const headerTitle =\n typeof customTitle !== 'function'\n ? (props: React.ComponentProps<typeof HeaderTitle>) => (\n <HeaderTitle {...props} />\n )\n : customTitle;\n\n return (\n <Animated.View\n pointerEvents=\"box-none\"\n style={[{ height, minHeight, maxHeight, opacity, transform }]}\n >\n <Animated.View\n pointerEvents=\"box-none\"\n style={[StyleSheet.absoluteFill, backgroundContainerStyle]}\n >\n {headerBackground ? (\n headerBackground({ style: backgroundStyle })\n ) : (\n <HeaderBackground\n pointerEvents={\n // Allow touch through the header when background color is transparent\n headerTransparent &&\n (backgroundStyle.backgroundColor === 'transparent' ||\n Color(backgroundStyle.backgroundColor).alpha() === 0)\n ? 'none'\n : 'auto'\n }\n style={backgroundStyle}\n />\n )}\n </Animated.View>\n <View pointerEvents=\"none\" style={{ height: headerStatusBarHeight }} />\n <View\n pointerEvents=\"box-none\"\n style={[\n styles.content,\n Platform.OS === 'ios' && frame.width >= IPAD_MINI_MEDIUM_WIDTH\n ? styles.large\n : null,\n ]}\n >\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.start,\n !searchBarVisible && headerTitleAlign === 'center' && styles.expand,\n { marginStart: insets.left },\n leftContainerStyle,\n ]}\n >\n {leftButton}\n </Animated.View>\n {Platform.OS === 'ios' || !searchBarVisible ? (\n <>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.title,\n {\n // Avoid the title from going offscreen or overlapping buttons\n maxWidth:\n headerTitleAlign === 'center'\n ? layout.width -\n ((leftButton\n ? headerBackButtonDisplayMode !== 'minimal'\n ? 80\n : 32\n : 16) +\n (rightButton || headerSearchBarOptions ? 16 : 0) +\n Math.max(insets.left, insets.right)) *\n 2\n : layout.width -\n ((leftButton ? 52 : 16) +\n (rightButton || headerSearchBarOptions ? 52 : 16) +\n insets.left -\n insets.right),\n },\n headerTitleAlign === 'left' && leftButton\n ? { marginStart: 4 }\n : { marginHorizontal: 16 },\n titleContainerStyle,\n ]}\n >\n {headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n onLayout: onTitleLayout,\n style: titleStyle,\n })}\n </Animated.View>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[\n styles.end,\n styles.expand,\n { marginEnd: insets.right },\n rightContainerStyle,\n ]}\n >\n {rightButton}\n {headerSearchBarOptions ? (\n <HeaderButton\n tintColor={iconTintColor}\n pressColor={headerPressColor}\n pressOpacity={headerPressOpacity}\n onPress={() => {\n setSearchBarVisible(true);\n headerSearchBarOptions?.onOpen?.();\n }}\n >\n <HeaderIcon source={searchIcon} tintColor={iconTintColor} />\n </HeaderButton>\n ) : null}\n </Animated.View>\n </>\n ) : null}\n {Platform.OS === 'ios' || searchBarVisible ? (\n <HeaderSearchBar\n {...headerSearchBarOptions}\n visible={searchBarVisible}\n onClose={() => {\n setSearchBarVisible(false);\n headerSearchBarOptions?.onClose?.();\n }}\n tintColor={headerTintColor}\n style={[\n Platform.OS === 'ios'\n ? [\n StyleSheet.absoluteFill,\n { paddingTop: headerStatusBarHeight ? 0 : 4 },\n { backgroundColor: backgroundColor ?? colors.card },\n ]\n : !leftButton && { marginStart: 8 },\n ]}\n />\n ) : null}\n </View>\n </Animated.View>\n );\n}\n\nconst styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch',\n },\n large: {\n marginHorizontal: 5,\n },\n title: {\n justifyContent: 'center',\n },\n start: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n end: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-end',\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0,\n },\n});\n"],"mappings":"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","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}