import { VNode, Ref } from 'vue'; import { EnumProps, BreakPoint, Responsive } from './index.ts'; import { FormItemProps } from '../../scripts/build/node_modules/element-plus'; export type SearchType = "ElInput" | "ElInputNumber" | "ElSelect" | "ElSelectV2" | "ElTreeSelect" | "ElCascader" | "ElDatePicker" | "ElTimePicker" | "ElTimeSelect" | "ElSwitch" | "ElSlider"; export type SearchRenderScope = { searchParam: { [key: string]: any; }; placeholder: string; clearable: boolean; options: EnumProps[]; data: EnumProps[]; }; export type SearchProps = { el?: SearchType; label?: string; props?: any; key?: string; tooltip?: string; order?: number; span?: number; offset?: number; defaultValue?: string | number | boolean | any[] | Ref; render?: (scope: SearchRenderScope) => VNode; } & Partial>; export type FieldNamesProps = { label: string; value: string; children?: string; }; export type SuperFormItemProps = { el?: SearchType; label?: string; name: string; labelWidth?: number; tooltip?: string; required?: boolean; valueType?: string; rules?: any; fieldNames?: FieldNamesProps; options?: EnumProps[]; span?: number; offset?: number; show?: boolean | (() => boolean); render?: (scope: SearchRenderScope) => VNode; slotName?: string; scopedSlots?: any; formItemProps?: Partial; componentProps?: any; } & Partial>;