import type { CSSProperties, InputHTMLAttributes, MouseEventHandler } from 'react';
import type { WithTestId } from '../types';
/** Размер Stepper (влияет на высоту и минимальную ширину). */
export type StepperSize = 'xs' | 's' | 'm';
/** Стили Stepper. */
export interface StepperStyle extends CSSProperties {
/** Ширина. */
'--stepper-width'?: string;
}
export interface StepperProps extends Omit, 'size' | 'style'>, WithTestId {
/** Нужно ли выводить кнопку добавления. */
canAdd?: boolean;
/** Нужно ли выводить кнопку вычитания. */
canSubtract?: boolean;
/** Делает кнопку "+" отключенной. */
plusDisabled?: boolean;
/** Делает кнопку "-" отключенной. */
minusDisabled?: boolean;
/** Нужно ли предотвращать blur на поле при нажатии "+/-". */
buttonClickBehavior?: 'prevent-input-blur';
/** Сработает при добавлении. */
onAdd?: MouseEventHandler;
/** Сработает при вычитании. */
onSubtract?: MouseEventHandler;
/** Размер. */
size?: StepperSize;
/** Стили корневого элемента. */
style?: StepperStyle;
/** Нужно ли показывать состояние ошибки. */
failed?: boolean;
}