@yandex/ui
Version:
Yandex UI components
91 lines (90 loc) • 3.61 kB
TypeScript
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>;