@yandex/ui
Version:
Yandex UI components
84 lines (83 loc) • 3.8 kB
TypeScript
import React, { Ref, ReactNode, MouseEventHandler } from 'react';
import { RenderOverride } from '../lib/render-override';
import { IWithControlProps } from '../withControl/withControl';
import { IWithControlProps as IWithControlPropsDesktop } from '../withControl/withControl@desktop';
import { ITextareaControlProps } from './Control/Textarea-Control';
import './Textarea.css';
export interface ITextareaProps extends IWithControlProps<HTMLTextAreaElement>, IWithControlPropsDesktop<HTMLTextAreaElement>, ITextareaControlProps {
/**
* Событие, которое вызывается при нажатии на компонент
*/
onClick?: MouseEventHandler<HTMLElement>;
/**
* Событие по своему действию похоже на `onClick` и возникает в момент нажатия на кнопку мыши.
* `onClick` в каком-то смысле является комбинацией событий `onMouseDown` и `onMouseUp`
*/
onMouseDown?: MouseEventHandler<HTMLElement>;
/**
* Событие по своему действию противоположно событию `onMouseDown` и происходит при отпускании кнопки мыши.
* Курсор должен находится в пределах HTML-элемента, к которому добавлен атрибут `onmouseup`
*/
onMouseUp?: MouseEventHandler<HTMLElement>;
/**
* Обработчик события `onMouseLeave`
*/
onMouseLeave?: MouseEventHandler<HTMLElement>;
/**
* Обработчик события `onMouseEnter`
*/
onMouseEnter?: MouseEventHandler<HTMLElement>;
/**
* Состояние фокуса на компоненте
*/
focused?: boolean;
/**
* Состояние нажатия на компоненте
*/
pressed?: boolean;
/**
* Неактивное состояние компонента.
* Состояние, при котором компонент отображается, но недоступен для действий пользователя
*/
disabled?: boolean;
/**
* Состояние, которое возникает при наведении на компонент курсором
*/
hovered?: boolean;
/**
* Дополнительный контент после контрола.
*/
addonAfter?: ReactNode;
/**
* Дополнительный контент перед контролом.
*/
addonBefore?: ReactNode;
/**
* Ссылка на корневой DOM элемент компонента.
*/
innerRef?: Ref<HTMLSpanElement>;
/**
* Ссылка на враппер DOM-элемента нативного инпута.
*/
wrapRef?: Ref<HTMLSpanElement>;
/**
* Текст-подсказка, появляющаяся после компонента.
* Может иметь различное визуальное оформление в зависимости от свойства `state`.
*/
hint?: string;
/**
* Визуальное состояние компонента.
* Может использоваться при проверке формы на корректность.
*/
state?: 'error';
/**
* Всплывающая подсказка
*/
title?: string;
/**
* Переопределяет компонент `Control`
*/
renderControl?: RenderOverride<ITextareaControlProps>;
}
export declare const cnTextarea: import("@bem-react/classname").ClassNameFormatter;
export declare const Textarea: React.ComponentClass<ITextareaProps, any>;