UNPKG

choerodon-ui

Version:

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

133 lines (132 loc) 5.06 kB
import React, { ChangeEventHandler, Component, CSSProperties, FormEventHandler, ReactNode } from 'react'; import PropTypes from 'prop-types'; import Group from './Group'; import Search from './Search'; import TextArea from './TextArea'; import { Size } from '../_util/enum'; import { ConfigContextValue } from '../config-provider/ConfigContext'; export interface AbstractInputProps { prefixCls?: string; className?: string; defaultValue?: any; value?: any; tabIndex?: number; style?: CSSProperties; label?: ReactNode; showLengthInfo?: boolean; showPasswordEye?: boolean; } export interface InputProps extends AbstractInputProps { placeholder?: string; copy?: boolean; type?: string; id?: string; name?: string; size?: Size; maxLength?: number; disabled?: boolean; readOnly?: boolean; addonBefore?: ReactNode; addonAfter?: ReactNode; onPressEnter?: FormEventHandler<HTMLInputElement>; onKeyDown?: FormEventHandler<HTMLInputElement>; onKeyUp?: FormEventHandler<HTMLInputElement>; onChange?: ChangeEventHandler<HTMLInputElement>; onClick?: FormEventHandler<HTMLInputElement>; onFocus?: FormEventHandler<HTMLInputElement>; onBlur?: FormEventHandler<HTMLInputElement>; onInput?: FormEventHandler<HTMLInputElement>; onCopy?: (value: any) => void; autoComplete?: string; prefix?: ReactNode; suffix?: ReactNode; spellCheck?: boolean; autoFocus?: boolean; focused?: boolean; border?: boolean; } export interface InputState { value?: any; focused?: boolean; showPasswordEye?: boolean; showPassword?: boolean; } export default class Input extends Component<InputProps, any> { static displayName: string; static get contextType(): React.Context<ConfigContextValue>; static Group: typeof Group; static Search: typeof Search; static TextArea: typeof TextArea; static defaultProps: { type: string; disabled: boolean; readOnly: boolean; showLengthInfo: boolean; showPasswordEye: boolean; border: boolean; }; static propTypes: { type: PropTypes.Requireable<string>; id: PropTypes.Requireable<string | number>; label: PropTypes.Requireable<PropTypes.ReactNodeLike>; size: PropTypes.Requireable<Size>; 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>; readOnly: PropTypes.Requireable<boolean>; focused: PropTypes.Requireable<boolean>; border: PropTypes.Requireable<boolean>; showLengthInfo: PropTypes.Requireable<boolean>; showPasswordEye: PropTypes.Requireable<boolean>; }; context: ConfigContextValue; state: InputState; input: HTMLInputElement; rendered: HTMLDivElement; prefix: HTMLSpanElement; suffix: HTMLSpanElement; constructor(props: any, context: ConfigContextValue); handleKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void; componentDidMount(): void; componentWillReceiveProps(nextProps: InputProps): void; componentDidUpdate(): void; setRenderedStyle(): void; handleFocus: (e: React.FocusEvent<HTMLInputElement>) => void; handleBlur: (e: React.FocusEvent<HTMLInputElement>) => void; handleChange: (e: any) => void; handleCopy: () => void; handleTogglePassword: () => void; saveInput: (node: HTMLInputElement) => void; saveRenderedRef: (node: HTMLDivElement) => void; savePrefix: (node: HTMLSpanElement) => void; saveSuffix: (node: HTMLSpanElement) => void; focus(): void; blur(): void; getPrefixCls(): string; getInputClassName(): string; renderCopyIcon(): JSX.Element | null; renderShowPassword(): JSX.Element | null; renderInput(): JSX.Element; getLengthInfo(): JSX.Element | null; getLabel(): {} | null | undefined; renderFloatLabel(): ReactNode; getSizeClassName(name: string): string; hasValue(): boolean; renderPlaceholder(): JSX.Element | undefined; render(): JSX.Element; }