import { FC, Ref, ReactNode, ElementType, KeyboardEventHandler, MouseEventHandler, FocusEventHandler } from 'react'; import { PressEventHandler } from 'web-platform-alpha'; import { IconProvider } from './Icon/Button-Icon'; import './Button.css'; export interface IButtonProps { /** * Дополнительный контент после `children` */ addonAfter?: ReactNode; /** * Дополнительный контент перед `children` */ addonBefore?: ReactNode; /** * Кнопка нажата */ checked?: boolean; /** * Иконка на кнопке */ icon?: IconProvider; /** * Иконка слева от текста кнопки */ iconLeft?: IconProvider; /** * Иконка справа от текста кнопки */ iconRight?: IconProvider; /** * Ссылка на корневой DOM элемент компонента */ innerRef?: Ref; /** * Стилевое оформление для визуального выделения прогресса */ progress?: boolean; /** * HTML-атрибут для рендера кнопки * @default 'button' */ as?: ElementType; /** * Текст кнопки. */ children?: ReactNode; /** * Тип кнопки. * @default 'button' */ type?: 'button' | 'submit' | 'reset'; /** * Неактивное состояние кнопки. * Состояние, при котором кнопка отображается, но недоступна для действий пользователя */ disabled?: boolean; /** * Дополнительный класс */ className?: string; /** * Уникальный id компонента */ id?: string; /** * Обработчик события onKeyDown */ onKeyDown?: KeyboardEventHandler; /** * Обработчик события `onKeyUp` */ onKeyUp?: KeyboardEventHandler; /** * Обработчик события `onMouseLeave` */ onMouseLeave?: MouseEventHandler; /** * Обработчик события `onBlur` */ onBlur?: FocusEventHandler; /** * Всплывающая подсказка */ title?: string; /** * HTML-атрибут `role` */ role?: string; /** * Обработчик события onPress */ onPress?: PressEventHandler; /** * Обработчик события onPressStartt */ onPressStart?: PressEventHandler; /** * Обработчик события onPressUp */ onPressUp?: PressEventHandler; /** * Обработчик события onPressEnd */ onPressEnd?: PressEventHandler; } export declare const cnButton: import("@bem-react/classname").ClassNameFormatter; export declare const Button: FC;