UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

41 lines (40 loc) 2.32 kB
import { MaybeRef, MaybeRefOrGetter, Ref } from 'vue'; import { ItemTrackerReturn, TableDetailsReturn, TableField, TableFieldRaw, TableHeadClickedEventObject, TablePrimaryKey, TableRowEventObject } from '../types/TableTypes'; import { StackedProps } from '../utils/tableUtils'; export declare const useTableFieldsMapper: <Item>({ fields, items, stackedProps, }: { fields: MaybeRefOrGetter<readonly TableFieldRaw<Item>[]>; items: MaybeRefOrGetter<readonly Item[]>; stackedProps: { stacked: MaybeRefOrGetter<StackedProps["stacked"]>; labelStacked: MaybeRefOrGetter<StackedProps["labelStacked"]>; }; }) => { total: import('vue').ComputedRef<number>; showHeaders: import('vue').ComputedRef<boolean>; fields: import('vue').ComputedRef<TableField[]>; }; export declare const useItemTracker: <Item>({ allItems, selectedItems, primaryKey, }: { allItems: MaybeRefOrGetter<readonly Item[]>; selectedItems: Ref<readonly unknown[]>; primaryKey?: MaybeRef<TablePrimaryKey<Item> | undefined>; }) => ItemTrackerReturn<Item>; export declare const useItemExpansion: <Item>({ allItems, primaryKey, expandedItems, }: { allItems: MaybeRefOrGetter<readonly Item[]>; primaryKey: MaybeRef<TablePrimaryKey<Item> | undefined>; expandedItems: Ref<readonly unknown[]>; }) => TableDetailsReturn<Item>; export declare const useTableKeyboardNavigation: <Item>({ items, id, }: { items: MaybeRefOrGetter<readonly Item[]>; id: MaybeRefOrGetter<string>; }, events: { onHeadClicked: (obj: TableHeadClickedEventObject<Item, Readonly<KeyboardEvent> | Readonly<MouseEvent>>) => void; onRowClicked: (obj: TableRowEventObject<Item, Readonly<KeyboardEvent> | Readonly<MouseEvent>>) => void; onRowMiddleClicked: (obj: TableRowEventObject<Item>) => void; }) => { shouldHeaderBeFocusable: (field: TableField) => boolean; headerClicked: (field: TableField, event: Readonly<MouseEvent> | Readonly<KeyboardEvent>, isFooter?: boolean) => void; handleHeaderKeydown: (field: TableField, event: KeyboardEvent, isFooter?: boolean) => void; shouldRowBeFocusable: import('vue').ComputedRef<boolean>; handleRowKeydown: (item: Item, itemIndex: number, event: KeyboardEvent) => void; handleMiddleClick: (item: Item, itemIndex: number, event: MouseEvent) => void; };