UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

90 lines (89 loc) 4.08 kB
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<TextAreaProps> { static displayName: string; static getDerivedStateFromProps: (nextProps: import("./types").BaseProps, prevState: import("./types").BaseState) => { value: string | number; } | null; static propTypes: { hasBorder: PropTypes.Requireable<boolean>; state: PropTypes.Requireable<string>; autoHeight: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>; rows: PropTypes.Requireable<number>; isPreview: PropTypes.Requireable<boolean>; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable<object>; value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; defaultValue: PropTypes.Requireable<NonNullable<string | number | null | undefined>>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; disabled: PropTypes.Requireable<boolean>; maxLength: PropTypes.Requireable<number>; showLimitHint: PropTypes.Requireable<boolean>; cutString: PropTypes.Requireable<boolean>; readOnly: PropTypes.Requireable<boolean>; trim: PropTypes.Requireable<boolean>; placeholder: PropTypes.Requireable<string>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; getValueLength: PropTypes.Requireable<(...args: any[]) => any>; inputStyle: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; htmlType: PropTypes.Requireable<string>; name: PropTypes.Requireable<string>; rtl: PropTypes.Requireable<boolean>; size: PropTypes.Requireable<string>; composition: PropTypes.Requireable<boolean>; onCompositionStart: PropTypes.Requireable<(...args: any[]) => any>; onCompositionEnd: PropTypes.Requireable<(...args: any[]) => any>; prefix: PropTypes.Requireable<string>; defaultPropsConfig: PropTypes.Requireable<object>; errorBoundary: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>; pure: PropTypes.Requireable<boolean>; warning: PropTypes.Requireable<boolean>; device: PropTypes.Requireable<string>; children: PropTypes.Requireable<any>; popupContainer: PropTypes.Requireable<any>; }; 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; }