@lunit/oui
Version:
Lunit Oncology UI components
21 lines (20 loc) • 849 B
TypeScript
import type { BoxProps, SelectProps, TypographyProps } from '@mui/material';
import { IconDropdownOption } from './IconDropdown.types';
interface DropdownContainerProps extends BoxProps {
fullWidth?: boolean;
}
type BaseDropdownProps<T = unknown> = SelectProps<T>;
interface DropdownProps<T = unknown> extends Omit<BaseDropdownProps<T>, 'IconComponent' | 'error' | 'sx' | 'style'> {
error?: string;
helperMsg?: string;
placeholder?: string;
ContainerProps?: BoxProps;
sx?: SelectProps['sx'];
style?: SelectProps['style'];
options?: IconDropdownOption[];
}
interface PlaceholderProps extends TypographyProps {
disabled?: boolean;
}
type DropdownComponent = <T>(props: DropdownProps<T>) => JSX.Element;
export type { DropdownContainerProps, DropdownProps, BaseDropdownProps, PlaceholderProps, DropdownComponent, };