import { InputBaseComponentProps } from "@mui/material"; import { FocusEvent } from "react"; export interface InputProps { /** * debounce is true for search input's */ debounce?: boolean; disabled?: boolean; errors?: { [key: string]: string[]; }; fullWidth?: boolean; /** * MUI props input */ inputProps?: InputBaseComponentProps | undefined; /** * DOM props input */ InputProps?: object | undefined; label?: string; /** * show spinner if is loading */ loading?: boolean; /** * for textarea type */ maxRows?: number; name: string; onBlur?: (e: FocusEvent) => void; /** * normal event input and extraData (object) for filters */ onChange: (e: React.ChangeEvent, extraData?: object | null) => void; placeholder?: string; readonly?: boolean; required?: boolean; /** * Input type's */ type?: 'text' | 'number' | 'password' | 'email' | 'tel' | 'date' | 'time' | 'datetime-local' | 'textarea' | 'search' | 'url'; value?: string; multiline?: boolean; InputLabelProps?: object; }