element-pro-components
Version:
a component library for Vue 3 base on element-plus
252 lines (251 loc) • 14.2 kB
TypeScript
import { dialogProps } from 'element-plus';
import { formProps } from '../Form/props';
import { tableProps } from '../Table/props';
import { descriptionsProps } from '../Descriptions/props';
import type { PropType } from 'vue';
import type { ExternalParam } from '../types/index';
import type { IFormProps, IFormColumns, InvalidFields } from '../Form/index';
import type { ITableColumns } from '../Table/index';
import type { IDescriptionsColumns } from '../Descriptions/index';
import type { ICrudColumns, ICrudMenuColumns, ICrudBeforeOpen, ICrudBeforeClose, ICrudDialogType, ICrudSearchProps } from './type';
type FormKeys = Array<keyof typeof formProps>;
type TableKeys = Array<keyof typeof tableProps>;
type DescriptionsKeys = Array<keyof typeof descriptionsProps>;
type DialogKeys = Array<keyof typeof dialogProps>;
export declare const formKeys: FormKeys;
export declare const tableKeys: TableKeys;
export declare const descriptionsKeys: DescriptionsKeys;
export declare const dialogKeys: DialogKeys;
export declare const crudProps: {
columns: PropType<ICrudColumns>;
addColumns: PropType<IFormColumns>;
editColumns: PropType<IFormColumns>;
formColumns: PropType<IFormColumns>;
searchColumns: PropType<IFormColumns>;
tableColumns: PropType<ITableColumns>;
detailColumns: PropType<IDescriptionsColumns>;
menu: PropType<boolean | ICrudMenuColumns>;
search: ObjectConstructor;
searchProps: PropType<ICrudSearchProps>;
/**
* @deprecated The `searchRules` attribute will be removed in the next major version, please use `searchProps` instead
*/
searchRules: PropType<IFormProps["rules"]>;
beforeOpen: PropType<ICrudBeforeOpen>;
beforeClose: PropType<ICrudBeforeClose>;
top: {
readonly type: import("vue").PropType<string>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
title: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
center: BooleanConstructor;
appendToBody: BooleanConstructor;
appendTo: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown, "body", boolean>;
destroyOnClose: BooleanConstructor;
closeOnClickModal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
closeOnPressEscape: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
lockScroll: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
modal: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
openDelay: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
closeDelay: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
modalClass: StringConstructor;
width: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
zIndex: {
readonly type: import("vue").PropType<number>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
trapFocus: BooleanConstructor;
headerAriaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
alignCenter: BooleanConstructor;
closeIcon: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component) | ((new (...args: any[]) => (string | import("vue").Component) & {}) | (() => string | import("vue").Component))[], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
draggable: BooleanConstructor;
overflow: BooleanConstructor;
fullscreen: BooleanConstructor;
showClose: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
ariaLevel: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
size: PropType<import("element-plus").ComponentSize>;
align: PropType<"left" | "center" | "right">;
column: NumberConstructor;
direction: PropType<"vertical" | "horizontal">;
border: BooleanConstructor;
detail: ObjectConstructor;
extra: StringConstructor;
labelAlign: PropType<"left" | "center" | "right">;
data: {
type: PropType<import("element-plus/es/components/table/src/table/defaults").DefaultRow[]>;
default: () => never[];
};
small: BooleanConstructor;
disabled: BooleanConstructor;
popperClass: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
teleported: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
style: {
type: PropType<import("vue").CSSProperties>;
default: () => {};
};
load: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["load"]>;
rowStyle: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["rowStyle"]>;
lazy: BooleanConstructor;
emptyText: StringConstructor;
defaultExpandAll: BooleanConstructor;
indent: {
type: NumberConstructor;
default: number;
};
maxHeight: (StringConstructor | NumberConstructor)[];
rowKey: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["rowKey"]>;
summaryMethod: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["summaryMethod"]>;
rowClassName: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["rowClassName"]>;
cellClassName: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["cellClassName"]>;
cellStyle: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["cellStyle"]>;
headerRowClassName: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["headerRowClassName"]>;
headerRowStyle: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["headerRowStyle"]>;
headerCellClassName: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["headerCellClassName"]>;
headerCellStyle: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["headerCellStyle"]>;
expandRowKeys: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["expandRowKeys"]>;
defaultSort: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["defaultSort"]>;
spanMethod: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["spanMethod"]>;
treeProps: {
type: PropType<import("element-plus").TableProps<import("element-plus/es/components/table/src/table/defaults").DefaultRow>["treeProps"]>;
default: () => {
hasChildren: string;
children: string;
};
};
prevIcon: {
type: PropType<string | import("vue").Component>;
default: undefined;
};
nextIcon: {
type: PropType<string | import("vue").Component>;
default: undefined;
};
selection: {
type: PropType<boolean | import("../Table/type").ITableSelectionColumns>;
default: boolean;
};
expand: {
type: PropType<boolean | import("../Table/type").ITableExpandColumns>;
default: undefined;
};
index: {
type: PropType<boolean | import("../Table/type").ITableIndexColumns>;
default: boolean;
};
height: (StringConstructor | NumberConstructor)[];
fit: {
type: BooleanConstructor;
default: boolean;
};
stripe: BooleanConstructor;
showHeader: {
type: BooleanConstructor;
default: boolean;
};
showSummary: BooleanConstructor;
sumText: StringConstructor;
highlightCurrentRow: BooleanConstructor;
currentRowKey: (StringConstructor | NumberConstructor)[];
tooltipEffect: StringConstructor;
selectOnIndeterminate: {
type: BooleanConstructor;
default: boolean;
};
className: {
type: StringConstructor;
default: string;
};
tableLayout: {
type: PropType<"fixed" | "auto">;
default: string;
};
scrollbarAlwaysOn: BooleanConstructor;
flexible: BooleanConstructor;
showOverflowTooltip: BooleanConstructor;
headerAlign: PropType<"left" | "center" | "right">;
pageSize: NumberConstructor;
defaultPageSize: NumberConstructor;
total: NumberConstructor;
pageCount: NumberConstructor;
pagerCount: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 7, boolean>;
currentPage: NumberConstructor;
defaultCurrentPage: NumberConstructor;
layout: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
pageSizes: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => number[]) | (() => number[]) | ((new (...args: any[]) => number[]) | (() => number[]))[], unknown, unknown, () => [10, 20, 30, 40, 50, 100], boolean>;
prevText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
nextText: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
background: BooleanConstructor;
hideOnSinglePage: BooleanConstructor;
appendSizeTo: StringConstructor;
max: NumberConstructor;
modelValue: (ObjectConstructor | ArrayConstructor)[];
gutter: import("element-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
justify: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "center" | "space-around" | "space-between" | "space-evenly" | "end" | "start", unknown, "start", boolean>;
labelWidth: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
labelPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "top" | "left" | "right", unknown, "right", boolean>;
rules: {
readonly type: import("vue").PropType<Partial<Record<string, import("element-plus/es/utils").Arrayable<import("element-plus").FormItemRule>>>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
inlineMessage: BooleanConstructor;
showMessage: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
requireAsteriskPosition: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "left" | "right", unknown, "left", boolean>;
labelSuffix: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
inline: BooleanConstructor;
statusIcon: BooleanConstructor;
validateOnRuleChange: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
hideRequiredAsterisk: BooleanConstructor;
scrollToError: BooleanConstructor;
scrollIntoViewOptions: {
readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
readonly required: false;
readonly validator: ((val: unknown) => boolean) | undefined;
__epPropKey: true;
};
prefix: {
type: StringConstructor;
default: string;
};
indexes: {
type: PropType<number[]>;
default: undefined;
};
array: BooleanConstructor;
};
export declare const crudEmits: {
submit: (close: () => void, done: () => void, type: ICrudDialogType, isValid: boolean, invalidFields?: InvalidFields) => boolean;
search: (done: () => void, isValid: boolean, invalidFields?: InvalidFields) => boolean;
searchReset: () => boolean;
add: () => boolean;
edit: (row: ExternalParam) => row is object;
detail: (row: ExternalParam) => row is object;
delete: (row: ExternalParam) => row is object;
'update:search': (value: ExternalParam) => value is object;
'update:currentPage': (current: number) => boolean;
'update:pageSize': (size: number) => boolean;
load: () => boolean;
'update:modelValue': (value: ExternalParam) => value is object | any[] | undefined;
reset: () => boolean;
'step-change': (active: import("element-plus").TabPaneName) => active is string | number;
'collapse-change': (active: import("element-plus").CollapseModelValue) => active is import("element-plus").CollapseActiveName[];
'tab-change': (name: import("element-plus").TabPaneName) => name is string | number;
'add-item': (indexes: number[]) => boolean;
'remove-item': (indexes: number[]) => boolean;
};
export {};