import { SizeProp } from '../../types/size'; import { ElementType, HTMLAttributes, ReactElement, ReactNode } from 'react'; import { ColorProp } from '../../types/color'; import { AvatarProps } from '../Avatar/types'; import { IconButtonProps } from '../IconButton/types'; export interface ChipProps extends Pick, 'className' | 'style' | 'onClick'> { /** * The content of the component. */ label: ReactNode; /** * The variant to use. * @default 'filled' */ variant?: 'filled' | 'outlined'; /** * The size of the component * @default 'normal' */ size?: SizeProp; /** * The color of the component * @default 'basic' */ color?: ColorProp; /** * Callback fired when the delete icon is clicked. If set, the delete icon will be shown. */ onDelete?: () => void; /** * Override the default delete icon element. Shown only if onDelete is set. */ deleteIcon?: ReactElement; /** * */ deleteButtonProps?: IconButtonProps; /** * If true, the chip will appear clickable * @default false */ clickable?: boolean; /** * @default false */ disabled?: boolean; /** * If set the icon will show on the start of the chip */ icon?: ReactElement; /** * The Avatar element to display. */ avatar?: ReactElement; /** * The component used for the root node */ component?: ElementType; }