UNPKG

vuetify

Version:

Vue Material Component Framework

56 lines (54 loc) 2.52 kB
import type { InjectionKey, PropType, Ref } from 'vue'; import type { DataTableItem } from '../types.js'; export declare const makeDataTableExpandProps: <Defaults extends { expandOnClick?: unknown; showExpand?: unknown; expanded?: unknown; } = {}>(defaults?: Defaults | undefined) => { expandOnClick: unknown extends Defaults["expandOnClick"] ? BooleanConstructor : { type: 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: PropType<unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]>; default: unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]; }; expanded: unknown extends Defaults["expanded"] ? { type: PropType<readonly string[]>; default: () => never[]; } : Omit<{ type: PropType<readonly string[]>; default: () => never[]; }, "type" | "default"> & { type: PropType<unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]>; default: unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]; }; }; export declare const VDataTableExpandedKey: InjectionKey<{ expand: (item: DataTableItem, value: boolean) => void; expanded: Ref<Set<string>>; expandOnClick: Ref<boolean | undefined>; isExpanded: (item: DataTableItem) => boolean; toggleExpand: (item: DataTableItem) => void; }>; type ExpandProps = { expandOnClick: boolean; expanded: readonly string[]; 'onUpdate:expanded': ((value: any[]) => void) | undefined; }; export declare function provideExpanded(props: ExpandProps): { expand: (item: DataTableItem, value: boolean) => void; expanded: Ref<Set<string>, Set<string>> & { readonly externalValue: readonly string[]; }; expandOnClick: Readonly<Ref<boolean, boolean>>; isExpanded: (item: DataTableItem) => boolean; toggleExpand: (item: DataTableItem) => void; }; export declare function useExpanded(): { expand: (item: DataTableItem, value: boolean) => void; expanded: Ref<Set<string>>; expandOnClick: Ref<boolean | undefined>; isExpanded: (item: DataTableItem) => boolean; toggleExpand: (item: DataTableItem) => void; };