UNPKG

@yandex/ui

Version:

Yandex UI components

84 lines (83 loc) 3.8 kB
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>;