UNPKG

@hhgtech/hhg-components

Version:
75 lines (74 loc) 2.59 kB
import React 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 { NavConfig } from "./hooks/useNavConfig"; import { Category, HealthTool, MenuServiceType, Specialty, SpotlightSummary, State } from "./types"; 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; 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?: (b: boolean) => void; sitewideBanner?: JSX.Element; sitewideBannerShown?: boolean; 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; }; 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 { NavigationV2 };