import { type ReactNode } from 'react'; import { type ChildrenProps, type PasswordToggleAdornmentProp, type RequiredProps, type SizesDictionaryType, type TextInputProps } from './shared'; import { type TextAreaProps } from './textArea'; import { type TextFieldProps } from './textField'; export interface TextFieldBaseMultiLineProps { isMultiline?: boolean; } export type TextFieldBaseProps = ChildrenProps & TextFieldBaseMultiLineProps & (TextFieldProps | TextAreaProps); export type SpiritTextFieldBaseProps = { label: ReactNode; } & TextFieldBaseProps; export type TextFieldBaseSizeType = SizesDictionaryType; export type TextFieldBaseInputProps = TextInputProps & TextFieldBaseMultiLineProps; export interface SpiritTextFieldBaseInputProps extends RequiredProps, TextFieldBaseInputProps { } export interface PasswordToggleProps { isDisabled?: boolean; isPasswordShown: boolean; onToggleClick: () => void; size?: TextFieldBaseSizeType; } export interface TextFieldBasePasswordToggleProps extends ChildrenProps, SpiritTextFieldBaseInputProps, PasswordToggleAdornmentProp { size?: TextFieldBaseSizeType; } export interface SpiritTextFieldBasePasswordToggleProps extends TextFieldBasePasswordToggleProps, PasswordToggleProps { }