import * as React from 'react'; import type { Elevation, HasAlign } from '../../types'; import { type TappableOmitProps } from '../Tappable/Tappable'; import '../Tappable/Tappable.module.css'; import '../Spinner/Spinner.module.css'; export interface VKUIButtonProps extends HasAlign { /** * Режим отображения кнопки. */ mode?: 'primary' | 'secondary' | 'tertiary' | 'outline' | 'link' | undefined; /** * Цветовая схема кнопки. */ appearance?: 'accent' | 'positive' | 'negative' | 'neutral' | 'overlay' | 'accent-invariable' | undefined; /** * Размер кнопки. */ size?: 's' | 'm' | 'l' | undefined; /** * Растягивает кнопку на всю ширину контейнера. */ stretched?: boolean | undefined; /** * Контент, отображаемый перед основным содержимым кнопки. */ before?: React.ReactNode | undefined; /** * Контент, отображаемый после основного содержимого кнопки. */ after?: React.ReactNode | undefined; /** * Включает состояние загрузки (отображает спиннер). * * ⚠️ **Важно для доступности**: При использовании `loading={true}` компонент автоматически * устанавливает `aria-label` в значение `loadingLabel` (по умолчанию "Загрузка..."), * чтобы скринридер мог объявить контекст загрузки. Вы можете переопределить это значение, * передав свойство `loadingLabel`. * * @example * * // Скринридер объявит: "Загрузка..., кнопка" * * @example * */ loading?: boolean | undefined; /** * Текст для `aria-label` при состоянии загрузки. * Подменяет переданный в компонент `aria-label` только когда `loading={true}`. */ loadingLabel?: string | undefined; /** * Отключает анимацию спиннера загрузки. */ disableSpinnerAnimation?: boolean | undefined; /** * Добавляет скругленные углы кнопке. */ rounded?: boolean | undefined; /** * Добавляет тень кнопке. */ elevation?: Elevation | undefined; } export interface ButtonProps extends Omit, VKUIButtonProps { } /** * @see https://vkui.io/components/button */ export declare const Button: ({ size, mode, appearance, stretched, align, children, before, after, getRootRef, loading, loadingLabel, onClick, disableSpinnerAnimation, rounded, disabled, href, "aria-label": ariaLabelProp, elevation, ...restProps }: ButtonProps) => React.ReactNode; //# sourceMappingURL=Button.d.ts.map