UNPKG

@yandex/ui

Version:

Yandex UI components

89 lines (88 loc) 4.38 kB
import React, { Ref, FocusEventHandler, MouseEventHandler, ReactNode } from 'react'; import { Omit } from '../typings/utility-types'; import { IWithControlProps } from '../withControl/withControl'; import { IWithControlProps as IWithControlDesktopProps } from '../withControl/withControl@desktop'; import { ICheckboxControlProps } from './Control/Checkbox-Control'; import './Checkbox.css'; export declare const cnCheckbox: import("@bem-react/classname").ClassNameFormatter; export declare type CheckboxControlProps = Omit<ICheckboxControlProps, 'size'>; export interface ICheckboxProps extends IWithControlProps<HTMLInputElement>, IWithControlDesktopProps<HTMLInputElement>, CheckboxControlProps { /** * Событие, которое вызывается при потере фокуса компонентом. Например, при клике на другом месте экрана */ onBlur?: FocusEventHandler<HTMLElement>; /** * Событие, которое вызывается при нажатии на компонент */ onClick?: MouseEventHandler<HTMLElement>; /** * Событие, которое возникает при получении компонентом фокуса */ onFocus?: FocusEventHandler<HTMLElement>; /** * Событие по своему действию похоже на `onClick` и возникает в момент нажатия кнопки мыши. * `onClick` в каком-то смысле является комбинацией событий `onMouseDown` и `onMouseUp` */ onMouseDown?: MouseEventHandler<HTMLElement>; /** * Событие по своему действию противоположно событию `onMouseDown` и происходит при отпускании кнопки мыши. * Курсор должен находится в пределах HTML-элемента, к которому добавлен атрибут `onmouseup` */ onMouseUp?: MouseEventHandler<HTMLElement>; /** * Обработчик события `onMouseLeave` */ onMouseLeave?: MouseEventHandler<HTMLElement>; /** * Обработчик события `onMouseEnter` */ onMouseEnter?: MouseEventHandler<HTMLElement>; /** * Состояние фокуса на компоненте */ focused?: boolean; /** * Неактивное состояние компонента. * Состояние, при котором компонент отображается, но недоступен для действий пользователя */ disabled?: boolean; /** * Состояние нажатия на компоненте */ pressed?: boolean; /** * Состояние, которое возникает при наведении на компонент курсором */ hovered?: boolean; /** * Ссылка на корневой DOM-элемент компонента */ innerRef?: Ref<HTMLElement>; /** * Текст подписи к чекбоксу */ label?: ReactNode; /** * Визуально переводит чекбокс в неопределенное состояние. Не влияет на состояние, указанное в `checked`. * * Может использоваться в дереве чекбоксов, чтобы показать состояние родительского чекбокса, * когда хотя бы один вложенный чекбокс отмечен, но не все. * * Если свойство задано родительскому чекбоксу, * то в `aria-controls` необходимо добавить `id` всех вложенных чекбоксов */ indeterminate?: boolean; /** * Состояние переключателя: включен или выключен */ checked?: boolean; /** * Всплывающая подсказка */ title?: string; /** * Устанавливает фокус в компонент при монтировании */ autoFocus?: boolean; } export declare const Checkbox: React.ComponentClass<ICheckboxProps, any>;