@hhgtech/hhg-components
Version:
Hello Health Group common components
75 lines (74 loc) • 2.59 kB
TypeScript
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 };