UNPKG

vuetify

Version:

Vue Material Component Framework

144 lines (142 loc) 7.58 kB
import type { InjectionKey, MaybeRefOrGetter, PropType, Ref } from 'vue'; import type { ActiveStrategy } from './activeStrategies.js'; import type { OpenStrategy } from './openStrategies.js'; import type { SelectStrategy } from './selectStrategies.js'; import type { EventProp } from "../../util/index.js"; export type ActiveStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | ActiveStrategy | ((mandatory: boolean) => ActiveStrategy); export type SelectStrategyProp = 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | 'trunk' | SelectStrategy | ((mandatory: boolean) => SelectStrategy); export type OpenStrategyProp = 'single' | 'multiple' | 'list' | OpenStrategy; export interface NestedProps { activatable: boolean; selectable: boolean; activeStrategy: ActiveStrategyProp | undefined; selectStrategy: SelectStrategyProp | undefined; openStrategy: OpenStrategyProp | undefined; activated: any; selected: any; opened: any; mandatory: boolean; 'onUpdate:activated': EventProp<[any]> | undefined; 'onUpdate:selected': EventProp<[any]> | undefined; 'onUpdate:opened': EventProp<[any]> | undefined; } type NestedProvide = { id: Ref<unknown>; isGroupActivator?: boolean; root: { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; activatable: Ref<boolean>; selectable: Ref<boolean>; opened: Ref<Set<unknown>>; activated: Ref<Set<unknown>>; selected: Ref<Map<unknown, 'on' | 'off' | 'indeterminate'>>; selectedValues: Ref<unknown[]>; register: (id: unknown, parentId: unknown, isGroup?: boolean) => void; unregister: (id: unknown) => void; open: (id: unknown, value: boolean, event?: Event) => void; activate: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; openOnSelect: (id: unknown, value: boolean, event?: Event) => void; getPath: (id: unknown) => unknown[]; }; }; export declare const VNestedSymbol: InjectionKey<NestedProvide>; export declare const emptyNested: NestedProvide; export declare const makeNestedProps: <Defaults extends { activatable?: unknown; selectable?: unknown; activeStrategy?: unknown; selectStrategy?: unknown; openStrategy?: unknown; opened?: unknown; activated?: unknown; selected?: unknown; mandatory?: unknown; } = {}>(defaults?: Defaults | undefined) => { activatable: unknown extends Defaults["activatable"] ? BooleanConstructor : { type: PropType<unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"]>; default: unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"]; }; selectable: unknown extends Defaults["selectable"] ? BooleanConstructor : { type: PropType<unknown extends Defaults["selectable"] ? boolean : boolean | Defaults["selectable"]>; default: unknown extends Defaults["selectable"] ? boolean : boolean | Defaults["selectable"]; }; activeStrategy: unknown extends Defaults["activeStrategy"] ? PropType<ActiveStrategyProp> : { type: PropType<unknown extends Defaults["activeStrategy"] ? ActiveStrategyProp : ActiveStrategyProp | Defaults["activeStrategy"]>; default: unknown extends Defaults["activeStrategy"] ? ActiveStrategyProp : Defaults["activeStrategy"] | NonNullable<ActiveStrategyProp>; }; selectStrategy: unknown extends Defaults["selectStrategy"] ? PropType<SelectStrategyProp> : { type: PropType<unknown extends Defaults["selectStrategy"] ? SelectStrategyProp : SelectStrategyProp | Defaults["selectStrategy"]>; default: unknown extends Defaults["selectStrategy"] ? SelectStrategyProp : NonNullable<SelectStrategyProp> | Defaults["selectStrategy"]; }; openStrategy: unknown extends Defaults["openStrategy"] ? PropType<OpenStrategyProp> : { type: PropType<unknown extends Defaults["openStrategy"] ? OpenStrategyProp : OpenStrategyProp | Defaults["openStrategy"]>; default: unknown extends Defaults["openStrategy"] ? OpenStrategyProp : NonNullable<OpenStrategyProp> | Defaults["openStrategy"]; }; opened: unknown extends Defaults["opened"] ? null : { type: PropType<unknown extends Defaults["opened"] ? any : any>; default: unknown extends Defaults["opened"] ? any : any; }; activated: unknown extends Defaults["activated"] ? null : { type: PropType<unknown extends Defaults["activated"] ? any : any>; default: unknown extends Defaults["activated"] ? any : any; }; selected: unknown extends Defaults["selected"] ? null : { type: PropType<unknown extends Defaults["selected"] ? any : any>; default: unknown extends Defaults["selected"] ? any : any; }; mandatory: unknown extends Defaults["mandatory"] ? BooleanConstructor : { type: PropType<unknown extends Defaults["mandatory"] ? boolean : boolean | Defaults["mandatory"]>; default: unknown extends Defaults["mandatory"] ? boolean : boolean | Defaults["mandatory"]; }; }; export declare const useNested: (props: NestedProps) => { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; activatable: Ref<boolean>; selectable: Ref<boolean>; opened: Ref<Set<unknown>>; activated: Ref<Set<unknown>>; selected: Ref<Map<unknown, "on" | "off" | "indeterminate">>; selectedValues: Ref<unknown[]>; register: (id: unknown, parentId: unknown, isGroup?: boolean) => void; unregister: (id: unknown) => void; open: (id: unknown, value: boolean, event?: Event) => void; activate: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; openOnSelect: (id: unknown, value: boolean, event?: Event) => void; getPath: (id: unknown) => unknown[]; }; export declare const useNestedItem: (id: MaybeRefOrGetter<unknown>, isGroup: boolean) => { id: import("vue").ComputedRef<{}>; open: (open: boolean, e: Event) => void; openOnSelect: (open: boolean, e?: Event) => void; isOpen: import("vue").ComputedRef<boolean>; parent: import("vue").ComputedRef<unknown>; activate: (activated: boolean, e?: Event) => void; isActivated: import("vue").ComputedRef<boolean>; select: (selected: boolean, e?: Event) => void; isSelected: import("vue").ComputedRef<boolean>; isIndeterminate: import("vue").ComputedRef<boolean>; isLeaf: import("vue").ComputedRef<boolean>; isGroupActivator: boolean | undefined; root: { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; activatable: Ref<boolean>; selectable: Ref<boolean>; opened: Ref<Set<unknown>>; activated: Ref<Set<unknown>>; selected: Ref<Map<unknown, "on" | "off" | "indeterminate">>; selectedValues: Ref<unknown[]>; register: (id: unknown, parentId: unknown, isGroup?: boolean) => void; unregister: (id: unknown) => void; open: (id: unknown, value: boolean, event?: Event) => void; activate: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; openOnSelect: (id: unknown, value: boolean, event?: Event) => void; getPath: (id: unknown) => unknown[]; }; }; export declare const useNestedGroupActivator: () => void;