UNPKG

@kadconsulting/dry

Version:
74 lines (73 loc) 2.1 kB
import type { PathRouteProps } from 'react-router-dom'; import type { ReactNode } from 'react'; export interface NavBarProps extends React.HTMLAttributes<HTMLElement> { passProps?: object; /** Support @testing-library/react `screen.getByTestId` */ 'data-testid'?: string; navRoutes: NavRoute; logoProps?: NavBarLogoProps; currentPath?: string | Location; isnextjs?: boolean; topText?: string; subText?: string; setLoading?: (loading: boolean) => void; orientation?: 'horizontal' | 'vertical'; tabletBreakpoint?: number; desktopBreakpoint?: number; contentClassName?: string; mainClassName?: string; loading?: boolean; } export type NavRoute = { [key: string]: PathRouteProps & { noRoute?: boolean; name: string; visibleInNav: boolean; subNavigation?: SubNavigation; icon?: ReactNode; children?: ReactNode; infoWrapperClassName?: string; inThumbBar?: boolean; buttonType?: string; }; }; export type SubNavigation = { [key: string]: PathRouteProps & { noRoute?: boolean; name: string; path: string; icon?: ReactNode; subRoutes?: SubRoute; children?: ReactNode; infoWrapperClassName?: string; }; }; export type SubRoute = { [key: string]: PathRouteProps & { noRoute?: boolean; name: string; path: string; icon?: ReactNode; subRoutes?: SubRoute; children?: ReactNode; }; }; export type NavBarLogoProps = { logoUrl: string; width?: number; height?: number; inThumbBar?: boolean; }; export interface NavBarWrapperProps extends React.HTMLAttributes<HTMLElement> { passProps?: object; /** Support @testing-library/react `screen.getByTestId` */ 'data-testid'?: string; navRoutes: NavRoute; logoProps: NavBarLogoProps; setLoading?: (loading: boolean) => void; tabletBreakpoint?: number; desktopBreakpoint?: number; contentClassName?: string; mainClassName?: string; loading?: boolean; }