export interface IFormElement extends AriaAttributes { ["data-testid"]?: string; className?: string; disabled?: boolean; disabledReason?: string; error?: string; help?: string; inline?: boolean; label?: string; labelClassName?: string; name: string; onBlur?: (event: React.ChangeEvent) => void; readOnly?: boolean; required?: boolean; escapeHelpContent?: boolean; } export interface IInputProps extends IFormElement { autoComplete?: boolean; autoFocus?: boolean; inputAppend?: React.ReactNode; inputPrepend?: React.ReactNode; onChange: (value: string) => void; placeholder?: string; type: "text" | "password" | "time"; value: string; toggleVisibility?: boolean; inputGroupClassName?: string; formGroupClassName?: string; onKeyUp: (event: React.KeyboardEvent) => void; } export interface IFileProps extends IFormElement { fileLabel: string; onChange: (event: React.ChangeEvent) => void; placeholder?: string; value: string; } export interface ITextAreaProps extends IFormElement { autoFocus?: boolean; rows?: number; placeholder?: string; value: string; onChange: (value: string) => void; onKeyUp: (event: React.KeyboardEvent) => void; } export interface ICheckboxProps extends IFormElement { checked?: boolean; formClassName?: string; onChange: (value: boolean) => void; } export interface IFormTagsProps { name?: string; className?: string; escapeContent?: boolean; ["data-testid"]?: string; } export interface IRangeProps extends IFormElement { showNumber?: string; min?: string; max?: string; step?: string; label?: string; onChange: (value: string) => void; value: string; name: string; numberClassName?: string; showDiapason?: boolean; }