UNPKG

yqcloud-ui

Version:

An enterprise-class UI design language and React-based implementation

122 lines (121 loc) 4.56 kB
/// <reference types="react" /> 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<HTMLInputElement>; onKeyDown?: React.FormEventHandler<HTMLInputElement>; onKeyUp?: React.FormEventHandler<HTMLInputElement>; onChange?: React.ChangeEventHandler<HTMLInputElement>; onClick?: React.FormEventHandler<HTMLInputElement>; onFocus?: React.FormEventHandler<HTMLInputElement>; onBlur?: React.FormEventHandler<HTMLInputElement>; 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<InputProps, any> { 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<string>; id: PropTypes.Requireable<string | number>; label: PropTypes.Requireable<PropTypes.ReactNodeLike>; size: PropTypes.Requireable<string>; maxLength: PropTypes.Requireable<string | number>; disabled: PropTypes.Requireable<boolean>; value: PropTypes.Requireable<any>; defaultValue: PropTypes.Requireable<any>; className: PropTypes.Requireable<string>; addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>; addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>; prefixCls: PropTypes.Requireable<string>; autosize: PropTypes.Requireable<boolean | object>; 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<PropTypes.ReactNodeLike>; suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>; copy: PropTypes.Requireable<boolean>; onCopy: PropTypes.Requireable<(...args: any[]) => any>; underline: PropTypes.Requireable<boolean>; readOnly: PropTypes.Requireable<boolean>; focused: PropTypes.Requireable<boolean>; showLengthInfo: PropTypes.Requireable<boolean>; showPasswordEye: PropTypes.Requireable<boolean>; }; state: InputState; input: HTMLInputElement; handleKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void; componentDidMount(): void; componentWillReceiveProps(nextProps: InputProps): void; componentDidUpdate(): void; setRenderedStyle(): void; handleFocus: (e: React.FocusEvent<HTMLInputElement>) => void; handleInput: () => void; handleBlur: (e: React.FocusEvent<HTMLInputElement>) => 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; }