UNPKG

@vuetify/nightly

Version:

Vue Material Component Framework

817 lines (816 loc) • 143 kB
// Styles // Composables import { provideExpanded } from './composables/expand.js'; import { provideGroupBy } from './composables/group.js'; import { providePagination } from './composables/paginate.js'; import { provideSelection } from './composables/select.js'; import { provideSort } from './composables/sort.js'; // Types import type { UnwrapRef } from 'vue'; import type { Group, GroupSummary } from './composables/group.js'; import type { CellProps, DataTableItem, InternalDataTableHeader, RowProps } from './types.js'; import type { VDataTableHeadersSlots } from './VDataTableHeaders.js'; import type { VDataTableRowsSlots } from './VDataTableRows.js'; import type { GenericProps, SelectItemKey } from '../../util/index.js'; export type VDataTableSlotProps<T> = { page: number; itemsPerPage: number; sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>; pageCount: number; toggleSort: ReturnType<typeof provideSort>['toggleSort']; setItemsPerPage: ReturnType<typeof providePagination>['setItemsPerPage']; someSelected: boolean; allSelected: boolean; isSelected: ReturnType<typeof provideSelection>['isSelected']; select: ReturnType<typeof provideSelection>['select']; selectAll: ReturnType<typeof provideSelection>['selectAll']; toggleSelect: ReturnType<typeof provideSelection>['toggleSelect']; isExpanded: ReturnType<typeof provideExpanded>['isExpanded']; toggleExpand: ReturnType<typeof provideExpanded>['toggleExpand']; isGroupOpen: ReturnType<typeof provideGroupBy>['isGroupOpen']; toggleGroup: ReturnType<typeof provideGroupBy>['toggleGroup']; items: readonly T[]; internalItems: readonly DataTableItem[]; groupedItems: readonly (DataTableItem<T> | Group<DataTableItem<T>> | GroupSummary<DataTableItem<T>>)[]; columns: InternalDataTableHeader[]; headers: InternalDataTableHeader[][]; }; export type VDataTableSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & { default: VDataTableSlotProps<T>; colgroup: VDataTableSlotProps<T>; top: VDataTableSlotProps<T>; body: VDataTableSlotProps<T>; tbody: VDataTableSlotProps<T>; thead: VDataTableSlotProps<T>; tfoot: VDataTableSlotProps<T>; bottom: VDataTableSlotProps<T>; 'body.prepend': VDataTableSlotProps<T>; 'body.append': VDataTableSlotProps<T>; 'footer.prepend': never; }; export declare const makeDataTableProps: <Defaults extends { theme?: unknown; class?: unknown; style?: unknown; mobile?: unknown; mobileBreakpoint?: unknown; expandOnClick?: unknown; showExpand?: unknown; expanded?: unknown; sortBy?: unknown; customKeySort?: unknown; mustSort?: unknown; groupBy?: unknown; items?: unknown; itemValue?: unknown; itemSelectable?: unknown; rowProps?: unknown; cellProps?: unknown; returnObject?: unknown; showSelect?: unknown; selectStrategy?: unknown; modelValue?: unknown; valueComparator?: unknown; density?: unknown; tag?: unknown; loading?: unknown; headers?: unknown; color?: unknown; disableSort?: unknown; multiSort?: unknown; sortAscIcon?: unknown; sortDescIcon?: unknown; headerProps?: unknown; sticky?: unknown; groupCollapseIcon?: unknown; groupExpandIcon?: unknown; collapseIcon?: unknown; expandIcon?: unknown; loadingText?: unknown; hideNoData?: unknown; noDataText?: unknown; fixedHeader?: unknown; fixedFooter?: unknown; height?: unknown; hover?: unknown; striped?: unknown; hideDefaultBody?: unknown; hideDefaultFooter?: unknown; hideDefaultHeader?: unknown; width?: unknown; search?: unknown; } = {}>(defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType<any> : { type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType<import("vue").StyleValue>; default: null; } : Omit<{ type: import("vue").PropType<import("vue").StyleValue>; default: null; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | import("vue").StyleValue>; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable<import("vue").StyleValue>; }; mobile: unknown extends Defaults["mobile"] ? { type: import("vue").PropType<boolean | null>; default: boolean; } : Omit<{ type: import("vue").PropType<boolean | null>; default: boolean; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["mobile"] ? boolean | null : boolean | Defaults["mobile"] | null>; default: unknown extends Defaults["mobile"] ? boolean | null : Defaults["mobile"] | NonNullable<boolean | null>; }; mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? import("vue").PropType<number | import("../../types.js").DisplayBreakpoint> : { type: import("vue").PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>; default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>; }; expandOnClick: unknown extends Defaults["expandOnClick"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["expandOnClick"] ? boolean : boolean | Defaults["expandOnClick"]>; default: unknown extends Defaults["expandOnClick"] ? boolean : boolean | Defaults["expandOnClick"]; }; showExpand: unknown extends Defaults["showExpand"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]>; default: unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]; }; expanded: unknown extends Defaults["expanded"] ? { type: import("vue").PropType<readonly string[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly string[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]>; default: unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]; }; sortBy: unknown extends Defaults["sortBy"] ? { type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["sortBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["sortBy"]>; default: unknown extends Defaults["sortBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["sortBy"]; }; customKeySort: unknown extends Defaults["customKeySort"] ? import("vue").PropType<Record<string, import("../../types.js").DataTableCompareFunction>> : { type: import("vue").PropType<unknown extends Defaults["customKeySort"] ? Record<string, import("../../types.js").DataTableCompareFunction> : Record<string, import("../../types.js").DataTableCompareFunction> | Defaults["customKeySort"]>; default: unknown extends Defaults["customKeySort"] ? Record<string, import("../../types.js").DataTableCompareFunction> : Record<string, import("../../types.js").DataTableCompareFunction> | Defaults["customKeySort"]; }; mustSort: unknown extends Defaults["mustSort"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["mustSort"] ? boolean : boolean | Defaults["mustSort"]>; default: unknown extends Defaults["mustSort"] ? boolean : boolean | Defaults["mustSort"]; }; groupBy: unknown extends Defaults["groupBy"] ? { type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["groupBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["groupBy"]>; default: unknown extends Defaults["groupBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["groupBy"]; }; items: unknown extends Defaults["items"] ? { type: import("vue").PropType<any[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<any[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]>; default: unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]; }; itemValue: unknown extends Defaults["itemValue"] ? { type: import("vue").PropType<SelectItemKey>; default: string; } : Omit<{ type: import("vue").PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["itemValue"] ? SelectItemKey : Defaults["itemValue"] | SelectItemKey>; default: unknown extends Defaults["itemValue"] ? SelectItemKey : Defaults["itemValue"] | NonNullable<SelectItemKey>; }; itemSelectable: unknown extends Defaults["itemSelectable"] ? { type: import("vue").PropType<SelectItemKey>; default: null; } : Omit<{ type: import("vue").PropType<SelectItemKey>; default: null; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["itemSelectable"] ? SelectItemKey : Defaults["itemSelectable"] | SelectItemKey>; default: unknown extends Defaults["itemSelectable"] ? SelectItemKey : Defaults["itemSelectable"] | NonNullable<SelectItemKey>; }; rowProps: unknown extends Defaults["rowProps"] ? import("vue").PropType<RowProps<any>> : { type: import("vue").PropType<unknown extends Defaults["rowProps"] ? RowProps<any> : Defaults["rowProps"] | RowProps<any>>; default: unknown extends Defaults["rowProps"] ? RowProps<any> : Defaults["rowProps"] | NonNullable<RowProps<any>>; }; cellProps: unknown extends Defaults["cellProps"] ? import("vue").PropType<CellProps<any>> : { type: import("vue").PropType<unknown extends Defaults["cellProps"] ? CellProps<any> : Defaults["cellProps"] | CellProps<any>>; default: unknown extends Defaults["cellProps"] ? CellProps<any> : Defaults["cellProps"] | NonNullable<CellProps<any>>; }; returnObject: unknown extends Defaults["returnObject"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]>; default: unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]; }; showSelect: unknown extends Defaults["showSelect"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["showSelect"] ? boolean : boolean | Defaults["showSelect"]>; default: unknown extends Defaults["showSelect"] ? boolean : boolean | Defaults["showSelect"]; }; selectStrategy: unknown extends Defaults["selectStrategy"] ? { type: import("vue").PropType<"all" | "page" | "single">; default: string; } : Omit<{ type: import("vue").PropType<"all" | "page" | "single">; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["selectStrategy"] ? "all" | "page" | "single" : "all" | "page" | "single" | Defaults["selectStrategy"]>; default: unknown extends Defaults["selectStrategy"] ? "all" | "page" | "single" : Defaults["selectStrategy"] | NonNullable<"all" | "page" | "single">; }; modelValue: unknown extends Defaults["modelValue"] ? { type: import("vue").PropType<readonly any[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly any[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"]>; default: unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"]; }; valueComparator: unknown extends Defaults["valueComparator"] ? import("vue").PropType<typeof import("../../util/index.js").deepEqual> : { type: import("vue").PropType<unknown extends Defaults["valueComparator"] ? typeof import("../../util/index.js").deepEqual : typeof import("../../util/index.js").deepEqual | Defaults["valueComparator"]>; default: unknown extends Defaults["valueComparator"] ? typeof import("../../util/index.js").deepEqual : typeof import("../../util/index.js").deepEqual | Defaults["valueComparator"]; }; density: unknown extends Defaults["density"] ? { type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | import("../../composables/density.js").Density>; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable<import("../../composables/density.js").Density>; }; tag: unknown extends Defaults["tag"] ? { type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; } : Omit<{ type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>; }; loading: unknown extends Defaults["loading"] ? (BooleanConstructor | StringConstructor)[] : { type: import("vue").PropType<unknown extends Defaults["loading"] ? string | boolean : string | boolean | Defaults["loading"]>; default: unknown extends Defaults["loading"] ? string | boolean : Defaults["loading"] | NonNullable<string | boolean>; }; headers: unknown extends Defaults["headers"] ? import("vue").PropType<readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[]> : { type: import("vue").PropType<unknown extends Defaults["headers"] ? readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly any[] | undefined; }[] | undefined; }[] : readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly any[] | undefined; }[] | undefined; }[] | Defaults["headers"]>; default: unknown extends Defaults["headers"] ? readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly any[] | undefined; }[] | undefined; }[] : readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-expand" | "data-table-group" | "data-table-select" | (string & {}) | undefined; readonly value?: SelectItemKey<Record<string, any>>; readonly title?: string | undefined; readonly fixed?: "end" | "start" | boolean | undefined; readonly align?: "center" | "end" | "start" | undefined; readonly width?: string | number | undefined; readonly minWidth?: string | number | undefined; readonly maxWidth?: string | number | undefined; readonly nowrap?: boolean | undefined; readonly intent?: number | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("../../types.js").DataTableHeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly sortRaw?: import("../../types.js").DataTableCompareFunction<any> | undefined; readonly filter?: import("../../types.js").FilterFunction | undefined; readonly children?: readonly any[] | undefined; }[] | undefined; }[] | Defaults["headers"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; disableSort: unknown extends Defaults["disableSort"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"]>; default: unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"]; }; multiSort: unknown extends Defaults["multiSort"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]>; default: unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]; }; sortAscIcon: unknown extends Defaults["sortAscIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["sortAscIcon"] ? import("../../composables/icons.js").IconValue : Defaults["sortAscIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["sortAscIcon"] ? import("../../composables/icons.js").IconValue : Defaults["sortAscIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; sortDescIcon: unknown extends Defaults["sortDescIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["sortDescIcon"] ? import("../../composables/icons.js").IconValue : Defaults["sortDescIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["sortDescIcon"] ? import("../../composables/icons.js").IconValue : Defaults["sortDescIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; headerProps: unknown extends Defaults["headerProps"] ? { type: import("vue").PropType<Record<string, any>>; } : Omit<{ type: import("vue").PropType<Record<string, any>>; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["headerProps"] ? Record<string, any> : Record<string, any> | Defaults["headerProps"]>; default: unknown extends Defaults["headerProps"] ? Record<string, any> : Record<string, any> | Defaults["headerProps"]; }; sticky: unknown extends Defaults["sticky"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["sticky"] ? boolean : boolean | Defaults["sticky"]>; default: unknown extends Defaults["sticky"] ? boolean : boolean | Defaults["sticky"]; }; groupCollapseIcon: unknown extends Defaults["groupCollapseIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["groupCollapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["groupCollapseIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["groupCollapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["groupCollapseIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; groupExpandIcon: unknown extends Defaults["groupExpandIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["groupExpandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["groupExpandIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["groupExpandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["groupExpandIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; collapseIcon: unknown extends Defaults["collapseIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; expandIcon: unknown extends Defaults["expandIcon"] ? { type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/icons.js").IconValue>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | import("../../composables/icons.js").IconValue>; default: unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | NonNullable<import("../../composables/icons.js").IconValue>; }; loadingText: unknown extends Defaults["loadingText"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["loadingText"] ? string : string | Defaults["loadingText"]>; default: unknown extends Defaults["loadingText"] ? string : string | Defaults["loadingText"]; }; hideNoData: unknown extends Defaults["hideNoData"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"]>; default: unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"]; }; noDataText: unknown extends Defaults["noDataText"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["noDataText"] ? string : string | Defaults["noDataText"]>; default: unknown extends Defaults["noDataText"] ? string : string | Defaults["noDataText"]; }; fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]>; default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]; }; fixedFooter: unknown extends Defaults["fixedFooter"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"]>; default: unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"]; }; height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : { type: import("vue").PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>; default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable<string | number>; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; striped: unknown extends Defaults["striped"] ? { type: import("vue").PropType<import("../VTable/VTable.js").Striped>; default: null; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType<import("../VTable/VTable.js").Striped>; default: null; validator: (v: any) => boolean; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : Defaults["striped"] | import("../VTable/VTable.js").Striped>; default: unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : Defaults["striped"] | NonNullable<import("../VTable/VTable.js").Striped>; }; hideDefaultBody: unknown extends Defaults["hideDefaultBody"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hideDefaultBody"] ? boolean : boolean | Defaults["hideDefaultBody"]>; default: unknown extends Defaults["hideDefaultBody"] ? boolean : boolean | Defaults["hideDefaultBody"]; }; hideDefaultFooter: unknown extends Defaults["hideDefaultFooter"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hideDefaultFooter"] ? boolean : boolean | Defaults["hideDefaultFooter"]>; default: unknown extends Defaults["hideDefaultFooter"] ? boolean : boolean | Defaults["hideDefaultFooter"]; }; hideDefaultHeader: unknown extends Defaults["hideDefaultHeader"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hideDefaultHeader"] ? boolean : boolean | Defaults["hideDefaultHeader"]>; default: unknown extends Defaults["hideDefaultHeader"] ? boolean : boolean | Defaults["hideDefaultHeader"]; }; width: unknown extends Defaults["width"] ? (NumberConstructor | StringConstructor)[] : { type: import("vue").PropType<unknown extends Defaults["width"] ? string | number : string | number | Defaults["width"]>; default: unknown extends Defaults["width"] ? string | number : Defaults["width"] | NonNullable<string | number>; }; search: unknown extends Defaults["search"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["search"] ? string : string | Defaults["search"]>; default: unknown extends Defaults["search"] ? string : string | Defaults["search"]; }; }; export declare const makeVDataTableProps: <Defaults extends { theme?: unknown; class?: unknown; style?: unknown; mobile?: unknown; mobileBreakpoint?: unknown; customFilter?: unknown; customKeyFilter?: unknown; filterKeys?: unknown; filterMode?: unknown; noFilter?: unknown; expandOnClick?: unknown; showExpand?: unknown; expanded?: unknown; sortBy?: unknown; customKeySort?: unknown; mustSort?: unknown; groupBy?: unknown; items?: unknown; itemValue?: unknown; itemSelectable?: unknown; rowProps?: unknown; cellProps?: unknown; returnObject?: unknown; showSelect?: unknown; selectStrategy?: unknown; modelValue?: unknown; valueComparator?: unknown; density?: unknown; tag?: unknown; loading?: unknown; page?: unknown; itemsPerPage?: unknown; prevIcon?: unknown; nextIcon?: unknown; firstIcon?: unknown; lastIcon?: unknown; itemsPerPageText?: unknown; pageText?: unknown; firstPageLabel?: unknown; prevPageLabel?: unknown; nextPageLabel?: unknown; lastPageLabel?: unknown; itemsPerPageOptions?: unknown; showCurrentPage?: unknown; headers?: unknown; color?: unknown; disableSort?: unknown; multiSort?: unknown; sortAscIcon?: unknown; sortDescIcon?: unknown; headerProps?: unknown; sticky?: unknown; groupCollapseIcon?: unknown; groupExpandIcon?: unknown; collapseIcon?: unknown; expandIcon?: unknown; loadingText?: unknown; hideNoData?: unknown; noDataText?: unknown; fixedHeader?: unknown; fixedFooter?: unknown; height?: unknown; hover?: unknown; striped?: unknown; hideDefaultBody?: unknown; hideDefaultFooter?: unknown; hideDefaultHeader?: unknown; width?: unknown; search?: unknown; } = {}>(defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType<any> : { type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType<import("vue").StyleValue>; default: null; } : Omit<{ type: import("vue").PropType<import("vue").StyleValue>; default: null; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | import("vue").StyleValue>; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable<import("vue").StyleValue>; }; mobile: unknown extends Defaults["mobile"] ? { type: import("vue").PropType<boolean | null>; default: boolean; } : Omit<{ type: import("vue").PropType<boolean | null>; default: boolean; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["mobile"] ? boolean | null : boolean | Defaults["mobile"] | null>; default: unknown extends Defaults["mobile"] ? boolean | null : Defaults["mobile"] | NonNullable<boolean | null>; }; mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? import("vue").PropType<number | import("../../types.js").DisplayBreakpoint> : { type: import("vue").PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>; default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>; }; customFilter: unknown extends Defaults["customFilter"] ? import("vue").PropType<import("../../types.js").FilterFunction> : { type: import("vue").PropType<unknown extends Defaults["customFilter"] ? import("../../types.js").FilterFunction : import("../../types.js").FilterFunction | Defaults["customFilter"]>; default: unknown extends Defaults["customFilter"] ? import("../../types.js").FilterFunction : import("../../types.js").FilterFunction | Defaults["customFilter"]; }; customKeyFilter: unknown extends Defaults["customKeyFilter"] ? import("vue").PropType<import("../../composables/filter.js").FilterKeyFunctions> : { type: import("vue").PropType<unknown extends Defaults["customKeyFilter"] ? import("../../composables/filter.js").FilterKeyFunctions : import("../../composables/filter.js").FilterKeyFunctions | Defaults["customKeyFilter"]>; default: unknown extends Defaults["customKeyFilter"] ? import("../../composables/filter.js").FilterKeyFunctions : import("../../composables/filter.js").FilterKeyFunctions | Defaults["customKeyFilter"]; }; filterKeys: unknown extends Defaults["filterKeys"] ? import("vue").PropType<import("../../composables/filter.js").FilterKeys> : { type: import("vue").PropType<unknown extends Defaults["filterKeys"] ? import("../../composables/filter.js").FilterKeys : Defaults["filterKeys"] | import("../../composables/filter.js").FilterKeys>; default: unknown extends Defaults["filterKeys"] ? import("../../composables/filter.js").FilterKeys : Defaults["filterKeys"] | NonNullable<import("../../composables/filter.js").FilterKeys>; }; filterMode: unknown extends Defaults["filterMode"] ? { type: import("vue").PropType<import("../../composables/filter.js").FilterMode>; default: string; } : Omit<{ type: import("vue").PropType<import("../../composables/filter.js").FilterMode>; default: string; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["filterMode"] ? import("../../composables/filter.js").FilterMode : Defaults["filterMode"] | import("../../composables/filter.js").FilterMode>; default: unknown extends Defaults["filterMode"] ? import("../../composables/filter.js").FilterMode : Defaults["filterMode"] | NonNullable<import("../../composables/filter.js").FilterMode>; }; noFilter: unknown extends Defaults["noFilter"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["noFilter"] ? boolean : boolean | Defaults["noFilter"]>; default: unknown extends Defaults["noFilter"] ? boolean : boolean | Defaults["noFilter"]; }; expandOnClick: unknown extends Defaults["expandOnClick"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["expandOnClick"] ? boolean : boolean | Defaults["expandOnClick"]>; default: unknown extends Defaults["expandOnClick"] ? boolean : boolean | Defaults["expandOnClick"]; }; showExpand: unknown extends Defaults["showExpand"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]>; default: unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]; }; expanded: unknown extends Defaults["expanded"] ? { type: import("vue").PropType<readonly string[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly string[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]>; default: unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]; }; sortBy: unknown extends Defaults["sortBy"] ? { type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; } : Omit<{ type: import("vue").PropType<readonly import("../../types.js").DataTableSortItem[]>; default: () => never[]; }, "default" | "type"> & { type: import("vue").PropType<unknown extends Defaults["sortBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["sortBy"]>; default: unknown extends Defaults["sortBy"] ? readonly import("../../types.js").DataTableSortItem[] : readonly import("../../types.js").DataTableSortItem[] | Defaults["sortBy"]; }; customKeySort: unknown extends Defaults["customKeySort"] ? import("vue").PropType<Record<string, import("../../types.js").DataTableCompareFunction>> : { type: import("vue").PropType<unknown extends Defaults["customKeySort"] ? Record<string, import("../../types.js").DataTableCompareFunction> : Record<string, import("../../types.js"