import { Field, FieldConfig, FieldError, IField } from '../common'; export interface TextFieldConfig extends FieldConfig { type: 'text'; characterType?: { enable: boolean; number?: boolean; uppercase?: boolean; lowercase?: boolean; cjk?: boolean; underline?: boolean; hyphen?: boolean; }; maxLength?: number; minLength?: number; cjkLength?: number; placeholder?: string; regExp?: { expression?: string; message?: string; }; } export interface ITextField { value: string; disabled?: boolean; readonly?: boolean; placeholder?: string; onChange: (value: string) => Promise; } export default class TextField extends Field implements IField { reset: () => Promise; validate: (value: string) => Promise; renderComponent: (props: ITextField) => JSX.Element; render: () => JSX.Element; }