import React from 'react'; import PropTypes from 'prop-types'; import Base from './base'; import type { TextAreaProps } from './types'; /** * Input.TextArea * @order 2 */ export default class TextArea extends Base { static displayName: string; static getDerivedStateFromProps: (nextProps: import("./types").BaseProps, prevState: import("./types").BaseState) => { value: string | number; } | null; static propTypes: { hasBorder: PropTypes.Requireable; state: PropTypes.Requireable; autoHeight: PropTypes.Requireable>; rows: PropTypes.Requireable; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable; value: PropTypes.Requireable>; defaultValue: PropTypes.Requireable>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; disabled: PropTypes.Requireable; maxLength: PropTypes.Requireable; showLimitHint: PropTypes.Requireable; cutString: PropTypes.Requireable; readOnly: PropTypes.Requireable; trim: PropTypes.Requireable; placeholder: PropTypes.Requireable; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; getValueLength: PropTypes.Requireable<(...args: any[]) => any>; inputStyle: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; htmlType: PropTypes.Requireable; name: PropTypes.Requireable; rtl: PropTypes.Requireable; size: PropTypes.Requireable; composition: PropTypes.Requireable; onCompositionStart: PropTypes.Requireable<(...args: any[]) => any>; onCompositionEnd: PropTypes.Requireable<(...args: any[]) => any>; prefix: PropTypes.Requireable; defaultPropsConfig: PropTypes.Requireable; errorBoundary: PropTypes.Requireable>; pure: PropTypes.Requireable; warning: PropTypes.Requireable; device: PropTypes.Requireable; children: PropTypes.Requireable; popupContainer: PropTypes.Requireable; }; static defaultProps: TextAreaProps; helpRef: HTMLTextAreaElement; nextFrameActionId: number; constructor(props: TextAreaProps); componentDidMount(): void; componentDidUpdate(prevProps: TextAreaProps): void; _getMinMaxHeight({ minRows, maxRows }: { minRows?: string | number; maxRows?: string | number; }, value?: string | number | null): { minHeight?: undefined; maxHeight?: undefined; height?: undefined; overflowY?: undefined; } | { minHeight: number; maxHeight: number; height: number; overflowY: "hidden" | undefined; }; _getHeight(value: string | number): number; _resizeTextArea: (value: string | number) => void; ieHack(value: string | number): string | number; /** * value.length !== maxLength in ie/safari(mac) while value has `Enter` * about maxLength compute: `Enter` was considered to be one char(\\n) in chrome , but two chars(\\r\\n) in ie/safari(mac). * so while value has `Enter`, we should let display length + 1 */ getValueLength(value: string): number; saveTextAreaRef(textArea: HTMLTextAreaElement): void; saveHelpRef(ref: HTMLTextAreaElement): void; renderClear(): React.JSX.Element | null; renderControl(): React.JSX.Element | null; render(): React.JSX.Element; }