UNPKG

@naturacosmeticos/natds-web

Version:

A collection of components from Natura Design System for React websites and webapps

70 lines (69 loc) 1.89 kB
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 {};