vuestic-ui
Version:
Vue 3 UI Framework
29 lines (28 loc) • 1.15 kB
TypeScript
import { Ref, ExtractPropTypes } from 'vue';
import type { DataTableColumnInternal, DataTableItem, DataTableCell, DataTableItemKey } from '../types';
export declare const getItemKey: <T extends Record<string, any>>(source: T, itemsTrackBy: string | ((item: T) => any)) => DataTableItemKey;
export declare const createRowsProps: <T extends Record<string, any>>() => {
itemsTrackBy: {
type: import("vue").PropType<string | ((item: Record<string, any>) => any)>;
default: string;
};
items: {
type: import("vue").PropType<T[]>;
default: () => T[];
};
};
type RowsProps<Item> = Omit<ExtractPropTypes<ReturnType<typeof createRowsProps>>, 'items'> & {
items: Item[];
};
export declare const useRows: <Item extends Record<string, any>>(columns: Ref<DataTableColumnInternal[]>, props: RowsProps<Item>) => {
rowsComputed: import("vue").ComputedRef<{
toggleRowDetails: (show?: boolean) => void;
isExpandableRowVisible: boolean;
source: Item;
initialIndex: number;
itemKey: any;
cells: DataTableCell<Item>[];
rowData: Item;
}[]>;
};
export {};