@naturacosmeticos/natds-web
Version:
A collection of components from Natura Design System for React websites and webapps
70 lines (69 loc) • 1.89 kB
TypeScript
import { InputProps } from '@material-ui/core/Input';
import { TextFieldSizes } from '../TextField/TextField.props';
export declare type Mask = Array<string | RegExp>;
export declare type MaskFn = () => Mask | void;
export declare type State = 'error' | 'success' | undefined;
declare type OmittedProps = 'classes' | 'inputComponent';
export interface IInputProps extends Omit<InputProps, OmittedProps> {
/**
* @optional
* @type string
*/
className?: InputProps['className'];
/**
* If `true`, the `input` or `textarea` element will be disabled.
*
* @optional
* @type bool
*/
disabled?: InputProps['disabled'];
/**
* If `true`, input will receive a padding-right equivalent to `large` spacing token
*
* @optional
* @type bool
*/
hasIcon?: boolean;
/**
* The component used for the `input` element.
* Either a string to use a HTML element or a component.
*
* @optional
*/
inputComponent?: InputProps['inputComponent'];
/**
* If `dense`, will adjust vertical spacing.
*
* This is normally obtained via context from `FormControl`.
* The `normal` value is not supported.
*
* @type "dense" | "none"
*/
margin?: InputProps['margin'];
/**
* Mask format. Based on [React Input Mask](https://github.com/sanniassin/react-input-mask)
*
* @optional
* @see https://github.com/sanniassin/react-input-mask
*/
mask?: Mask | MaskFn;
/**
* If `true`, a textarea element will be rendered.
*
* @default false
* @optional
* @type bool
*/
multiline?: InputProps['multiline'];
/**
* @optional
* @type "error" | "success"
*/
state?: State;
/**
* The height of input field
* @default mediumX
*/
size?: TextFieldSizes;
}
export {};