/// import { InputChangeEvent, LabeledInputProps } from '../../common'; import { InteractiveListDirection } from '../InteractiveList'; export interface DropdownFieldToggleEvent { state: 'open' | 'close'; } export declare type DropdownFieldChangeEvent = InputChangeEvent>; export interface DropdownFieldItem { key: string; content?: React.ReactChild; searchText?: string; type?: 'item' | 'divider' | 'header'; } export interface DropdownFieldProps extends LabeledInputProps> { /** * @ignore */ children?: void; /** * This Boolean attribute indicates that multiple options can be selected in the list. * If it is not specified, then only one option can be selected at a time. * Default value is `false`. */ multiple?: boolean; /** * The maximum number of items shown in case of multiple. * @default 8 */ maxSelectedShown?: number; /** * Fired when the dropdown gets opened or closed. */ onToggle?(e: DropdownFieldToggleEvent): void; /** * Fired once the selected value changes. */ onChange?(e: DropdownFieldChangeEvent): void; /** * The data to be displayed as selection basis. */ data: Array; /** * Removes the border of the control. * @default false */ borderless?: boolean; /** * Whether to open dropdown list to top or bottom. * If not provided then opens depending on the screen size. */ direction?: InteractiveListDirection; /** * Allows to open dropdown immediately after initializing. */ open?: boolean; /** * Disable specific options. Strings in this list have to match the strings used as `data` or the `key` * fields if `InteractiveListItemObject` are used. */ disabledItems?: Array; }