UNPKG

plus-pro-components

Version:

Page level components developed based on Element Plus.

872 lines (871 loc) 1.04 MB
import { DebouncedFunc } from 'lodash-es'; import { default as __DTS_DEFAULT_0__ } from 'element-plus/es/components/table/src/table-layout'; import { Options } from 'sortablejs'; import { TimeSelectProps } from 'element-plus/es/components/time-select/src/time-select'; import { LooseRequired } from '@vue/shared'; import { Arrayable, EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils'; import { CardProps, RowProps, ColProps, FormItemRule, FormItemProp, FormItemContext, FormValidateCallback, FormValidationResult, ElTooltipProps, TableColumnCtx, FormItemProps, ProgressFn, CascaderNode, InputAutoSize, AutocompleteProps, CheckboxGroupProps, ColorPickerProps, DatePickerProps, InputProps, InputNumberProps, RadioGroupProps, RateProps, ISelectProps, SliderProps, SwitchProps, TimePickerDefaultProps, TextProps, ImageProps, LinkProps, TagProps, ProgressProps, SummaryMethod, ColumnCls, ColumnStyle, CellCls, CellStyle, Sort, TreeNode, Translator, Table } from 'element-plus'; import { PlusSearchProps, PlusTableProps, PlusPaginationProps, PlusFormGroupRow, PlusFormProps, PlusRadioProps, PlusDatePickerProps, PlusInputTagProps, ActionBarProps, ColumnSetting, ButtonsCallBackParams, FormChangeCallBackParams, FilterTableHeaderEventType, TableFormRefRow } from 'plus-pro-components'; import { PlusColumn, RecordType, PageInfo, Mutable, FieldValues, TableValueType, FormItemValueType, OptionsType, OptionsRow, RenderTypes, FieldValueType, PropsItemType, OmitTypes, CascaderProps } from 'plus-pro-components'; import { CreateComponentPublicInstance, ExtractPropTypes, PropType, Ref, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, Slot, ComponentPublicInstance, ComponentOptionsBase, ComputedRef, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, CSSProperties, Component, ShallowRef } from 'vue'; import { default as Page } from './src/index.vue'; export type PlusPageInstance = InstanceType<typeof Page>; export type { PlusPageProps } from './src/index.vue'; export declare const PlusPage: { new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{ columns: { type: PropType< PlusColumn[]>; required: true; default: () => never[]; }; search: { type: PropType<false | Partial< PlusSearchProps>>; default: () => {}; }; immediate: { type: PropType<boolean>; default: boolean; }; table: { type: PropType<Partial< PlusTableProps>>; default: () => {}; }; pagination: { type: PropType<false | Omit< PlusPaginationProps, "modelValue" | "total" | "pageSizeList">>; default: () => {}; }; params: { type: PropType<RecordType>; default: () => {}; }; request: { type: PropType<(params: Partial< PageInfo> & RecordType) => Promise<{ data: RecordType[]; total: number; }>>; required: true; }; postData: { type: PropType<(<T = RecordType[]>(data: T[]) => T[])>; default: undefined; }; beforeSearchSubmit: { type: PropType<(<T_1 = RecordType>(params: T_1) => T_1)>; default: undefined; }; isCard: { type: PropType<boolean>; default: boolean; }; searchCardProps: { type: PropType<Partial< Mutable<CardProps>>>; default: () => {}; }; tableCardProps: { type: PropType<Partial< Mutable<CardProps>>>; default: () => {}; }; defaultPageInfo: { type: PropType<PageInfo>; default: () => { page: number; pageSize: number; }; }; defaultPageSizeList: { type: PropType<number[]>; default: () => number[]; }; dividerProps: { type: PropType<false | Partial< RecordType>>; default: boolean; }; pageInfoMap: { type: PropType<{ page?: string | undefined; pageSize?: string | undefined; }>; default: () => { page: string; pageSize: string; }; }; }>> & { onReset?: ((data: FieldValues) => any) | undefined; onPaginationChange?: ((pageInfo: PageInfo) => any) | undefined; onSearch?: ((data: FieldValues) => any) | undefined; onRequestError?: ((error: unknown) => any) | undefined; onRequestComplete?: ((tableData: RecordType[]) => any) | undefined; }, { plusSearchInstance: Ref<({ $: ComponentInternalInstance; $data: {}; $props: Partial<{ columns: PlusColumn[]; modelValue: FieldValues; labelPosition: "top" | "right" | "left"; inline: boolean; showNumber: number; defaultValues: FieldValues; rowProps: Partial< Mutable<RowProps>>; colProps: Partial< Mutable<ColProps>>; hasFooter: boolean; hasReset: boolean; resetText: string; hasUnfold: boolean; defaultUnfold: boolean; searchText: string; retractText: string; expandText: string; searchLoading: boolean; needValidate: boolean; }> & Omit<{ readonly columns: PlusColumn[]; readonly modelValue: FieldValues; readonly inline: boolean; readonly showNumber: number; readonly defaultValues: FieldValues; readonly rowProps: Partial< Mutable<RowProps>>; readonly colProps: Partial< Mutable<ColProps>>; readonly hasFooter: boolean; readonly hasReset: boolean; readonly resetText: string; readonly hasUnfold: boolean; readonly defaultUnfold: boolean; readonly searchText: string; readonly retractText: string; readonly expandText: string; readonly searchLoading: boolean; readonly needValidate: boolean; readonly labelPosition?: "top" | "right" | "left" | undefined; onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSearch?: ((values: FieldValues) => any) | undefined; onCollapse?: ((isShowUnfold: boolean) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{ columns: { type: PropType< PlusColumn[]>; default: () => never[]; }; modelValue: { type: PropType<FieldValues>; default: () => {}; }; labelPosition: { type: PropType<"top" | "right" | "left">; default: undefined; }; inline: { type: PropType<boolean>; default: boolean; }; showNumber: { type: PropType<number>; default: number; }; defaultValues: { type: PropType<FieldValues>; default: () => {}; }; rowProps: { type: PropType<Partial< Mutable<RowProps>>>; default: () => { gutter: number; }; }; colProps: { type: PropType<Partial< Mutable<ColProps>>>; default: () => { xs: number; sm: number; md: number; lg: number; xl: number; }; }; hasFooter: { type: PropType<boolean>; default: boolean; }; hasReset: { type: PropType<boolean>; default: boolean; }; resetText: { type: PropType<string>; default: string; }; hasUnfold: { type: PropType<boolean>; default: boolean; }; defaultUnfold: { type: PropType<boolean>; default: boolean; }; searchText: { type: PropType<string>; default: string; }; retractText: { type: PropType<string>; default: string; }; expandText: { type: PropType<string>; default: string; }; searchLoading: { type: PropType<boolean>; default: boolean; }; needValidate: { type: PropType<boolean>; default: boolean; }; }>> & { onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSearch?: ((values: FieldValues) => any) | undefined; onCollapse?: ((isShowUnfold: boolean) => any) | undefined; }, "columns" | "modelValue" | "labelPosition" | "inline" | "showNumber" | "defaultValues" | "rowProps" | "colProps" | "hasFooter" | "hasReset" | "resetText" | "hasUnfold" | "defaultUnfold" | "searchText" | "retractText" | "expandText" | "searchLoading" | "needValidate">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot<any> | undefined; }>; $root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: ((event: "search", values: FieldValues) => void) & ((event: "reset", values: FieldValues) => void) & ((event: "change", values: FieldValues, column: PlusColumn) => void) & ((event: "update:modelValue", values: FieldValues) => void) & ((event: "collapse", isShowUnfold: boolean) => void); $el: any; $options: ComponentOptionsBase<Readonly< ExtractPropTypes<{ columns: { type: PropType< PlusColumn[]>; default: () => never[]; }; modelValue: { type: PropType<FieldValues>; default: () => {}; }; labelPosition: { type: PropType<"top" | "right" | "left">; default: undefined; }; inline: { type: PropType<boolean>; default: boolean; }; showNumber: { type: PropType<number>; default: number; }; defaultValues: { type: PropType<FieldValues>; default: () => {}; }; rowProps: { type: PropType<Partial< Mutable<RowProps>>>; default: () => { gutter: number; }; }; colProps: { type: PropType<Partial< Mutable<ColProps>>>; default: () => { xs: number; sm: number; md: number; lg: number; xl: number; }; }; hasFooter: { type: PropType<boolean>; default: boolean; }; hasReset: { type: PropType<boolean>; default: boolean; }; resetText: { type: PropType<string>; default: string; }; hasUnfold: { type: PropType<boolean>; default: boolean; }; defaultUnfold: { type: PropType<boolean>; default: boolean; }; searchText: { type: PropType<string>; default: string; }; retractText: { type: PropType<string>; default: string; }; expandText: { type: PropType<string>; default: string; }; searchLoading: { type: PropType<boolean>; default: boolean; }; needValidate: { type: PropType<boolean>; default: boolean; }; }>> & { onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSearch?: ((values: FieldValues) => any) | undefined; onCollapse?: ((isShowUnfold: boolean) => any) | undefined; }, { plusFormInstance: Ref<({ $: ComponentInternalInstance; $data: {}; $props: Partial<{ columns: PlusColumn[]; group: false | PlusFormGroupRow[]; modelValue: FieldValues; rules: Partial<Record<string, Arrayable<FormItemRule>>>; labelPosition: "top" | "right" | "left"; labelWidth: string | number; labelSuffix: string; hasLabel: boolean; defaultValues: FieldValues; rowProps: Partial< Mutable<RowProps>>; colProps: Partial< Mutable<ColProps>>; hasErrorTip: boolean; hasFooter: boolean; hasReset: boolean; submitText: string; resetText: string; submitLoading: boolean; footerAlign: "right" | "left" | "center"; cardProps: Partial< Mutable<CardProps>>; prevent: boolean; collapseDuration: number; collapseTransition: boolean; clearable: boolean; }> & Omit<{ readonly columns: PlusColumn[]; readonly group: false | PlusFormGroupRow[]; readonly modelValue: FieldValues; readonly rules: Partial<Record<string, Arrayable<FormItemRule>>>; readonly labelPosition: "top" | "right" | "left"; readonly labelWidth: string | number; readonly labelSuffix: string; readonly hasLabel: boolean; readonly defaultValues: FieldValues; readonly rowProps: Partial< Mutable<RowProps>>; readonly colProps: Partial< Mutable<ColProps>>; readonly hasErrorTip: boolean; readonly hasFooter: boolean; readonly hasReset: boolean; readonly submitText: string; readonly resetText: string; readonly submitLoading: boolean; readonly footerAlign: "right" | "left" | "center"; readonly cardProps: Partial< Mutable<CardProps>>; readonly prevent: boolean; readonly clearable: boolean; readonly collapseDuration?: number | undefined; readonly collapseTransition?: boolean | undefined; onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSubmit?: ((values: FieldValues) => any) | undefined; onValidate?: ((...args: any[]) => any) | undefined; onSubmitError?: ((errors: unknown) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{ columns: { type: PropType< PlusColumn[]>; default: () => never[]; }; group: { type: PropType<false | PlusFormGroupRow[]>; default: boolean; }; modelValue: { type: PropType<FieldValues>; default: () => {}; }; rules: { type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; default: () => {}; }; labelPosition: { type: PropType<"top" | "right" | "left">; default: string; }; labelWidth: { type: PropType<string | number>; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; hasLabel: { type: PropType<boolean>; default: boolean; }; defaultValues: { type: PropType<FieldValues>; default: () => {}; }; rowProps: { type: PropType<Partial< Mutable<RowProps>>>; default: () => {}; }; colProps: { type: PropType<Partial< Mutable<ColProps>>>; default: () => {}; }; hasErrorTip: { type: PropType<boolean>; default: boolean; }; hasFooter: { type: PropType<boolean>; default: boolean; }; hasReset: { type: PropType<boolean>; default: boolean; }; submitText: { type: PropType<string>; default: string; }; resetText: { type: PropType<string>; default: string; }; submitLoading: { type: PropType<boolean>; default: boolean; }; footerAlign: { type: PropType<"right" | "left" | "center">; default: string; }; cardProps: { type: PropType<Partial< Mutable<CardProps>>>; default: () => {}; }; prevent: { type: PropType<boolean>; default: boolean; }; collapseDuration: { type: PropType<number>; default: undefined; }; collapseTransition: { type: PropType<boolean>; default: undefined; }; clearable: { type: PropType<boolean>; default: boolean; }; }>> & { onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSubmit?: ((values: FieldValues) => any) | undefined; onValidate?: ((...args: any[]) => any) | undefined; onSubmitError?: ((errors: unknown) => any) | undefined; }, "columns" | "group" | "modelValue" | "rules" | "labelPosition" | "labelWidth" | "labelSuffix" | "hasLabel" | "defaultValues" | "rowProps" | "colProps" | "hasErrorTip" | "hasFooter" | "hasReset" | "submitText" | "resetText" | "submitLoading" | "footerAlign" | "cardProps" | "prevent" | "collapseDuration" | "collapseTransition" | "clearable">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot<any> | undefined; }>; $root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: ((event: "reset", values: FieldValues) => void) & ((event: "submit", values: FieldValues) => void) & ((event: "change", values: FieldValues, column: PlusColumn) => void) & ((event: "update:modelValue", values: FieldValues) => void) & ((event: "validate", ...args: any[]) => void) & ((event: "submitError", errors: unknown) => void); $el: any; $options: ComponentOptionsBase<Readonly< ExtractPropTypes<{ columns: { type: PropType< PlusColumn[]>; default: () => never[]; }; group: { type: PropType<false | PlusFormGroupRow[]>; default: boolean; }; modelValue: { type: PropType<FieldValues>; default: () => {}; }; rules: { type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; default: () => {}; }; labelPosition: { type: PropType<"top" | "right" | "left">; default: string; }; labelWidth: { type: PropType<string | number>; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; hasLabel: { type: PropType<boolean>; default: boolean; }; defaultValues: { type: PropType<FieldValues>; default: () => {}; }; rowProps: { type: PropType<Partial< Mutable<RowProps>>>; default: () => {}; }; colProps: { type: PropType<Partial< Mutable<ColProps>>>; default: () => {}; }; hasErrorTip: { type: PropType<boolean>; default: boolean; }; hasFooter: { type: PropType<boolean>; default: boolean; }; hasReset: { type: PropType<boolean>; default: boolean; }; submitText: { type: PropType<string>; default: string; }; resetText: { type: PropType<string>; default: string; }; submitLoading: { type: PropType<boolean>; default: boolean; }; footerAlign: { type: PropType<"right" | "left" | "center">; default: string; }; cardProps: { type: PropType<Partial< Mutable<CardProps>>>; default: () => {}; }; prevent: { type: PropType<boolean>; default: boolean; }; collapseDuration: { type: PropType<number>; default: undefined; }; collapseTransition: { type: PropType<boolean>; default: undefined; }; clearable: { type: PropType<boolean>; default: boolean; }; }>> & { onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onReset?: ((values: FieldValues) => any) | undefined; onSubmit?: ((values: FieldValues) => any) | undefined; onValidate?: ((...args: any[]) => any) | undefined; onSubmitError?: ((errors: unknown) => any) | undefined; }, { formInstance: Ref< CreateComponentPublicInstance<Readonly< ExtractPropTypes<{ readonly model: ObjectConstructor; readonly rules: { readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>; readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>; readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>; readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { COMPONENT_NAME: string; props: Readonly< LooseRequired<Readonly< ExtractPropTypes<{ readonly model: ObjectConstructor; readonly rules: { readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>; readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>; readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>; readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined; }>>; emit: (event: "validate", prop: FormItemProp, isValid: boolean, message: string) => void; fields: FormItemContext[]; formSize: ComputedRef<"" | "default" | "small" | "large">; ns: { namespace: ComputedRef<string>; b: (blockSuffix?: string | undefined) => string; e: (element?: string | undefined) => string; m: (modifier?: string | undefined) => string; be: (blockSuffix?: string | undefined, element?: string | undefined) => string; em: (element?: string | undefined, modifier?: string | undefined) => string; bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; is: { (name: string, state: boolean | undefined): string; (name: string): string; }; cssVar: (object: Record<string, string>) => Record<string, string>; cssVarName: (name: string) => string; cssVarBlock: (object: Record<string, string>) => Record<string, string>; cssVarBlockName: (name: string) => string; }; formClasses: ComputedRef<(string | { [x: string]: boolean | EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>; })[]>; getField: (prop: string) => FormItemContext | undefined; addField: (field: FormItemContext) => void; removeField: (field: FormItemContext) => void; resetFields: (props?: Arrayable<FormItemProp> | undefined) => void; clearValidate: (props?: Arrayable<FormItemProp> | undefined) => void; isValidatable: ComputedRef<boolean>; obtainValidateFields: (props: Arrayable<FormItemProp>) => FormItemContext[]; validate: (callback?: FormValidateCallback | undefined) => FormValidationResult; doValidateField: (props?: Arrayable<FormItemProp> | undefined) => Promise<boolean>; validateField: (props?: Arrayable<FormItemProp> | undefined, callback?: FormValidateCallback | undefined) => FormValidationResult; scrollToField: (prop: FormItemProp) => void; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { validate: (prop: FormItemProp, isValid: boolean, message: string) => boolean; }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{ readonly model: ObjectConstructor; readonly rules: { readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>; readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>; readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>; readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { readonly disabled: boolean; readonly labelPosition: EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>; readonly requireAsteriskPosition: EpPropMergeType<StringConstructor, "right" | "left", unknown>; readonly labelWidth: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>; readonly labelSuffix: string; readonly showMessage: EpPropMergeType<BooleanConstructor, unknown, unknown>; readonly validateOnRuleChange: EpPropMergeType<BooleanConstructor, unknown, unknown>; readonly inline: boolean; readonly inlineMessage: boolean; readonly statusIcon: boolean; readonly hideRequiredAsterisk: boolean; readonly scrollToError: boolean; }, true, {}, {}, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly< ExtractPropTypes<{ readonly model: ObjectConstructor; readonly rules: { readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>; readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>; readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>; readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { COMPONENT_NAME: string; props: Readonly< LooseRequired<Readonly< ExtractPropTypes<{ readonly model: ObjectConstructor; readonly rules: { readonly type: PropType<Partial<Record<string, Arrayable<FormItemRule>>>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized<StringConstructor, "top" | "right" | "left", unknown, "right", boolean>; readonly requireAsteriskPosition: EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>; readonly labelWidth: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>; readonly labelSuffix: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>; readonly inline: BooleanConstructor; readonly inlineMessage: BooleanConstructor; readonly statusIcon: BooleanConstructor; readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly validateOnRuleChange: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>; readonly hideRequiredAsterisk: BooleanConstructor; readonly scrollToError: BooleanConstructor; readonly scrollIntoViewOptions: { readonly type: PropType<EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly size: { readonly type: PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly disabled: BooleanConstructor; }>> & { onValidate?: ((prop: FormItemProp, isValid: boolean, message: string) => any) | undefined; }>>; emit: (event: "validate", prop: FormItemProp, isValid: boolean, message: string) => void; fields: FormItemContext[]; formSize: ComputedRef<"" | "default" | "small" | "large">; ns: { namespace: ComputedRef<string>; b: (blockSuffix?: string | undefined) => string; e: (element?: string | undefined) => string; m: (modifier?: string | undefined) => string; be: (blockSuffix?: string | undefined, element?: string | undefined) => string; em: (element?: string | undefined, modifier?: string | undefined) => string; bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string; bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string; is: { (name: string, state: boolean | undefined): string; (name: string): string; }; cssVar: (object: Record<string, string>) => Record<string, string>; cssVarName: (name: string) => string; cssVarBlock: (object: Record<string, string>) => Record<string, string>; cssVarBlockName: (name: string) => string; }; formClasses: ComputedRef<(string | { [x: string]: boolean | EpPropMergeType<StringConstructor, "top" | "right" | "left", unknown>; })[]>; getField: (prop: string) => FormItemContext | undefined; addField: (field: FormItemContext) => void; removeField: (field: FormItemContext) => void; resetFields: (props?: Arrayable<FormItemProp> | undefined) => void; clearValidate: (props?: Arrayable<FormItemProp> | undefined) => void; isValidatable: ComputedRef<boolean>; obtainValidateFields: (props: Arrayable<FormItemProp>) => FormItemContext[]; validate: (callback?: Fo