import * as React from 'react'; import { StandardProps } from '..'; export interface InputBaseProps extends StandardProps< React.HTMLAttributes, InputBaseClassKey, 'onChange' | 'onKeyUp' | 'onKeyDown' | 'defaultValue' > { autoComplete?: string; autoFocus?: boolean; defaultValue?: Array | string | number | boolean | object; disabled?: boolean; endAdornment?: React.ReactNode; error?: boolean; fullWidth?: boolean; id?: string; inputComponent?: React.ReactType; inputProps?: InputBaseComponentProps; inputRef?: React.Ref | React.RefObject; margin?: 'dense' | 'none'; multiline?: boolean; name?: string; placeholder?: string; readOnly?: boolean; required?: boolean; renderPrefix?: (state: { disabled?: boolean; error?: boolean; filled?: boolean; focused?: boolean; margin?: 'dense' | 'none' | 'normal'; required?: boolean; startAdornment?: React.ReactNode; }) => React.ReactNode; rows?: string | number; rowsMax?: string | number; startAdornment?: React.ReactNode; type?: string; value?: Array | string | number | boolean | object; onFilled?: () => void; /** * `onChange`, `onKeyUp` + `onKeyDown` are applied to the inner `InputComponent`, * which by default is an input or textarea. Since these handlers differ from the * ones inherited by `React.HTMLAttributes` we need to omit them. * * Note that `blur` and `focus` event handler are applied to the outer `
`. * So these can just be inherited from the native `
`. */ onChange?: React.ChangeEventHandler; onKeyDown?: React.KeyboardEventHandler; onKeyUp?: React.KeyboardEventHandler; } export interface InputBaseComponentProps extends React.HTMLAttributes { // Accommodate arbitrary additional props coming from the `inputProps` prop [arbitrary: string]: any; } export type InputBaseClassKey = | 'root' | 'formControl' | 'focused' | 'disabled' | 'error' | 'multiline' | 'fullWidth' | 'input' | 'inputMarginDense' | 'inputDisabled' | 'inputMultiline' | 'inputType' | 'inputTypeSearch'; declare const InputBase: React.ComponentType; export default InputBase;