import React from 'react' import { HeaderWrapper, TopWrapper, TopColumnLeft, TopColumnCenter, TopColumnCenterNoLink, TopColumnRight } from './components/top/partials' import { NavListLeft, NavListRight, NavDesktop, UserActionsNav, MobileNav } from './components/navigation/partials' import { StickyHeaderWrapper, TopWrapperSticky, TopColumnCenterSticky, TopColumnLeftSticky, TopColumnRightSticky } from './components/sticky/partials' import { SubNavigation } from './components/sub-navigation/partials' import { IncludeDrawer } from './components/drawer/topLevelPartials' import { Search } from './components/search/partials' import { THeaderProps, THeaderOptions, THeaderVariant } from './interfaces' const defaultProps: Partial = { showSubNavigation: true, showUserNavigation: true, userIsAnonymous: true, userIsLoggedIn: false, showStickyHeader: true, showMegaNav: true, showAskButton: false, showProNavigation: false, showMprButton: false, } function MainHeader(props: THeaderProps) { const includeUserActionsNav = props.showUserNavigation && !props.userIsLoggedIn const includeSubNavigation = props.showSubNavigation && (props.data.breadcrumb || props.data.subsections) return ( {includeUserActionsNav ? : null} {props.showLogoLink ? : } {props.showUserNavigation ? : null} {includeSubNavigation ? : null} ) } MainHeader.defaultProps = { ...defaultProps, showLogoLink: true } function StickyHeader(props: THeaderProps) { const stickyProps = { ...props, variant: 'sticky' as THeaderVariant } return props.showStickyHeader ? ( ) : null } StickyHeader.defaultProps = defaultProps function Header(props: THeaderProps) { return ( ) } Header.defaultProps = defaultProps function LogoOnly(props: Pick) { return ( {props.showLogoLink ? : } ) } LogoOnly.defaultProps = defaultProps function Drawer(props: THeaderProps) { return } Drawer.defaultProps = defaultProps function NoOutboundLinksHeader(props: THeaderProps) { const includeUserActionsNav = props.showUserNavigation && !props.userIsLoggedIn const includeSubNavigation = props.showSubNavigation && (props.data.breadcrumb || props.data.subsections) return ( {includeUserActionsNav ? : null} {props.showLogoLink ? : } {props.showUserNavigation ? : null} {includeSubNavigation ? : null} ) } NoOutboundLinksHeader.defaultProps = defaultProps export { Header, MainHeader, StickyHeader, LogoOnly, NoOutboundLinksHeader, Drawer } export type { THeaderProps }