import type { CSSProperties, HTMLAttributes, LabelHTMLAttributes, ReactNode, Ref } from 'react';
import type { WithTestId } from '../types';
export type FieldBlockSize = 's' | 'm' | 'l';
type NoChildren = Omit;
export interface FieldBlockStyle extends CSSProperties {
'--field-width'?: string;
'--field-main-text-color'?: string;
}
type WithStyle = Omit & {
style?: FieldBlockStyle;
};
export interface FieldBlockProps extends WithTestId {
/** Отключенное состояние. */
disabled?: boolean;
/** Состояние с ошибкой. */
failed?: boolean;
/** Состояние фокуса. */
focused?: boolean;
/** Подпись под полем. */
caption?: string;
/** Ярлык в поле. */
label?: string;
/** Выводить ярлык вместо placeholder или введенного значения. */
labelAsPlaceholder?: boolean;
/** Опции элемента ярлыка. */
labelProps?: NoChildren>;
/** Размер. */
size?: FieldBlockSize;
/** Фиксировать высоту. */
fixedHeight?: boolean;
/** Опции корневого элемента. */
rootProps?: NoChildren>>;
/** Ref корневого элемента. */
rootRef?: Ref;
/** Опции элемента блока поля. */
blockProps?: NoChildren>>;
/** Ref элемента блока поля. */
blockRef?: Ref;
/** Украшение перед основным содержимым. */
adornmentStart?: ReactNode;
/** Украшение после основного содержимого. */
adornmentEnd?: ReactNode;
/** Основное содержимое. */
main?: ReactNode;
/** Опции основного содержимого. */
mainProps?: NoChildren>>;
}
export {};