@cmk/fe_utils
Version:
frontend utility library
41 lines (39 loc) • 1.65 kB
TypeScript
import { IconProps } from '@mdi/react/dist/IconProps';
import { TypographyProps, TypographyVariant, ListItemButtonProps, ListItemIconProps, ListItemProps, ListItemTextProps, ListProps } from '@mui/material';
import { ReactNode } from 'react';
export type ListNavigationProps = Omit<ListProps, 'onChange' | 'value' | 'items'> & {
value: string;
onChange: (value: string) => void;
items: ({
value: string;
secondaryLabel?: string;
label: ReactNode;
tooltip?: string;
disabled?: boolean;
icon?: ReactNode;
isInitialValue?: boolean;
} | null)[];
dense?: boolean;
disablePadding?: boolean;
subheader?: ReactNode;
slotProps?: {
listItem?: ListItemProps;
listItemButton?: ListItemButtonProps;
listItemIconRoot?: ListItemIconProps;
listItemIcon?: IconProps;
listItemTextContainer?: ListItemTextProps;
listItemTextPrimaryTypography?: ListItemTextProps['primaryTypographyProps'];
listItemTextSecondaryTypography?: ListItemTextProps['secondaryTypographyProps'];
touchRipple?: ListItemButtonProps['TouchRippleProps'];
};
primaryTypographyVariant?: TypographyVariant;
secondaryTypographyVariant?: TypographyVariant;
primaryTypographyColor?: TypographyProps['color'];
secondaryTypographyColor?: TypographyProps['color'];
itemHoverBgColor?: string;
activeItemBgColor?: string;
activeItemHoverBgColor?: string;
rootInjection?: ReactNode;
background?: string;
};
export declare const ListNavigation: (props: ListNavigationProps) => import("react/jsx-runtime").JSX.Element;