import React from 'react'; import { Props, Ref, State, TOption } from './types'; /** * InputSelect * @reactProps {object} style - css стили * @reactProps {boolean} loading - флаг анимации загрузки * @reactProps {array} options - данные * @reactProps {string} valueFieldId - значение ключа value в данных * @reactProps {string} labelFieldId - значение ключа label в данных * @reactProps {string} iconFieldId - поле для иконки * @reactProps {string} imageFieldId - поле для картинки * @reactProps {object} badge - данные для баджа * @reactProps {string} statusFieldId - поле для статуса * @reactProps {string} descriptionFieldId - поле для описания * @reactProps {boolean} disabled - флаг неактивности * @reactProps {array} disabledValues - неактивные данные * @reactProps {string} filter - варианты фильтрации * @reactProps {string} value - текущее значение * @reactProps {function} onToggle * @reactProps {function} onInput - callback при вводе в инпут * @reactProps {function} onChange - callback при выборе значения или вводе * @reactProps {function} onSelect * @reactProps {function} onScrollENd - callback при прокрутке скролла popup * @reactProps {string} placeHolder - подсказка в инпуте * @reactProps {boolean} resetOnBlur - фича, при которой: (значение - true) - сбрасывается значение контрола, если оно * не выбрано из popup, (значение - false) - создает объект в текущем value * @reactProps {function} onClose - callback на закрытие попапа * @reactProps {boolean} multiSelect - флаг мульти выбора * @reactProps {string} groupFieldId - поле для группировки * @reactProps {boolean} closePopupOnSelect - флаг закрытия попапа при выборе * @reactProps {boolean} hasCheckboxes - флаг наличия чекбоксов * @reactProps {string} format - формат * @reactProps {function} onSearch * @reactProps {boolean} expandPopUp * @reactProps {array} alerts * @reactProps {boolean} popupAutoSize - флаг включения автоматическиого расчета длины PopUp * @reactProps {number} size - кол-во запрашиваемых записей * @reactProps {number} count - всего записей */ export declare class InputSelect extends React.Component { inputHeightRef: Ref; textAreaRef: Ref; inputRef: Ref | undefined; popUpRef: Ref; constructor(props: Props); componentDidUpdate(prevProps: Props, prevState: State): void; adjustPopupPosition: (violations: { down?: boolean; up?: boolean; }) => void; checkPopupPosition: () => void; componentWillReceiveProps(nextProps: Props): void; /** * установить акстивный элемент дропдауна * @param activeValueId * @private */ setActiveValueId: (activeValueId: State['activeValueId']) => void; /** * обработка изменения значения при потери фокуса(считаем, что при потере фокуса пользователь закончил вводить * новое значение) * @private */ handleValueChangeOnBlur: (isExpanded?: boolean) => void; /** * Обработка клика на инпут * @private */ handleClick: () => void; /** * Возвращает текущее значение (массив - если ипут селект, объект - если нет) * или null если пусто * @private */ getValue: () => any; /** * Удаляет элемент из списка выбранных * @param item - элемент * @private */ removeSelectedItem: (item: TOption) => void; /** * Скрывает popUp * @private */ hidePopUp: () => void; /** * Очищает выбранный элемент * @private */ clearSelected: (enabledFieldId?: string) => void; /** * установить / сбросить фокус * @param inputFocus * @private */ setInputFocus: (inputFocus: State['inputFocus']) => void; /** * скрыть / показать попап * @param isExpanded * @private */ setIsExpanded: (isExpanded: Props['isExpanded']) => null; /** * Выполняет поиск элементов для popUp, если установлен фильтр * @private */ handleDataSearch: (input?: State['input'], delay?: Props['throttleDelay']) => void; /** * новое значение инпута search) * @param input * @private */ setNewInputValue: (input: State['input']) => void; /** * Обрабатывает выбор элемента из popUp * @param item - элемент массива options * @private */ handleItemSelect: (item: TOption) => void; /** * Очищает инпут и результаты поиска * @private */ clearSearchField: () => void; /** * Очищениеб сброс фокуса, выделенного значения * @private */ handleElementClear: () => void; /** * Обрабатывает клик за пределы компонента * вызывается библиотекой react-onclickoutside */ handleClickOutside: () => void; /** * Добавлет объект к текущему value, при resetOnBlur = false * @private */ addObjectToValue: () => void; onInputBlur: () => void; onFocus: () => void; setInputRef: (popperRef: any) => (r: any) => void; toggle: () => void; onInputSelectGroupClick: () => void; render(): JSX.Element; static defaultProps: Props; } export declare const InputSelectComponent: { new (props: Props | import("../Select/types").Props): { popUpItemRef: Ref | null | undefined; componentDidUpdate(prevProps: Props): void; render(): JSX.Element; context: any; setState(state: { popUpMaxHeight: number; } | ((prevState: Readonly<{ popUpMaxHeight: number; }>, props: Readonly) => { popUpMaxHeight: number; } | Pick<{ popUpMaxHeight: number; }, K> | null) | Pick<{ popUpMaxHeight: number; }, K> | null, callback?: (() => void) | undefined): void; forceUpdate(callback?: (() => void) | undefined): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{ popUpMaxHeight: number; }>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly<{ popUpMaxHeight: number; }>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly<{ popUpMaxHeight: number; }>): any; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{ popUpMaxHeight: number; }>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly<{ popUpMaxHeight: number; }>, nextContext: any): void; }; contextType?: React.Context | undefined; };