@steambrew/client
Version:
A support library for creating plugins with Millennium.
36 lines (35 loc) • 1.11 kB
TypeScript
import { ReactNode, FC } from 'react';
import { ItemProps } from './Item';
export interface SingleDropdownOption {
data: any;
label: ReactNode;
options?: never;
}
export interface MultiDropdownOption {
label: ReactNode;
options: DropdownOption[];
data?: never;
}
export type DropdownOption = SingleDropdownOption | MultiDropdownOption;
export interface DropdownMenuPositionOptions {
[_: string]: unknown;
bMatchWidth?: boolean;
}
export interface DropdownProps {
rgOptions: DropdownOption[];
selectedOption: any;
disabled?: boolean;
onMenuWillOpen?(showMenu: () => void): void;
onMenuOpened?(): void;
onChange?(data: SingleDropdownOption): void;
contextMenuPositionOptions?: DropdownMenuPositionOptions;
menuLabel?: string;
strDefaultLabel?: string;
renderButtonValue?(element: ReactNode): ReactNode;
focusable?: boolean;
}
/** @component React Components */
export declare const Dropdown: FC<DropdownProps>;
export interface DropdownItemProps extends DropdownProps, ItemProps {
}
export declare const DropdownItem: FC<DropdownItemProps>;