magner
Version:
Universal admin panel magnetic to any backend
30 lines (29 loc) • 1.23 kB
TypeScript
import type { BaseField, BaseProps } from '../base';
import type { TranslateData } from '../../../utils/core/translate';
export interface TextareaProps<ENTITY extends {}> extends BaseProps<ENTITY> {
placeholder?: TranslateData;
/** An amount of milliseconds (put 400 for the best UX) of the delay for the 'update:modelValue' event of
* the FormInput component to shoot after user typing finishes */
inputDelay?: number;
/** Number of rows of textarea. Default is 2 */
rows?: number;
/** Whether textarea has an adaptive height. Can accept an object, e.g. { minRows: 2, maxRows: 6 } */
autosize?: boolean | {
minRows?: number;
maxRows?: number;
};
/** Control the resizeability */
resize?: 'none' | 'horizontal' | 'vertical' | 'both';
/** Whether to show the letter count in form of '5/30' if 'maxLength: 30' */
showLetterLimit?: boolean;
maxLength?: number;
minLength?: number;
/** Whether to show clear button */
clearable?: boolean;
autofocus?: boolean;
autocomplete?: 'off' | 'on' | string;
}
export interface TextareaField<ENTITY extends {}> extends BaseField<ENTITY> {
type: 'textarea';
props: TextareaProps<ENTITY>;
}