import { type FormChildProps } from '../../../composables/useFormChild'; import { type Placement } from '@floating-ui/vue'; export interface FmTextFieldProps extends FormChildProps { placeholder?: string; minLength?: number; maxLength?: number; /** To display virtual keyboard */ inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url' | 'password'; type?: 'text' | 'password' | 'email' | 'tel' | 'number'; readonly?: boolean; labelMark?: 'required' | 'optional' | 'none'; prependIcon?: string; appendIcon?: string; showValidBorder?: boolean; labelInfo?: string; showWordCount?: boolean; invalid?: boolean; autofocus?: boolean; /** * @description * Allow user to format the value before updating the model */ formatter?: (value: string) => string; /** * @description * Treat it as the step attribute for number input */ decimal?: number; datalist?: string[]; shiftDatalist?: boolean; datalistMaxHeight?: number; datalistMinHeight?: number; offsetDatalist?: number; datalistPlacement?: Placement; datalistZIndex?: number; datalistWidth?: number; } declare const _default: __VLS_WithTemplateSlots, { label: string; disabled: undefined; placeholder: string; helperText: string; minLength: number; maxLength: number; inputmode: string; readonly: boolean; labelMark: string; prependIcon: string; appendIcon: string; rules: () => never[]; showValidBorder: boolean; labelInfo: string; helperState: string; showWordCount: boolean; formatter: (value: string) => string; datalist: undefined; shiftDatalist: boolean; datalistMaxHeight: number; datalistZIndex: number; }>, { focus: () => void; inputEl: import("vue").Ref; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (value: string) => void; "focus-changed": (value: boolean) => void; paste: (e: ClipboardEvent) => void; }, string, import("vue").PublicProps, Readonly, { label: string; disabled: undefined; placeholder: string; helperText: string; minLength: number; maxLength: number; inputmode: string; readonly: boolean; labelMark: string; prependIcon: string; appendIcon: string; rules: () => never[]; showValidBorder: boolean; labelInfo: string; helperState: string; showWordCount: boolean; formatter: (value: string) => string; datalist: undefined; shiftDatalist: boolean; datalistMaxHeight: number; datalistZIndex: number; }>>> & { onPaste?: ((e: ClipboardEvent) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; "onFocus-changed"?: ((value: boolean) => any) | undefined; }, { datalist: string[]; label: string; disabled: boolean; labelMark: "required" | "optional" | "none"; labelInfo: string; rules: import("../../..").ValidationRule[]; helperText: string; helperState: "error" | "none" | "success" | "warning"; placeholder: string; prependIcon: string; appendIcon: string; showValidBorder: boolean; minLength: number; maxLength: number; inputmode: "text" | "search" | "none" | "email" | "password" | "tel" | "url" | "decimal" | "numeric"; readonly: boolean; showWordCount: boolean; formatter: (value: string) => string; shiftDatalist: boolean; datalistMaxHeight: number; datalistZIndex: number; }, {}>, { label?(_: {}): any; prepend?(_: {}): any; append?(_: {}): any; "helper-text"?(_: {}): any; "menu-wrapper"?(_: { maxHeight: number; width: string; }): any; }>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };