chowa
Version:
UI component library based on React
79 lines (78 loc) • 2.9 kB
TypeScript
/**
* @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;