UNPKG

@yandex/ui

Version:

Yandex UI components

75 lines (74 loc) 3.31 kB
import React, { ReactElement, ReactNode, Ref, CSSProperties, MouseEventHandler } from 'react'; import { RenderOverride } from '../lib/render-override'; import { IWithControlProps } from '../withControl/withControl'; import { IIconProps } from '../Icon/Icon'; import { ITextinputControlProps } from './Control/Textinput-Control'; import './Textinput.css'; export declare const cnTextinput: import("@bem-react/classname").ClassNameFormatter; export interface ITextinputProps extends ITextinputControlProps, IWithControlProps<HTMLInputElement> { /** * Событие, которое вызывается при нажатии на компонент */ onClick?: MouseEventHandler<HTMLElement>; /** * Событие по своему действию похоже на `onClick` и возникает в момент нажатия кнопки мыши. * `onClick` в каком-то смысле является комбинацией событий `onMouseDown` и `onMouseUp` */ onMouseDown?: MouseEventHandler<HTMLElement>; /** * Событие по своему действию противоположно событию `onMouseDown` и происходит при отпускании кнопки мыши. * Курсор должен находится в пределах HTML-элемента, к которому добавлен атрибут `onmouseup` */ onMouseUp?: MouseEventHandler<HTMLElement>; /** * Состояние фокуса на компоненте */ focused?: boolean; /** * Состояние нажатия на компоненте */ pressed?: boolean; /** * Дополнительный контент после контрола */ addonAfter?: ReactNode; /** * Дополнительный контент перед контролом */ addonBefore?: ReactNode; /** * Иконка слева от содержимого текстового поля */ iconLeft?: ReactElement<IIconProps>; /** * Иконка справа от содержимого текстового поля */ iconRight?: ReactElement<IIconProps>; /** * Ссылка на корневой DOM элемент компонента */ innerRef?: Ref<HTMLSpanElement>; /** * Пользовательские стили на корневом DOM элементе. */ style?: CSSProperties; /** * Текст-подсказка, появляющаяся после компонента. * Может иметь различное визуальное оформление в зависимости от свойства `state`. */ hint?: string; /** * Визуальное состояние компонента. * Может использоваться при проверке формы на корректность. */ state?: 'error'; /** * Всплывающая подсказка */ title?: string; /** * Переопределяет компонент `Control` */ renderControl?: RenderOverride<ITextinputControlProps>; } export declare const Textinput: React.ComponentClass<ITextinputProps, any>;