import { LooseRequired } from '@vue/shared'; import { PlusRadioProps, PlusDatePickerProps, PlusInputTagProps } from 'packages/yc-components'; import { FormItemProp, FormItemRule, FormValidateCallback, FormValidationResult, ElTooltipProps, FormItemProps, ProgressFn, CascaderNode, PopperEffect, InputAutoSize, AutocompleteProps, CheckboxGroupProps, ColorPickerProps, DatePickerProps, InputProps, InputNumberProps, RadioGroupProps, RateProps, SelectProps, SliderProps, SwitchProps, TimePickerDefaultProps, TimeSelectProps, TextProps, ImageProps, LinkProps, TagProps, ProgressProps } from 'element-plus'; import { EpPropMergeType, Arrayable, EpPropFinalized } from 'element-plus/es/utils'; import { PlusColumn, FieldValueType, OptionsRow, RecordType, Mutable, PropsItemType, OmitTypes, CascaderProps, OptionsType, RenderTypes, TableValueType, FormItemValueType } from 'yc-pro-components/es/types'; import { Ref, DefineComponent, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, PropType, Slot, ComponentPublicInstance, ComponentOptionsBase, ComputedRef, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, PublicProps, CSSProperties } from 'vue'; export interface PlusFormItemProps { modelValue?: FieldValueType; hasLabel?: PlusColumn['hasLabel']; label?: PlusColumn['label']; prop: PlusColumn['prop']; fieldProps?: PlusColumn['fieldProps']; valueType?: PlusColumn['valueType']; options?: PlusColumn['options']; formItemProps?: PlusColumn['formItemProps']; renderField?: PlusColumn['renderField']; renderLabel?: PlusColumn['renderLabel']; tooltip?: PlusColumn['tooltip']; fieldSlots?: PlusColumn['fieldSlots']; fieldChildrenSlot?: PlusColumn['fieldChildrenSlot']; renderErrorMessage?: PlusColumn['renderErrorMessage']; /** * @desc 对options 进行映射 * @version v0.1.15 * @default{ label: 'label'; value: 'value' } */ optionsMap?: PlusColumn['optionsMap']; /** * @desc 自动字典注入 * @version v0.2.0 */ autoDict?: PlusColumn['autoDict']; index?: number; /** * @version v0.1.18 */ clearable?: boolean; } export interface PlusFormItemEmits { (e: 'update:modelValue', value: FieldValueType): void; (e: 'change', value: FieldValueType): void; } declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { label: string; modelValue: string; hasLabel: boolean; tooltip: string; formItemProps: () => {}; fieldProps: () => {}; options: () => never[]; fieldSlots: () => {}; valueType: undefined; renderField: undefined; renderLabel: undefined; fieldChildrenSlot: undefined; renderErrorMessage: undefined; optionsMap: undefined; autoDict: undefined; clearable: boolean; index: number; }>, { formItemInstance: Ref<({ $: ComponentInternalInstance; $data: {}; $props: Partial<{ readonly required: EpPropMergeType; readonly labelPosition: EpPropMergeType; readonly inlineMessage: EpPropMergeType; readonly showMessage: EpPropMergeType; }> & Omit<{ readonly labelPosition: EpPropMergeType; readonly showMessage: EpPropMergeType; readonly label?: string | undefined; readonly prop?: EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => FormItemProp))[], unknown, unknown> | undefined; readonly required?: EpPropMergeType | undefined; readonly size?: EpPropMergeType | undefined; readonly rules?: EpPropMergeType<(new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable) | ((new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable))[], unknown, unknown> | undefined; readonly error?: string | undefined; readonly labelWidth?: EpPropMergeType | undefined; readonly inlineMessage?: EpPropMergeType | undefined; readonly validateStatus?: EpPropMergeType | undefined; readonly for?: string | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{ readonly label: StringConstructor; readonly labelWidth: { readonly type: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized; readonly prop: { readonly type: PropType string | string[]) | (() => FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => FormItemProp))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly required: EpPropFinalized; readonly rules: { readonly type: PropType FormItemRule | FormItemRule[]) | (() => Arrayable) | ((new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly error: StringConstructor; readonly validateStatus: { readonly type: 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: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }>>, "required" | "labelPosition" | "inlineMessage" | "showMessage">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: Slot | undefined; }>; $root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase, {}, {}> | null; $parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase, {}, {}> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: ComponentOptionsBase>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized; readonly prop: { readonly type: PropType string | string[]) | (() => FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => FormItemProp))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly required: EpPropFinalized; readonly rules: { readonly type: PropType FormItemRule | FormItemRule[]) | (() => Arrayable) | ((new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly error: StringConstructor; readonly validateStatus: { readonly type: 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: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }>>, { size: ComputedRef<"" | "default" | "small" | "large">; validateMessage: Ref; validateState: Ref<"" | "success" | "error" | "validating">; validate: (trigger: string, callback?: FormValidateCallback | undefined) => FormValidationResult; clearValidate: () => void; resetField: () => void; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, { readonly required: EpPropMergeType; readonly labelPosition: EpPropMergeType; readonly inlineMessage: EpPropMergeType; readonly showMessage: EpPropMergeType; }, {}, string, {}> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: WatchOptions | undefined): WatchStopHandle; } & Omit>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly labelPosition: EpPropFinalized; readonly prop: { readonly type: PropType string | string[]) | (() => FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => FormItemProp))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly required: EpPropFinalized; readonly rules: { readonly type: PropType FormItemRule | FormItemRule[]) | (() => Arrayable) | ((new (...args: any[]) => FormItemRule | FormItemRule[]) | (() => Arrayable))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly error: StringConstructor; readonly validateStatus: { readonly type: 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: PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }>>, "size" | "validate" | "clearValidate" | "validateMessage" | "validateState" | "resetField"> & ShallowUnwrapRef<{ size: ComputedRef<"" | "default" | "small" | "large">; validateMessage: Ref; validateState: Ref<"" | "success" | "error" | "validating">; validate: (trigger: string, callback?: FormValidateCallback | undefined) => FormValidationResult; clearValidate: () => void; resetField: () => void; }> & {} & ComponentCustomProperties & {} & { $slots: { label?: ((props: { label: string; }) => any) | undefined; } & { default?: ((props: {}) => any) | undefined; } & { error?: ((props: { error: string; }) => any) | undefined; }; }) | null | undefined>; fieldInstance: Ref; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:modelValue": (value: FieldValueType) => void; change: (value: FieldValueType) => void; }, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { label: string; modelValue: string; hasLabel: boolean; tooltip: string; formItemProps: () => {}; fieldProps: () => {}; options: () => never[]; fieldSlots: () => {}; valueType: undefined; renderField: undefined; renderLabel: undefined; fieldChildrenSlot: undefined; renderErrorMessage: undefined; optionsMap: undefined; autoDict: undefined; clearable: boolean; index: number; }>>> & { onChange?: ((value: FieldValueType) => any) | undefined; "onUpdate:modelValue"?: ((value: FieldValueType) => any) | undefined; }, { index: number; label: string | ComputedRef; tooltip: string | ComputedRef | Partial< Mutable & { style?: CSSProperties | undefined; class?: any; } & RecordType> | ComputedRef & { style?: CSSProperties | undefined; class?: any; } & RecordType>>; formItemProps: PropsItemType< Mutable & { [key: string]: any; style?: CSSProperties | undefined; }>; fieldProps: PropsItemType | undefined; step: string | number; format: string | ProgressFn | undefined; filterMethod: ((node: CascaderNode, keyword: string) => boolean) | ((query: string) => void) | undefined; id: string | [string, string]; effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | ((new (...args: any[]) => string) | (() => PopperEffect))[], unknown, unknown>; height: string | number; autosize: InputAutoSize; } & Mutable & Omit< CascaderProps, OmitTypes> & Omit< CheckboxGroupProps, OmitTypes> & Omit< ColorPickerProps, OmitTypes> & Omit< DatePickerProps, OmitTypes> & Omit< InputProps, OmitTypes> & Omit< InputNumberProps, OmitTypes> & Omit< RadioGroupProps, OmitTypes> & Omit< RateProps, OmitTypes> & Omit< SelectProps, OmitTypes> & Omit< SliderProps, OmitTypes> & Omit< SwitchProps, OmitTypes> & Omit< TimePickerDefaultProps, OmitTypes> & Omit< TimeSelectProps, OmitTypes> & Omit< PlusRadioProps, OmitTypes> & Omit< PlusDatePickerProps, OmitTypes> & Omit< PlusInputTagProps, OmitTypes> & Omit< TextProps, OmitTypes> & Omit< ImageProps, OmitTypes> & Omit< LinkProps, OmitTypes> & Omit< TagProps, OmitTypes> & Omit< ProgressProps, OmitTypes>>>>; options: OptionsType; modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null; fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; fieldChildrenSlot: (option?: OptionsRow | undefined) => RenderTypes; hasLabel: boolean | Ref | ComputedRef; clearable: boolean; valueType: "input" | "select" | "textarea" | "switch" | "text" | TableValueType | "rate" | "input-number" | "slider" | "checkbox" | "cascader" | "plus-date-picker" | "plus-input-tag" | "transfer" | "radio" | "select-v2" | "plus-radio" | "autocomplete" | "color-picker" | "date-picker" | "time-picker" | "time-select" | "tree-select"; renderField: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes; renderLabel: (label: string, props: PlusColumn) => RenderTypes; renderErrorMessage: (props: PlusColumn & { value?: FieldValueType; error?: string | undefined; label?: string | undefined; }) => RenderTypes; optionsMap: { label?: string | undefined; value?: string | undefined; }; autoDict: boolean | ((column: PlusColumn) => OptionsRow[] | Promise[]>) | { store?: any; method?: string | undefined; transform?: ((data: any) => OptionsRow[]) | undefined; dictCode?: string | undefined; }; }, {}>, Partial[]; fieldInstance?: any; valueIsReady?: Ref | undefined; prop: string; modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null; hasLabel: boolean | Ref | ComputedRef; tooltip: string | Partial< Mutable & { style?: CSSProperties | undefined; class?: any; } & RecordType> | ComputedRef | ComputedRef & { style?: CSSProperties | undefined; class?: any; } & RecordType>>; fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; valueType: TableValueType | FormItemValueType; renderField: ((value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes) | undefined; renderLabel: ((label: string, props: PlusColumn) => RenderTypes) | undefined; fieldChildrenSlot: ((option?: OptionsRow | undefined) => RenderTypes) | undefined; renderErrorMessage: ((props: PlusColumn & { value?: FieldValueType; error?: string | undefined; label?: string | undefined; }) => RenderTypes) | undefined; optionsMap: { label?: string | undefined; value?: string | undefined; } | undefined; autoDict: boolean | ((column: PlusColumn) => OptionsRow[] | Promise[]>) | { store?: any; method?: string | undefined; transform?: ((data: any) => OptionsRow[]) | undefined; dictCode?: string | undefined; } | undefined; clearable: boolean; index: number; }) => any>> & Partial, "index" | "label" | "tooltip" | "formItemProps" | "fieldProps" | "options" | "modelValue" | "fieldSlots" | "fieldChildrenSlot" | "hasLabel" | "clearable" | "valueType" | "renderField" | "renderLabel" | "renderErrorMessage" | "optionsMap" | "autoDict">> & { readonly label: string | ComputedRef; readonly modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null; readonly hasLabel: boolean | Ref | ComputedRef; readonly tooltip: string | Partial< Mutable & { style?: CSSProperties | undefined; class?: any; } & RecordType> | ComputedRef | ComputedRef & { style?: CSSProperties | undefined; class?: any; } & RecordType>>; readonly formItemProps: PropsItemType< Mutable & { [key: string]: any; style?: CSSProperties | undefined; }>; readonly fieldProps: PropsItemType | undefined; step: string | number; format: string | ProgressFn | undefined; filterMethod: ((node: CascaderNode, keyword: string) => boolean) | ((query: string) => void) | undefined; id: string | [string, string]; effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | ((new (...args: any[]) => string) | (() => PopperEffect))[], unknown, unknown>; height: string | number; autosize: InputAutoSize; } & Mutable & Omit< CascaderProps, OmitTypes> & Omit< CheckboxGroupProps, OmitTypes> & Omit< ColorPickerProps, OmitTypes> & Omit< DatePickerProps, OmitTypes> & Omit< InputProps, OmitTypes> & Omit< InputNumberProps, OmitTypes> & Omit< RadioGroupProps, OmitTypes> & Omit< RateProps, OmitTypes> & Omit< SelectProps, OmitTypes> & Omit< SliderProps, OmitTypes> & Omit< SwitchProps, OmitTypes> & Omit< TimePickerDefaultProps, OmitTypes> & Omit< TimeSelectProps, OmitTypes> & Omit< PlusRadioProps, OmitTypes> & Omit< PlusDatePickerProps, OmitTypes> & Omit< PlusInputTagProps, OmitTypes> & Omit< TextProps, OmitTypes> & Omit< ImageProps, OmitTypes> & Omit< LinkProps, OmitTypes> & Omit< TagProps, OmitTypes> & Omit< ProgressProps, OmitTypes>>>>; readonly options: OptionsType; readonly fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; readonly valueType: TableValueType | FormItemValueType; readonly renderField: ((value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes) | undefined; readonly renderLabel: ((label: string, props: PlusColumn) => RenderTypes) | undefined; readonly fieldChildrenSlot: ((option?: OptionsRow | undefined) => RenderTypes) | undefined; readonly renderErrorMessage: ((props: PlusColumn & { value?: FieldValueType; error?: string | undefined; label?: string | undefined; }) => RenderTypes) | undefined; readonly optionsMap: { label?: string | undefined; value?: string | undefined; } | undefined; readonly autoDict: boolean | ((column: PlusColumn) => OptionsRow[] | Promise[]>) | { store?: any; method?: string | undefined; transform?: ((data: any) => OptionsRow[]) | undefined; dictCode?: string | undefined; } | undefined; readonly clearable: boolean; readonly index: number; } & { readonly clearable: boolean; }; label: string; fieldProps: RecordType; formItemProps: RecordType; options: OptionsRow[]; fieldInstance?: any; valueIsReady?: Ref | undefined; prop: string; modelValue: string | number | boolean | string[] | [string, string] | number[] | Date | RecordType | boolean[] | Date[] | [Date, Date] | [number, number] | string[][] | number[][] | null; hasLabel: boolean | Ref | ComputedRef; tooltip: string | Partial< Mutable & { style?: CSSProperties | undefined; class?: any; } & RecordType> | ComputedRef | ComputedRef & { style?: CSSProperties | undefined; class?: any; } & RecordType>>; fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; valueType: TableValueType | FormItemValueType; renderField: ((value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes) | undefined; renderLabel: ((label: string, props: PlusColumn) => RenderTypes) | undefined; fieldChildrenSlot: ((option?: OptionsRow | undefined) => RenderTypes) | undefined; renderErrorMessage: ((props: PlusColumn & { value?: FieldValueType; error?: string | undefined; label?: string | undefined; }) => RenderTypes) | undefined; optionsMap: { label?: string | undefined; value?: string | undefined; } | undefined; autoDict: boolean | ((column: PlusColumn) => OptionsRow[] | Promise[]>) | { store?: any; method?: string | undefined; transform?: ((data: any) => OptionsRow[]) | undefined; dictCode?: string | undefined; } | undefined; clearable: boolean; index: number; }) => any>> & { "tooltip-icon"?(_: {}): any; }>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: 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; }; };