import { EpPropFinalized, EpPropMergeType } from "../../../utils/vue/props/types.js"; import { ComponentSize } from "../../../constants/size.js"; import { Arrayable } from "../../../utils/typescript.js"; import "../../../utils/index.js"; import { FormItemRule } from "./types.js"; import * as vue from "vue"; import { ExtractPublicPropTypes } from "vue"; //#region ../../packages/components/form/src/form-item.d.ts declare const formItemValidateStates: readonly ["", "error", "validating", "success"]; type FormItemValidateState = (typeof formItemValidateStates)[number]; type FormItemProp = Arrayable; interface FormItemProps { /** * @description Label text. */ label?: string; /** * @description Width of label, e.g. `'50px'`. `'auto'` is supported. */ labelWidth?: string | number; /** * @description Position of label. If set to `'left'` or `'right'`, `label-width` prop is also required. The default is extend from `form label-position`. */ labelPosition?: 'left' | 'right' | 'top' | ''; /** * @description A key of `model`. It could be an array of property paths (e.g `['a', 'b', '0']`). In the use of `validate` and `resetFields` method, the attribute is required. */ prop?: FormItemProp; /** * @description Whether the field is required or not, will be determined by validation rules if omitted. */ required?: boolean; /** * @description Validation rules of form, see the [following table](#formitemrule), more advanced usage at [async-validator](https://github.com/yiminghe/async-validator). */ rules?: Arrayable; /** * @description Field error message, set its value and the field will validate error and show this message immediately. */ error?: string; /** * @description Validation state of formItem. */ validateStatus?: FormItemValidateState; /** * @description Same as for in native label. */ for?: string; /** * @description Inline style validate message. */ inlineMessage?: boolean; /** * @description Whether to show the error message. */ showMessage?: boolean; /** * @description Control the size of components in this form-item. */ size?: ComponentSize; } /** * @deprecated Removed after 3.0.0, Use `FormItemProps` instead. */ declare const formItemProps: { readonly label: StringConstructor; readonly labelWidth: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized; readonly prop: { readonly type: vue.PropType string | string[]) | (() => FormItemProp) | (((new (...args: any[]) => string | string[]) | (() => FormItemProp)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly required: EpPropFinalized; readonly rules: { readonly type: vue.PropType FormItemRule | FormItemRule[]) | (() => Arrayable) | (((new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable)) | null)[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly error: StringConstructor; readonly validateStatus: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly for: StringConstructor; readonly inlineMessage: EpPropFinalized; readonly showMessage: EpPropFinalized; readonly size: { readonly type: vue.PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }; /** * @deprecated Removed after 3.0.0, Use `FormItemProps` instead. */ type FormItemPropsPublic = ExtractPublicPropTypes; //#endregion export { FormItemProp, FormItemProps, FormItemPropsPublic, FormItemValidateState, formItemProps, formItemValidateStates };