@material-ui/core
Version:
React components that implement Google's Material Design.
82 lines (76 loc) • 2.41 kB
TypeScript
import * as React from 'react';
import { StandardProps } from '..';
export interface InputBaseProps
extends StandardProps<
React.HTMLAttributes<HTMLDivElement>,
InputBaseClassKey,
'onChange' | 'onKeyUp' | 'onKeyDown' | 'defaultValue'
> {
autoComplete?: string;
autoFocus?: boolean;
defaultValue?: unknown;
disabled?: boolean;
endAdornment?: React.ReactNode;
error?: boolean;
fullWidth?: boolean;
id?: string;
inputComponent?: React.ElementType<InputBaseComponentProps>;
inputProps?: InputBaseComponentProps;
inputRef?: React.Ref<any> | React.RefObject<any>;
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?: unknown;
/**
* `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<HTMLDivElement>` we need to omit them.
*
* Note that `blur` and `focus` event handler are applied to the outer `<div>`.
* So these can just be inherited from the native `<div>`.
*/
onChange?: React.ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;
onKeyDown?: React.KeyboardEventHandler<HTMLTextAreaElement | HTMLInputElement>;
onKeyUp?: React.KeyboardEventHandler<HTMLTextAreaElement | HTMLInputElement>;
}
export interface InputBaseComponentProps
extends React.HTMLAttributes<HTMLInputElement | HTMLTextAreaElement> {
// Accommodate arbitrary additional props coming from the `inputProps` prop
[arbitrary: string]: any;
}
export type InputBaseClassKey =
| 'root'
| 'formControl'
| 'focused'
| 'disabled'
| 'adornedEnd'
| 'adornedStart'
| 'error'
| 'marginDense'
| 'multiline'
| 'fullWidth'
| 'input'
| 'inputMarginDense'
| 'inputMultiline'
| 'inputTypeSearch'
| 'inputAdornedStart'
| 'inputAdornedEnd'
| 'inputHiddenLabel';
declare const InputBase: React.ComponentType<InputBaseProps>;
export default InputBase;