1 | import React, { Component, CSSProperties, FormEventHandler, ReactNode, TextareaHTMLAttributes } from 'react';
|
2 | import { AbstractInputProps } from './Input';
|
3 | export interface AutoSizeType {
|
4 | minRows?: number;
|
5 | maxRows?: number;
|
6 | }
|
7 | export interface TextAreaProps extends AbstractInputProps {
|
8 | autosize?: boolean | AutoSizeType;
|
9 | onPressEnter?: FormEventHandler<any>;
|
10 | autoFocus?: boolean;
|
11 | border?: boolean;
|
12 | }
|
13 | export interface TextAreaState {
|
14 | textareaStyles?: CSSProperties;
|
15 | inputLength?: number;
|
16 | focused?: boolean;
|
17 | }
|
18 | export declare type HTMLTextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement>;
|
19 | export default class TextArea extends Component<TextAreaProps & HTMLTextareaProps, TextAreaState> {
|
20 | static displayName: string;
|
21 | static defaultProps: {
|
22 | showLengthInfo: boolean;
|
23 | border: boolean;
|
24 | };
|
25 | nextFrameActionId: number;
|
26 | state: {
|
27 | textareaStyles: {};
|
28 | inputLength: number;
|
29 | focused: boolean;
|
30 | };
|
31 | private textAreaRef;
|
32 | componentDidMount(): void;
|
33 | componentWillReceiveProps(nextProps: TextAreaProps): void;
|
34 | focus(): void;
|
35 | blur(): void;
|
36 | resizeTextarea: () => void;
|
37 | getPrefixCls(): string;
|
38 | getTextAreaClassName(): string;
|
39 | handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
40 | handleKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
41 | handleInput: () => void;
|
42 | saveTextAreaRef: (textArea: HTMLTextAreaElement) => void;
|
43 | getWrapperClassName(): string;
|
44 | handleFocus: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
|
45 | handleBlur: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
|
46 | getLengthInfo(): JSX.Element | null;
|
47 | getLabel(): {} | null | undefined;
|
48 | renderFloatLabel(): ReactNode;
|
49 | render(): JSX.Element;
|
50 | }
|