UNPKG

@yandex/ui

Version:

Yandex UI components

91 lines (90 loc) 3.61 kB
import { FC, ChangeEventHandler, RefObject, MouseEventHandler, KeyboardEventHandler, ReactNode, FocusEventHandler } from 'react'; import './Tumbler.css'; export declare const CHECKED_KEYS: number[]; export declare const UNCHECKED_KEYS: number[]; export declare type TumblerProps = { /** * Состояние переключателя */ checked: boolean; /** * Дополнительный класс у корневого DOM-элемента */ className?: string; /** * Ссылка на нативный DOM-элемент нативного инпута */ controlRef?: RefObject<HTMLInputElement>; /** * Неактивное состояние переключателя */ disabled?: boolean; /** * Уникальный id компонента */ id?: string; /** * Ссылка на корневой DOM-элемент компонента */ innerRef?: RefObject<HTMLSpanElement>; /** * Подпись после переключателя */ labelAfter?: ReactNode; /** * Подпись перед переключателем */ labelBefore?: ReactNode; /** * Имя переключателя в форме */ name?: string; /** * Обработчик, который вызывается при потере фокуса переключателем */ onBlur?: FocusEventHandler<HTMLButtonElement>; /** * Обработчик, который вызывается при изменении состояния */ onChange: ChangeEventHandler<HTMLInputElement>; /** * Обработчик, который вызывается при нажатии на переключатель */ onClick?: MouseEventHandler<HTMLButtonElement>; /** * Обработчик, который вызывается при получении фокуса переключателем */ onFocus?: FocusEventHandler<HTMLButtonElement>; /** * Обработчик, который вызывается при нажатии клавиши на клавиатуре (при этом переключатель должен быть в фокусе) */ onKeyDown?: KeyboardEventHandler<HTMLButtonElement>; /** * Обработчик, который вызывается при отжатии клавиши на клавиатуре (при этом переключатель должен быть в фокусе) */ onKeyUp?: KeyboardEventHandler<HTMLButtonElement>; /** * Целое число, определяющее должен ли переключатель участвовать * в последовательной навигации по всей странице с помощью клавиатуры */ tabIndex?: number; /** * Всплывающая подсказка */ title?: string; /** * Устанавливает фокус в компонент при монтировании */ autoFocus?: boolean; /** * Устанавливает в компоненте обязательное состояние */ required?: boolean; }; export declare const cnTumbler: import("@bem-react/classname").ClassNameFormatter; /** * Компонент, предназначенный для создания переключателя. * * @param {TumblerProps} props Свойства компонента. */ export declare const Tumbler: FC<TumblerProps>;