UNPKG

chowa

Version:

UI component library based on React

79 lines (78 loc) 2.9 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; import { OmitProps } from '../utils'; import Textarea from './textarea'; import InputNumber from './input-number'; export interface InputProps extends OmitProps<React.InputHTMLAttributes<any>, 'size' | 'defaultValue' | 'prefix'> { className?: string; style?: React.CSSProperties; size?: 'small' | 'default' | 'large'; tabIndex?: number; disabled?: boolean; placeholder?: string; addonBefore?: React.ReactNode; addonAfter?: React.ReactNode; prefix?: React.ReactNode; suffix?: React.ReactNode; prepend?: React.ReactNode; append?: React.ReactNode; onPressEnter?: (e: React.KeyboardEvent) => void; onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void; clearable?: boolean; defaultValue?: React.ReactText; value?: React.ReactText; } export interface InputState { result: React.ReactText; showClear: boolean; } declare class Input extends React.PureComponent<InputProps, InputState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; size: PropTypes.Requireable<string>; tabIndex: PropTypes.Requireable<number>; disabled: PropTypes.Requireable<boolean>; placeholder: PropTypes.Requireable<string>; addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>; addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>; prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>; suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>; append: PropTypes.Requireable<PropTypes.ReactNodeLike>; prepend: PropTypes.Requireable<PropTypes.ReactNodeLike>; onPressEnter: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; clearable: PropTypes.Requireable<boolean>; defaultValue: PropTypes.Requireable<string | number>; value: PropTypes.Requireable<string | number>; }; static defaultProps: { tabIndex: number; disabled: boolean; size: string; clearable: boolean; }; static Textarea: typeof Textarea; static Number: typeof InputNumber; private inputEle; constructor(props: InputProps); private onMouseEnterHandler; private onMouseLeaveHandler; componentDidUpdate(preProps: InputProps): void; private clearResult; private onChangeHandler; private onKeyDownHandler; focus(): void; blur(): void; renderInput(single: boolean): JSX.Element; render(): JSX.Element; } export default Input;