{"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":[]}