UNPKG

adwaita-web

Version:

A GTK inspired toolkit designed to build awesome web apps

73 lines (72 loc) 2.44 kB
import React from "react"; export declare type DropdownOption<T> = { value: T; label: React.ReactNode; data?: any; }; export declare type DropdownProps<T> = { id?: string; className?: string; triggerClassName?: string; placeholder?: string; size?: "mini" | "small" | "medium" | "large" | "huge" | "mega" | "mega"; align?: "left" | "right"; label?: React.ReactNode; value?: T; options?: Array<DropdownOption<T>>; disabled?: boolean; loading?: boolean; open?: boolean; allowClear?: boolean; input?: boolean; filterKey?: string; filter?: (option: any, filter?: string) => boolean; onClose?: () => void; onOpen?: () => void; onChange?: (value: T | undefined) => void; }; /** A input element that allows the user to select one of the multiple pre-defined options. */ export declare class Dropdown<T extends string | number | boolean> extends React.Component<DropdownProps<T>> { static defaultProps: { size: string; align: string; disabled: boolean; options: never[]; }; static getDerivedStateFromProps(props: DropdownProps<any>): { open: boolean | undefined; } | null; domNode: HTMLDivElement; trigger?: HTMLButtonElement | HTMLDivElement; lastValue: T | undefined; lastOption: DropdownOption<T> | undefined; lastOptions: Array<DropdownOption<T>> | undefined; lastRenderedOptions: Array<DropdownOption<T>> | undefined; lastRenderedOptionsArgs: Array<string | ((option: any, filter?: string | undefined) => boolean) | DropdownOption<T>[] | undefined>; state: { value: T | undefined; selectedOption: DropdownOption<T> | undefined; open: boolean; position: { top: number; left: number; }; inputValue: string; previousInputValue: string; }; constructor(props: DropdownProps<T>); componentWillUnmount(): void; onInputBlur: () => void; onInputChange: (inputValue: string) => void; onInputAccept: () => void; onToggle: () => void; open: () => void; close: () => void; isOpen: () => boolean | undefined; isControlled: () => boolean; select: (option: DropdownOption<T> | null) => void; getValue(): T | undefined; getRenderedOptions(): DropdownOption<T>[]; getSelectedOption(): DropdownOption<T> | undefined; render(): JSX.Element; }