@oiij/naive-ui
Version:
Some Composable Functions And Components for Vue 3
36 lines (35 loc) • 1.69 kB
TypeScript
import { DataObject } from "../../composables/useDataRequest.js";
import { NaiveFormClearRules, NaiveFormReturns, NaiveFormRules } from "../../composables/useNaiveForm.js";
import { ClassStyle } from "../data-table-plus/index.js";
import { PresetInputOptions } from "../preset-input/index.js";
import { _default } from "./PresetForm.vue.js";
import { VNode } from "vue";
import { FormItemProps, FormItemRule, FormProps, FormRules, GridItemProps, GridProps } from "naive-ui";
import { ComponentExposed } from "vue-component-type-helpers";
//#region src/components/preset-form/index.d.ts
type PresetFormExpose<V extends DataObject = DataObject> = NaiveFormReturns<V>;
type PresetFormOptionItem<V extends DataObject = DataObject> = PresetInputOptions & {
key?: keyof V;
label?: string | (() => string);
required?: boolean | (() => boolean);
collapsed?: boolean | (() => boolean);
span?: string | number | (() => string | number);
hidden?: boolean | (() => boolean);
rule?: FormRules | FormItemRule | FormItemRule[];
itemProps?: FormItemProps & GridItemProps & ClassStyle;
render?: (params: PresetFormExpose<V> & {
overflow: boolean;
}) => VNode | null;
};
type PresetFormOptions<V extends DataObject = DataObject> = PresetFormOptionItem<V>[];
type PresetFormProps<V extends DataObject = DataObject> = {
options?: PresetFormOptions<V>;
values?: V;
rules?: NaiveFormRules<V>;
clearRules?: NaiveFormClearRules;
formProps?: FormProps & ClassStyle;
gridProps?: GridProps & ClassStyle;
};
type PresetFormInst = ComponentExposed<typeof _default>;
//#endregion
export { PresetFormExpose, PresetFormInst, PresetFormOptionItem, PresetFormOptions, PresetFormProps };