import React, { ReactNode } from 'react'; import { TextFieldPropsColorOverrides, TextFieldPropsSizeOverrides } from '@mui/material/TextField'; import { FormHelperTextProps, InputBaseProps, InputLabelProps, OutlinedInputProps, SelectProps, SxProps, Theme } from '@mui/material'; import { InputProps as StandardInputProps } from '@mui/material/Input'; import { OverridableStringUnion } from '@mui/types'; import { TextField } from '@mui/material'; import { TextFieldColorVariant, MuiTextFieldBaseProps, TextFieldSizeVariant, TextFieldVariant } from '../types'; export interface TextFieldBaseProps extends MuiTextFieldBaseProps { id?: string; name?: string; defaultValue?: string; disabled?: boolean; required?: boolean; type?: React.InputHTMLAttributes['type']; hasError?: boolean; label?: ReactNode; children?: ReactNode; error?: boolean; variant?: TextFieldVariant; helperText?: React.ReactNode; InputLabelProps?: Partial; InputProps?: Partial; autoComplete?: string; placeholder?: string; multiline?: boolean; rows?: string | number; maxRows?: string | number; minRows?: string | number; select?: boolean; SelectProps?: Partial; onChange?: OutlinedInputProps['onChange']; onClick?: InputBaseProps['onClick']; onBlur?: InputBaseProps['onBlur']; onFocus?: StandardInputProps['onFocus']; size?: OverridableStringUnion; FormHelperTextProps?: Partial; color?: OverridableStringUnion; value?: unknown; sx?: SxProps | undefined } export type TextFieldType = keyof typeof TextField;