///
import * as React from 'react';
import PropTypes from 'prop-types';
import Group from './Group';
import Search from './Search';
import TextArea from './TextArea';
export interface AbstractInputProps {
prefixCls?: string;
className?: string;
defaultValue?: any;
value?: any;
tabIndex?: number;
style?: React.CSSProperties;
label?: React.ReactNode;
underline?: boolean;
showLengthInfo?: boolean;
showPasswordEye?: boolean;
}
export interface InputProps extends AbstractInputProps {
placeholder?: string;
copy?: boolean;
type?: string;
id?: number | string;
name?: string;
size?: 'large' | 'default' | 'small';
maxLength?: number | string;
disabled?: boolean;
readOnly?: boolean;
addonBefore?: React.ReactNode;
addonAfter?: React.ReactNode;
onPressEnter?: React.FormEventHandler;
onKeyDown?: React.FormEventHandler;
onKeyUp?: React.FormEventHandler;
onChange?: React.ChangeEventHandler;
onClick?: React.FormEventHandler;
onFocus?: React.FormEventHandler;
onBlur?: React.FormEventHandler;
onCopy?: (value: any) => void;
autoComplete?: string;
prefix?: React.ReactNode;
suffix?: React.ReactNode;
spellCheck?: boolean;
autoFocus?: boolean;
focused?: boolean;
}
export interface InputState {
inputLength?: number;
focused?: boolean;
renderedStyle?: {};
showLengthInfo?: boolean;
showPasswordEye?: boolean;
type?: string;
showPassword?: boolean;
}
export default class Input extends React.Component {
static Group: typeof Group;
static Search: typeof Search;
static TextArea: typeof TextArea;
static defaultProps: {
prefixCls: string;
type: string;
disabled: boolean;
underline: boolean;
readOnly: boolean;
showLengthInfo: boolean;
showPasswordEye: boolean;
};
static propTypes: {
type: PropTypes.Requireable;
id: PropTypes.Requireable;
label: PropTypes.Requireable;
size: PropTypes.Requireable;
maxLength: PropTypes.Requireable;
disabled: PropTypes.Requireable;
value: PropTypes.Requireable;
defaultValue: PropTypes.Requireable;
className: PropTypes.Requireable;
addonBefore: PropTypes.Requireable;
addonAfter: PropTypes.Requireable;
prefixCls: PropTypes.Requireable;
autosize: PropTypes.Requireable;
onPressEnter: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
prefix: PropTypes.Requireable;
suffix: PropTypes.Requireable;
copy: PropTypes.Requireable;
onCopy: PropTypes.Requireable<(...args: any[]) => any>;
underline: PropTypes.Requireable;
readOnly: PropTypes.Requireable;
focused: PropTypes.Requireable;
showLengthInfo: PropTypes.Requireable;
showPasswordEye: PropTypes.Requireable;
};
state: InputState;
input: HTMLInputElement;
handleKeyDown: (e: React.KeyboardEvent) => void;
componentDidMount(): void;
componentWillReceiveProps(nextProps: InputProps): void;
componentDidUpdate(): void;
setRenderedStyle(): void;
handleFocus: (e: React.FocusEvent) => void;
handleInput: () => void;
handleBlur: (e: React.FocusEvent) => void;
handleCopy: () => void;
handleShowPassword: () => void;
handleHidePassword: () => void;
focus(): void;
blur(): void;
getInputClassName(): any;
saveInput: (node: HTMLInputElement) => void;
renderCopyIcon(): JSX.Element | null;
renderShowPassword(): JSX.Element | null;
renderInput(): JSX.Element;
getLengthInfo(): JSX.Element | null;
getUnderLine(): JSX.Element | null;
getSizeClassName(name: string): any;
render(): JSX.Element;
}