norma-library
Version:
Olos/Norma-DS. Design System based on Material UI, developed with TypeScript and Styled Components to create reusable and consistent components in web applications.
45 lines (41 loc) • 1.73 kB
text/typescript
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<unknown>['type'];
hasError?: boolean;
label?: ReactNode;
children?: ReactNode;
error?: boolean;
variant?: TextFieldVariant;
helperText?: React.ReactNode;
InputLabelProps?: Partial<InputLabelProps>;
InputProps?: Partial<OutlinedInputProps>;
autoComplete?: string;
placeholder?: string;
multiline?: boolean;
rows?: string | number;
maxRows?: string | number;
minRows?: string | number;
select?: boolean;
SelectProps?: Partial<SelectProps>;
onChange?: OutlinedInputProps['onChange'];
onClick?: InputBaseProps['onClick'];
onBlur?: InputBaseProps['onBlur'];
onFocus?: StandardInputProps['onFocus'];
size?: OverridableStringUnion<TextFieldSizeVariant, TextFieldPropsSizeOverrides>;
FormHelperTextProps?: Partial<FormHelperTextProps>;
color?: OverridableStringUnion<TextFieldColorVariant, TextFieldPropsColorOverrides>;
value?: unknown;
sx?: SxProps<Theme> | undefined
}
export type TextFieldType = keyof typeof TextField;