import { ReactNode } from 'react'; type TNavBarItemCommon = { /** * set true to show notification badge */ hasBadge?: boolean; /** * an ID can be used to detect which button was clicked when asButton is true */ id?: string; /** * highlights the link to show it as the current active item */ isCurrent?: boolean; /** * stop the link being active and lowers its opacity */ isDisabled?: boolean; /** * the text or other content for the link / button */ label: string | ReactNode | JSX.Element; }; type TNavBarButton = { asButton: true; href?: never; onClick: (event: React.MouseEvent) => void; }; type TNavBarLink = { asButton?: false; href: string; onClick?: (event: React.MouseEvent) => void; }; export type TNavBarItem = TNavBarItemCommon & (TNavBarButton | TNavBarLink); export interface INavBarProps { /** * Array of content for each tab with unique ID * ``` * label?: string | ReactNode | JSX.Element * asButton?: boolean * hasBadge?: boolean * href?: string * icon?: ReactNode * id?: string * isCurrent?: boolean * isDisabled?: boolean * label?: string | ReactNode | JSX.Element * onClick?: () => void * ``` */ items: TNavBarItem[]; /** * label text for tabs accessibility */ label?: string; /** * apply custom CSS */ style?: React.CSSProperties; } export {}; //# sourceMappingURL=types.d.ts.map