bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
237 lines (236 loc) • 11 kB
TypeScript
import { BTableSortBy, TableField } from '../../types/TableTypes';
import { BTableProps } from '../../types/ComponentProps';
import { LiteralUnion } from '../../types/LiteralUnion';
declare const _default: <Items>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
readonly onChange?: ((value: Items[]) => any) | undefined;
readonly "onHead-clicked"?: ((key: string, field: TableField<Items>, event: MouseEvent, isFooter: boolean) => any) | undefined;
readonly "onRow-clicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onRow-dblclicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onRow-contextmenu"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onRow-hovered"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onRow-unhovered"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onRow-middle-clicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
readonly "onUpdate:sortBy"?: ((value: BTableSortBy<Items>[] | undefined) => any) | undefined;
readonly "onUpdate:busy"?: ((value: boolean) => any) | undefined;
readonly "onUpdate:selectedItems"?: ((value: readonly Items[]) => any) | undefined;
readonly onFiltered?: ((value: Items[]) => any) | undefined;
readonly "onRow-selected"?: ((value: Items) => any) | undefined;
readonly "onRow-unselected"?: ((value: Items) => any) | undefined;
readonly onSorted?: ((value: BTableSortBy<Items>) => any) | undefined;
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onChange" | "onHead-clicked" | "onRow-clicked" | "onRow-dblclicked" | "onRow-contextmenu" | "onRow-hovered" | "onRow-unhovered" | "onRow-middle-clicked" | "onUpdate:sortBy" | "onUpdate:busy" | "onUpdate:selectedItems" | "onFiltered" | "onRow-selected" | "onRow-unselected" | "onSorted"> & ({
sortBy?: BTableProps<Items>["sortBy"];
busy?: Exclude<BTableProps<Items>["busy"], undefined>;
selectedItems?: Exclude<BTableProps<Items>["selectedItems"], undefined>;
} & Omit<BTableProps<Items>, "sortBy" | "busy" | "selectedItems">) & Partial<{}>> & import('vue').PublicProps;
expose(exposed: import('vue').ShallowUnwrapRef<{
items: import('vue').ComputedRef<Items[]>;
displayItems: import('vue').ComputedRef<Items[]>;
getStringValue: (ob: Items, key: string) => string;
refresh: () => Promise<void>;
clearSelected: () => void;
selectAllRows: () => void;
selectRow: (index: number) => void;
unselectRow: (index: number) => void;
isRowSelected: (index: number) => boolean;
}>): void;
attrs: any;
slots: Readonly<{
[key: `head(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
[key: `cell(${string})`]: (props: {
value: unknown;
unformatted: unknown;
index: number;
item: Items;
field: TableField<Items>;
items: readonly Items[];
toggleDetails: () => void;
detailsShowing: boolean;
rowSelected: boolean;
selectRow: (index?: number) => void;
unselectRow: (index?: number) => void;
}) => any;
[key: `foot(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: true;
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
[key: `sortAsc(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
[key: `sortDesc(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
[key: `sortDefault(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
'thead-top'?: (props: {
columns: number;
fields: TableField<Items>[];
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
'thead-sub'?: (props: {
items: readonly Items[];
fields: TableField<Items>[];
field: TableField<Items>;
}) => any;
'top-row'?: (props: {
columns: number;
fields: TableField<Items>[];
}) => any;
'row-details'?: (props: {
item: Items;
toggleDetails: () => void;
fields: TableField<Items>[];
index: number;
rowSelected: boolean;
selectRow: (index?: number) => void;
unselectRow: (index?: number) => void;
}) => any;
'bottom-row'?: (props: {
columns: number;
fields: TableField<Items>[];
}) => any;
'custom-foot'?: (props: {
fields: TableField<Items>[];
items: readonly Items[];
columns: number;
}) => any;
'table-caption'?: (props: Record<string, never>) => any;
'table-busy'?: (props: Record<string, never>) => any;
'empty-filtered'?: (props: {
emptyFilteredText: string;
emptyText: string;
fields: TableField<Items>[];
items: Items[];
}) => any;
empty?: (props: {
emptyFilteredText: string;
emptyText: string;
fields: TableField<Items>[];
items: Items[];
}) => any;
}> & {
[key: `head(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
[key: `cell(${string})`]: (props: {
value: unknown;
unformatted: unknown;
index: number;
item: Items;
field: TableField<Items>;
items: readonly Items[];
toggleDetails: () => void;
detailsShowing: boolean;
rowSelected: boolean;
selectRow: (index?: number) => void;
unselectRow: (index?: number) => void;
}) => any;
[key: `foot(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: true;
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
[key: `sortAsc(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
[key: `sortDesc(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
[key: `sortDefault(${string})`]: (props: {
label: string | undefined;
column: LiteralUnion<keyof Items>;
field: TableField<Items>;
isFoot: false;
}) => any;
'thead-top'?: (props: {
columns: number;
fields: TableField<Items>[];
selectAllRows: () => void;
clearSelected: () => void;
}) => any;
'thead-sub'?: (props: {
items: readonly Items[];
fields: TableField<Items>[];
field: TableField<Items>;
}) => any;
'top-row'?: (props: {
columns: number;
fields: TableField<Items>[];
}) => any;
'row-details'?: (props: {
item: Items;
toggleDetails: () => void;
fields: TableField<Items>[];
index: number;
rowSelected: boolean;
selectRow: (index?: number) => void;
unselectRow: (index?: number) => void;
}) => any;
'bottom-row'?: (props: {
columns: number;
fields: TableField<Items>[];
}) => any;
'custom-foot'?: (props: {
fields: TableField<Items>[];
items: readonly Items[];
columns: number;
}) => any;
'table-caption'?: (props: Record<string, never>) => any;
'table-busy'?: (props: Record<string, never>) => any;
'empty-filtered'?: (props: {
emptyFilteredText: string;
emptyText: string;
fields: TableField<Items>[];
items: Items[];
}) => any;
empty?: (props: {
emptyFilteredText: string;
emptyText: string;
fields: TableField<Items>[];
items: Items[];
}) => any;
};
emit: (((evt: "change", value: Items[]) => void) & ((evt: "head-clicked", key: string, field: TableField<Items>, event: MouseEvent, isFooter: boolean) => void) & ((evt: "row-clicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-dblclicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-contextmenu", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-hovered", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-unhovered", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-middle-clicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "filtered", value: Items[]) => void) & ((evt: "row-selected", value: Items) => void) & ((evt: "row-unselected", value: Items) => void) & ((evt: "sorted", value: BTableSortBy<Items>) => void)) & (((evt: "update:sortBy", value: BTableSortBy<Items>[] | undefined) => void) & ((evt: "update:busy", value: boolean) => void) & ((evt: "update:selectedItems", value: readonly Items[]) => void));
}>) => import('vue').VNode & {
__ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
[K in keyof T]: T[K];
} & {};