@yandex/ui
Version:
Yandex UI components
83 lines (82 loc) • 2.51 kB
TypeScript
import { FC, ChangeEventHandler, MouseEventHandler, RefObject } from 'react';
import './Attach.css';
export * from './Attach.const';
export interface IAttachProps {
/**
* Дополнительный className
*/
className?: string;
/**
* Ссылка на DOM-элемент нативного контрола
*/
controlRef?: RefObject<HTMLInputElement>;
/**
* Неактивное состояние компонента.
* Состояние, при котором компонент отображается, но недоступен для действий пользователя
*/
disabled?: boolean;
/**
* Наличие элемента `Holder`
*/
hasHolder?: boolean;
/**
* Текст внутри элемента `Holder`, когда файл не выбран
*/
holderText?: string;
/**
* Ширина текста внутри элемента `Holder`
*/
holderTextWidth?: number;
/**
* Уникальный id компонента
*
* @default useUniqId()
*/
id?: string;
/**
* Ссылка на корневой DOM-элемент компонента
*/
innerRef?: RefObject<HTMLElement>;
/**
* Имя компонента.
*/
name?: string;
/**
* Обработчик, вызываемый при смене файла
*/
onChange?: ChangeEventHandler<HTMLInputElement>;
/**
* Обработчик, вызываемый при очистке файла
*/
onClearClick?: MouseEventHandler<HTMLElement>;
/**
* Размер компонента
*/
size?: string;
/**
* Стилевое оформление компонента
*/
theme?: string;
/**
* Внешний вид компонента
*/
view?: string;
/**
* Содержимое кнопки
*/
children: string;
/**
* Последовательность перехода между кнопками при нажатии на кнопку Tab
* @default 0
*/
tabIndex?: number;
/**
* Допустимые типы файлов
*/
accept?: string;
}
/**
* Компонент для создания кнопки выбора файла, предназначенного для отправки на сервер.
* @param {IAttachProps} props
*/
export declare const Attach: FC<IAttachProps>;