UNPKG

@hhgtech/hhg-components

Version:
94 lines (93 loc) 3.3 kB
import React, { ReactNode } from 'react'; import { Hospital } from "../../care/interfaces/types"; import { LocaleType, ProjectType } from "../../interfaces/types"; import { Option } from "../molecules/languageSwitcher/tooltipSelection"; import { HelpfulUrl } from "../../ecom/dataFormatter/lib/dataTypes"; import { VideoItemType } from "../../interfaces/types/Video"; import { Community, Post } from "../../together/interfaces/types"; import { HHG_SEARCH_BACK_KEY } from "./components/atoms/searchInput"; import { NavConfig } from "./hooks/useNavConfig"; import { Category, HealthTool, MenuServiceType, Specialty, SpotlightSummary, State } from "./types"; import { SiteWideBannerType } from "../molecules"; export type NavMenuContentType = { categories?: { items?: Category[]; spotlights?: SpotlightSummary[]; }; healthTools?: { items?: HealthTool[]; spotlights?: HealthTool[]; }; care?: { items?: Specialty[]; spotlights?: Hospital[]; }; together?: { items?: Community[]; spotlights?: Post[]; }; ecom?: { helpfulUrls: HelpfulUrl[]; }; videos?: { items?: { name: string; link: string; thumbnail: string; }[]; spotlights?: VideoItemType[]; }; }; export type Props = { isMobile?: boolean; isHeaderCollapsible?: boolean; projectType?: ProjectType; siteType: 'marryBaby' | 'helloSites'; ssrMenuContent?: NavMenuContentType; className?: string; onBookingClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void; activeMenuService?: MenuServiceType; onLogout?: () => void; marryBaby?: { tone: 'pink' | 'white'; marryBabyApiDomain?: string; }; locale: LocaleType; userState: State; onTopBarAppears?: (isAppeared: boolean) => void; sitewideBanner?: JSX.Element; sitewideBannerShown?: boolean; sitewideBannerData?: SiteWideBannerType; sitewideSite?: 'discover' | 'together' | 'care'; sponsorComponent?: JSX.Element; logoComponent?: JSX.Element; languageOptions?: Option[]; currentUrl?: string; isFirstLogin?: boolean; userProfileRouterPush?: (s: string) => void; isUserLoading?: boolean; onLoginClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void; configs?: Partial<NavConfig>; enableBookingBtn?: boolean; cartNumber?: number; subHead?: JSX.Element; isHomepage?: boolean; customClasses?: { wrapper?: string; header?: string; leftGroup?: string; rightGroup?: string; navMenu?: string; profilePopup?: string; profilePopupContent?: string; categoriesMenu?: string; profileBtn?: string; }; slot?: ReactNode; isWinCashBackTheme?: boolean; enableO2ONavigationMenu?: boolean; }; declare const NavigationV2: (props: Props) => React.JSX.Element; export declare const getNavMenuContent: (locale: string) => Promise<NavMenuContentType>; export declare const getNavMenuContentWithCache: (locale?: string) => Promise<NavMenuContentType>; export { HHG_SEARCH_BACK_KEY, NavigationV2 };