/** * The new select element * * @author Platon Fedorov * @date 2021-01-12 */ import * as React from 'react'; import { IOption, ISelectProps, Value } from './Select.types'; import { SIZE } from '../..'; interface IState { isDropDownOpen: boolean; inputText: string; isFocused: boolean; isHovered: boolean; selectedOptions: IOption[]; dropDownWidth: number; } export { IOption, IGroupOption, Value, ISelectProps, Mode } from './Select.types'; export declare class Select extends React.PureComponent { inputRef: React.RefObject; dropDownTargetRef: React.RefObject; dropDownRef: React.RefObject; isFocusOnInputFromOptionList: boolean; constructor(props: ISelectProps); static defaultProps: { mode: string; size: SIZE; showSearch: boolean; showArrow: boolean; defaultActiveFirstOption: boolean; notFoundText: string; selectAllText: string; selectNoneText: string; addText: string; }; getOptionsByValue: (value: Value) => IOption[]; getValueList: (options: IOption[]) => Array; getSelectedOptions: () => IOption[]; openDropDown: () => void; closeDropDown: () => void; addSelectedOption: (option: IOption) => IOption[]; deleteOption: (option: IOption) => IOption[]; deleteLastOption: () => IOption[]; deleteAllOptions: () => IOption[]; filterOptions: (text: string) => IOption[]; handleWrapperClick: (e: React.MouseEvent) => void; handleWrapperClickOutside: (e: MouseEvent) => void; handleInputChange: (e: React.FormEvent) => void; doInputChange: (value: string) => void; handleInputKeyUp: (e: React.KeyboardEvent) => void; handleInputFocus: () => void; handleWrapperFocus: (e: FocusEvent) => void; handleWrapperMouseEnter: () => void; handleWrapperMouseLeave: () => void; focus: () => void; blur: () => void; onSelect: (option: IOption | null) => void; onChange: (newOptions: IOption[]) => void; componentDidMount(): void; componentWillUnmount(): void; calculateDropDownWidth(): void; onKeyDown(e: KeyboardEvent): void; onDropDownClose: (e: React.SyntheticEvent | Event) => void; renderSelect(): JSX.Element; onExtraClear: (e: React.MouseEvent) => void; onDeleteSelectedOption: (option: IOption) => (e: React.MouseEvent) => void; renderCustomValueRenderer: (value: Value) => JSX.Element; renderWrapper: () => JSX.Element; renderValueDefault: () => JSX.Element | null; renderDropDownContent: () => {}; renderSelectAllButton: () => JSX.Element; renderAddButton: () => JSX.Element; renderSelectedMultipleValue: (option: IOption, size: SIZE) => JSX.Element; render(): JSX.Element; }