@indielayer/ui
Version:
Indielayer UI Components with Tailwind CSS build for Vue 3
550 lines (549 loc) • 19.8 kB
TypeScript
import { type ExtractPublicPropTypes, type PropType } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
import { type TableHeaderAlign } from './TableHeader.vue';
import type { SkeletonShape } from '../skeleton/Skeleton.vue';
declare const tableProps: {
headers: {
type: PropType<TableHeader[]>;
default: () => never[];
};
items: {
type: ArrayConstructor;
default: () => never[];
};
sort: {
type: PropType<string[]>;
default: () => never[];
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
loadingLines: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
error: BooleanConstructor;
dense: BooleanConstructor;
fixed: BooleanConstructor;
striped: BooleanConstructor;
pointer: BooleanConstructor;
scrollable: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: BooleanConstructor;
default: boolean;
};
expandable: BooleanConstructor;
virtualList: BooleanConstructor;
virtualListOffsetTop: NumberConstructor;
virtualListOffsetBottom: NumberConstructor;
virtualListItemHeight: {
type: NumberConstructor;
default: number;
};
virtualListOverscan: {
type: NumberConstructor;
default: number;
};
keyProp: StringConstructor;
selectable: BooleanConstructor;
singleSelect: BooleanConstructor;
autoClearSelected: {
type: BooleanConstructor;
default: boolean;
};
};
export type TableHeader = {
sortable?: boolean;
sort?: string[];
align?: TableHeaderAlign;
value?: string;
text?: string;
width?: string | number;
truncate?: boolean;
skeletonShape?: SkeletonShape;
tooltip?: string;
};
export type TableProps = ExtractPublicPropTypes<typeof tableProps>;
type InternalClasses = 'wrapper' | 'table' | 'loadingWrapper';
export interface TableTheme extends ThemeComponent<TableProps, InternalClasses> {
}
declare const _default: <T>(__VLS_props: Partial<{
error: boolean;
sort: string[];
items: T[];
loading: boolean;
fixed: boolean;
virtualList: boolean;
virtualListItemHeight: number;
virtualListOverscan: number;
headers: TableHeader[];
loadingSkeleton: boolean;
loadingLines: string | number;
dense: boolean;
striped: boolean;
pointer: boolean;
scrollable: boolean;
stickyHeader: boolean;
expandable: boolean;
selectable: boolean;
singleSelect: boolean;
autoClearSelected: boolean;
}> & Omit<{
readonly error: boolean;
readonly sort: string[];
readonly items: T[];
readonly loading: boolean;
readonly fixed: boolean;
readonly virtualList: boolean;
readonly virtualListItemHeight: number;
readonly virtualListOverscan: number;
readonly headers: TableHeader[];
readonly loadingSkeleton: boolean;
readonly loadingLines: string | number;
readonly dense: boolean;
readonly striped: boolean;
readonly pointer: boolean;
readonly scrollable: boolean;
readonly stickyHeader: boolean;
readonly expandable: boolean;
readonly selectable: boolean;
readonly singleSelect: boolean;
readonly autoClearSelected: boolean;
readonly virtualListOffsetTop?: number | undefined;
readonly virtualListOffsetBottom?: number | undefined;
readonly keyProp?: string | undefined;
readonly "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
readonly "onClick-row"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
items: {
type: PropType<T[]>;
default: () => never[];
};
headers: {
type: PropType<TableHeader[]>;
default: () => never[];
};
sort: {
type: PropType<string[]>;
default: () => never[];
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
loadingLines: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
error: BooleanConstructor;
dense: BooleanConstructor;
fixed: BooleanConstructor;
striped: BooleanConstructor;
pointer: BooleanConstructor;
scrollable: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: BooleanConstructor;
default: boolean;
};
expandable: BooleanConstructor;
virtualList: BooleanConstructor;
virtualListOffsetTop: NumberConstructor;
virtualListOffsetBottom: NumberConstructor;
virtualListItemHeight: {
type: NumberConstructor;
default: number;
};
virtualListOverscan: {
type: NumberConstructor;
default: number;
};
keyProp: StringConstructor;
selectable: BooleanConstructor;
singleSelect: BooleanConstructor;
autoClearSelected: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
"onUpdate:sort"?: ((...args: any[]) => any) | undefined;
"onClick-row"?: ((...args: any[]) => any) | undefined;
}>, "error" | "sort" | "items" | "loading" | "fixed" | "virtualList" | "virtualListItemHeight" | "virtualListOverscan" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable" | "selectable" | "singleSelect" | "autoClearSelected"> & {
selected?: string | number | (string | number)[] | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: Pick<{
props: Partial<{
error: boolean;
sort: string[];
items: T[];
loading: boolean;
fixed: boolean;
virtualList: boolean;
virtualListItemHeight: number;
virtualListOverscan: number;
headers: TableHeader[];
loadingSkeleton: boolean;
loadingLines: string | number;
dense: boolean;
striped: boolean;
pointer: boolean;
scrollable: boolean;
stickyHeader: boolean;
expandable: boolean;
selectable: boolean;
singleSelect: boolean;
autoClearSelected: boolean;
}> & Omit<{
readonly error: boolean;
readonly sort: string[];
readonly items: T[];
readonly loading: boolean;
readonly fixed: boolean;
readonly virtualList: boolean;
readonly virtualListItemHeight: number;
readonly virtualListOverscan: number;
readonly headers: TableHeader[];
readonly loadingSkeleton: boolean;
readonly loadingLines: string | number;
readonly dense: boolean;
readonly striped: boolean;
readonly pointer: boolean;
readonly scrollable: boolean;
readonly stickyHeader: boolean;
readonly expandable: boolean;
readonly selectable: boolean;
readonly singleSelect: boolean;
readonly autoClearSelected: boolean;
readonly virtualListOffsetTop?: number | undefined;
readonly virtualListOffsetBottom?: number | undefined;
readonly keyProp?: string | undefined;
readonly "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
readonly "onClick-row"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
items: {
type: PropType<T[]>;
default: () => never[];
};
headers: {
type: PropType<TableHeader[]>;
default: () => never[];
};
sort: {
type: PropType<string[]>;
default: () => never[];
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
loadingLines: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
error: BooleanConstructor;
dense: BooleanConstructor;
fixed: BooleanConstructor;
striped: BooleanConstructor;
pointer: BooleanConstructor;
scrollable: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: BooleanConstructor;
default: boolean;
};
expandable: BooleanConstructor;
virtualList: BooleanConstructor;
virtualListOffsetTop: NumberConstructor;
virtualListOffsetBottom: NumberConstructor;
virtualListItemHeight: {
type: NumberConstructor;
default: number;
};
virtualListOverscan: {
type: NumberConstructor;
default: number;
};
keyProp: StringConstructor;
selectable: BooleanConstructor;
singleSelect: BooleanConstructor;
autoClearSelected: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
"onUpdate:sort"?: ((...args: any[]) => any) | undefined;
"onClick-row"?: ((...args: any[]) => any) | undefined;
}>, "error" | "sort" | "items" | "loading" | "fixed" | "virtualList" | "virtualListItemHeight" | "virtualListOverscan" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable" | "selectable" | "singleSelect" | "autoClearSelected"> & {
selected?: string | number | (string | number)[] | undefined;
};
expose(exposed: {}): void;
attrs: any;
slots: Partial<Record<string, (_: {
header: TableHeader;
}) => any>> & Partial<Record<string, (_: {
item: number;
}) => any>> & Partial<Record<string, (_: {
item: T;
}) => any>> & {
title?(_: {}): any;
actions?(_: {}): any;
error?(_: {}): any;
empty?(_: {}): any;
"expanded-row"?(_: {
item: T;
}): any;
};
emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
}, "emit" | "attrs" | "slots"> | undefined, __VLS_setup?: {
props: Partial<{
error: boolean;
sort: string[];
items: T[];
loading: boolean;
fixed: boolean;
virtualList: boolean;
virtualListItemHeight: number;
virtualListOverscan: number;
headers: TableHeader[];
loadingSkeleton: boolean;
loadingLines: string | number;
dense: boolean;
striped: boolean;
pointer: boolean;
scrollable: boolean;
stickyHeader: boolean;
expandable: boolean;
selectable: boolean;
singleSelect: boolean;
autoClearSelected: boolean;
}> & Omit<{
readonly error: boolean;
readonly sort: string[];
readonly items: T[];
readonly loading: boolean;
readonly fixed: boolean;
readonly virtualList: boolean;
readonly virtualListItemHeight: number;
readonly virtualListOverscan: number;
readonly headers: TableHeader[];
readonly loadingSkeleton: boolean;
readonly loadingLines: string | number;
readonly dense: boolean;
readonly striped: boolean;
readonly pointer: boolean;
readonly scrollable: boolean;
readonly stickyHeader: boolean;
readonly expandable: boolean;
readonly selectable: boolean;
readonly singleSelect: boolean;
readonly autoClearSelected: boolean;
readonly virtualListOffsetTop?: number | undefined;
readonly virtualListOffsetBottom?: number | undefined;
readonly keyProp?: string | undefined;
readonly "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
readonly "onClick-row"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
items: {
type: PropType<T[]>;
default: () => never[];
};
headers: {
type: PropType<TableHeader[]>;
default: () => never[];
};
sort: {
type: PropType<string[]>;
default: () => never[];
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
loadingLines: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
error: BooleanConstructor;
dense: BooleanConstructor;
fixed: BooleanConstructor;
striped: BooleanConstructor;
pointer: BooleanConstructor;
scrollable: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: BooleanConstructor;
default: boolean;
};
expandable: BooleanConstructor;
virtualList: BooleanConstructor;
virtualListOffsetTop: NumberConstructor;
virtualListOffsetBottom: NumberConstructor;
virtualListItemHeight: {
type: NumberConstructor;
default: number;
};
virtualListOverscan: {
type: NumberConstructor;
default: number;
};
keyProp: StringConstructor;
selectable: BooleanConstructor;
singleSelect: BooleanConstructor;
autoClearSelected: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
"onUpdate:sort"?: ((...args: any[]) => any) | undefined;
"onClick-row"?: ((...args: any[]) => any) | undefined;
}>, "error" | "sort" | "items" | "loading" | "fixed" | "virtualList" | "virtualListItemHeight" | "virtualListOverscan" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable" | "selectable" | "singleSelect" | "autoClearSelected"> & {
selected?: string | number | (string | number)[] | undefined;
};
expose(exposed: {}): void;
attrs: any;
slots: Partial<Record<string, (_: {
header: TableHeader;
}) => any>> & Partial<Record<string, (_: {
item: number;
}) => any>> & Partial<Record<string, (_: {
item: T;
}) => any>> & {
title?(_: {}): any;
actions?(_: {}): any;
error?(_: {}): any;
empty?(_: {}): any;
"expanded-row"?(_: {
item: T;
}): any;
};
emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> & {
__ctx?: {
props: Partial<{
error: boolean;
sort: string[];
items: T[];
loading: boolean;
fixed: boolean;
virtualList: boolean;
virtualListItemHeight: number;
virtualListOverscan: number;
headers: TableHeader[];
loadingSkeleton: boolean;
loadingLines: string | number;
dense: boolean;
striped: boolean;
pointer: boolean;
scrollable: boolean;
stickyHeader: boolean;
expandable: boolean;
selectable: boolean;
singleSelect: boolean;
autoClearSelected: boolean;
}> & Omit<{
readonly error: boolean;
readonly sort: string[];
readonly items: T[];
readonly loading: boolean;
readonly fixed: boolean;
readonly virtualList: boolean;
readonly virtualListItemHeight: number;
readonly virtualListOverscan: number;
readonly headers: TableHeader[];
readonly loadingSkeleton: boolean;
readonly loadingLines: string | number;
readonly dense: boolean;
readonly striped: boolean;
readonly pointer: boolean;
readonly scrollable: boolean;
readonly stickyHeader: boolean;
readonly expandable: boolean;
readonly selectable: boolean;
readonly singleSelect: boolean;
readonly autoClearSelected: boolean;
readonly virtualListOffsetTop?: number | undefined;
readonly virtualListOffsetBottom?: number | undefined;
readonly keyProp?: string | undefined;
readonly "onUpdate:sort"?: ((...args: any[]) => any) | undefined;
readonly "onClick-row"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
items: {
type: PropType<T[]>;
default: () => never[];
};
headers: {
type: PropType<TableHeader[]>;
default: () => never[];
};
sort: {
type: PropType<string[]>;
default: () => never[];
};
loading: BooleanConstructor;
loadingSkeleton: BooleanConstructor;
loadingLines: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
error: BooleanConstructor;
dense: BooleanConstructor;
fixed: BooleanConstructor;
striped: BooleanConstructor;
pointer: BooleanConstructor;
scrollable: {
type: BooleanConstructor;
default: boolean;
};
stickyHeader: {
type: BooleanConstructor;
default: boolean;
};
expandable: BooleanConstructor;
virtualList: BooleanConstructor;
virtualListOffsetTop: NumberConstructor;
virtualListOffsetBottom: NumberConstructor;
virtualListItemHeight: {
type: NumberConstructor;
default: number;
};
virtualListOverscan: {
type: NumberConstructor;
default: number;
};
keyProp: StringConstructor;
selectable: BooleanConstructor;
singleSelect: BooleanConstructor;
autoClearSelected: {
type: BooleanConstructor;
default: boolean;
};
}>> & Readonly<{
"onUpdate:sort"?: ((...args: any[]) => any) | undefined;
"onClick-row"?: ((...args: any[]) => any) | undefined;
}>, "error" | "sort" | "items" | "loading" | "fixed" | "virtualList" | "virtualListItemHeight" | "virtualListOverscan" | "headers" | "loadingSkeleton" | "loadingLines" | "dense" | "striped" | "pointer" | "scrollable" | "stickyHeader" | "expandable" | "selectable" | "singleSelect" | "autoClearSelected"> & {
selected?: string | number | (string | number)[] | undefined;
};
expose(exposed: {}): void;
attrs: any;
slots: Partial<Record<string, (_: {
header: TableHeader;
}) => any>> & Partial<Record<string, (_: {
item: number;
}) => any>> & Partial<Record<string, (_: {
item: T;
}) => any>> & {
title?(_: {}): any;
actions?(_: {}): any;
error?(_: {}): any;
empty?(_: {}): any;
"expanded-row"?(_: {
item: T;
}): any;
};
emit: (event: "update:sort" | "click-row", ...args: any[]) => void;
} | undefined;
};
export default _default;