UNPKG

@jsonforms/vue-vuetify

Version:

Vue Vuetify renderers for JSON Forms

1,170 lines (1,169 loc) 514 kB
import { ControlElement, UISchemaElement, JsonSchema, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, JsonFormsUISchemaRegistryEntry, ArrayTranslations, Translator } from '@jsonforms/core'; import { ErrorObject } from 'ajv'; import { DefineComponent, WritableComputedRef, ComputedRef, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, StyleValue, CSSProperties, Ref, VNodeProps, AllowedComponentProps, ComponentCustomProps, SlotsType, VNode, RendererNode, RendererElement, GlobalComponents, GlobalDirectives, ComponentOptionsBase, VNodeChild, MaybeRefOrGetter, Prop, TransitionProps, Component, ComponentPublicInstance, ComponentInternalInstance, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, InjectionKey } from 'vue'; import { IconAliases, Styles } from '..'; import { Density } from 'vuetify/lib/composables/density.mjs'; import { JSXComponent, Anchor, LocationStrategyFunction, ScrollStrategyFunction } from 'vuetify/lib/types.mjs'; import { SelectStrategyProp, OpenStrategyProp, ItemsRegistrationType, ActiveStrategyProp } from 'vuetify/lib/composables/nested/nested.mjs'; import { ValueComparator } from 'vuetify/lib/util/deepEqual.mjs'; import { IconValue } from 'vuetify/lib/composables/icons.mjs'; import { SelectItemKey, TemplateRef } from 'vuetify/lib/util/helpers.mjs'; import { ListItemSlot, ListItemTitleSlot, ListItemSubtitleSlot } from 'vuetify/lib/components/VList/VListItem.mjs'; import { ItemType } from 'vuetify/lib/components/VList/VList.mjs'; import { VListChildrenSlots } from 'vuetify/lib/components/VList/VListChildren.mjs'; import { GenericProps, FilterPropsOptions } from 'vuetify/lib/util/defineComponent.mjs'; import { RouteLocationAsPathGeneric, RouteLocationAsRelativeGeneric } from 'vue-router'; import { UseLink } from 'vuetify/lib/composables/router.mjs'; import { Density } from 'vuetify/lib/components/VToolbar/VToolbar.mjs'; import { OnCleanup } from '@vue/reactivity'; import { GroupItemProvide, GroupProvide } from 'vuetify/lib/composables/group.mjs'; import { VVirtualScrollSlot } from 'vuetify/lib/components/VVirtualScroll/VVirtualScroll.mjs'; declare const controlRenderer: DefineComponent<{ schema: JsonSchema; uischema: ControlElement; path: string; enabled?: boolean | undefined; readonly?: boolean | undefined; renderers?: JsonFormsRendererRegistryEntry[] | undefined; cells?: JsonFormsCellRendererRegistryEntry[] | undefined; config?: any; }, { isControlEditable: (control: { enabled: boolean; readonly: boolean; }) => boolean; selectedIndex: WritableComputedRef<number | undefined, number | undefined>; icons: { current: ComputedRef<IconAliases>; }; control: ComputedRef<{ arraySchema: NonNullable< JsonSchema>; childErrors: ErrorObject[]; uischemas: JsonFormsUISchemaRegistryEntry[]; renderers: JsonFormsRendererRegistryEntry[]; cells: JsonFormsCellRendererRegistryEntry[]; label: string; description: string; required: NonNullable<boolean | undefined>; i18nKeyPrefix: string; uischema: ControlElement; errors: string; data: any; rootSchema: NonNullable< JsonSchema>; id: string; config: any; schema: NonNullable< JsonSchema>; enabled: boolean; readonly: NonNullable<boolean | undefined>; visible: boolean; path: string; }> & ComputedRef<{ label: string; required: boolean; config: any; uischema: UISchemaElement; schema: JsonSchema; data: any; childErrors: ErrorObject[]; i18nKeyPrefix: string; } & { childErrors: ErrorObject<string, Record<string, any>, unknown>[]; translations: ArrayTranslations; }>; addItem(path: string, value: any): () => void; removeItems?(path: string, toDelete: number[]): () => void; moveUp?(path: string, toMove: number): () => void; moveDown?(path: string, toMove: number): () => void; styles: Styles; appliedOptions: ComputedRef<any>; childLabelForIndex: (index: number | null) => string; computedLabel: ComputedRef<string>; vuetifyProps: (path: string) => any; rawChildErrors: ComputedRef<ErrorObject<string, Record<string, any>, unknown>[]>; }, {}, { dataLength(): number; foundUISchema(): UISchemaElement; }, { composePaths: (path1: string, path2: string) => string; createDefaultValue: (schema: JsonSchema, rootSchema: JsonSchema) => any; addButtonClick(): void; moveUpClick(event: Event, toMove: number): void; moveDownClick(event: Event, toMove: number): void; removeItemsClick(event: Event, toDelete: number[]): void; childErrors(index: number): ErrorObject[]; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{ schema: JsonSchema; uischema: ControlElement; path: string; enabled?: boolean | undefined; readonly?: boolean | undefined; renderers?: JsonFormsRendererRegistryEntry[] | undefined; cells?: JsonFormsCellRendererRegistryEntry[] | undefined; config?: any; }> & Readonly<{}>, { enabled: boolean; readonly: boolean; renderers: JsonFormsRendererRegistryEntry[]; cells: JsonFormsCellRendererRegistryEntry[]; config: Record<string, any>; }, {}, { DispatchRenderer: DefineComponent<ExtractPropTypes<{ schema: { required: true; type: PropType<JsonSchema>; }; uischema: { required: true; type: PropType<UISchemaElement>; }; path: { required: true; type: StringConstructor; }; enabled: { required: false; type: BooleanConstructor; default: undefined; }; readonly: { required: false; type: BooleanConstructor; default: undefined; }; renderers: { required: boolean; type: PropType< JsonFormsRendererRegistryEntry[]>; default: undefined; }; cells: { required: boolean; type: PropType< JsonFormsCellRendererRegistryEntry[]>; default: undefined; }; config: { required: boolean; type: ObjectConstructor; default: undefined; }; }>, { renderer: ComputedRef<{ config: any; uischema: NonNullable< UISchemaElement | undefined>; schema: NonNullable< JsonSchema | undefined>; enabled: NonNullable<boolean | undefined>; readonly: NonNullable<boolean | undefined>; visible: NonNullable<boolean | undefined>; path: string; renderers: JsonFormsRendererRegistryEntry[]; cells: JsonFormsCellRendererRegistryEntry[]; uischemas: JsonFormsUISchemaRegistryEntry[]; }>; rootSchema: ComputedRef<NonNullable< JsonSchema>>; }, {}, { determinedRenderer(): any; }, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{ schema: { required: true; type: PropType<JsonSchema>; }; uischema: { required: true; type: PropType<UISchemaElement>; }; path: { required: true; type: StringConstructor; }; enabled: { required: false; type: BooleanConstructor; default: undefined; }; readonly: { required: false; type: BooleanConstructor; default: undefined; }; renderers: { required: boolean; type: PropType< JsonFormsRendererRegistryEntry[]>; default: undefined; }; cells: { required: boolean; type: PropType< JsonFormsCellRendererRegistryEntry[]>; default: undefined; }; config: { required: boolean; type: ObjectConstructor; default: undefined; }; }>> & Readonly<{}>, { enabled: boolean; readonly: boolean; renderers: JsonFormsRendererRegistryEntry[]; cells: JsonFormsCellRendererRegistryEntry[]; config: Record<string, any>; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; VList: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{ style: string | false | StyleValue[] | CSSProperties | null; density: Density; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; } & { theme?: string | undefined; class?: any; border?: string | number | boolean | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; color?: string | undefined; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; valueComparator?: ValueComparator | undefined; activeStrategy?: ActiveStrategyProp | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; prependGap?: string | number | undefined; indent?: string | number | undefined; navigationIndex?: number | undefined; } & { "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:navigationIndex"?: ((value: number) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event | undefined) => void; select: (id: unknown, value: boolean, event?: Event | undefined) => void; focus: (location?: number | "first" | "last" | "next" | "prev" | null | undefined, options?: FocusOptions | undefined) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; navigationIndex: Ref<number, number> & { readonly externalValue: number | undefined; }; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Omit<{ "update:selected": (value: unknown) => true; "update:activated": (value: unknown) => true; "update:opened": (value: unknown) => true; "update:navigationIndex": (value: number) => true; "click:open": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; "click:activate": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; "click:select": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; }, "$children" | "activated" | "click:open" | "click:select" | "itemChildren" | "itemProps" | "itemTitle" | "itemValue" | "items" | "opened" | "selected" | "update:activated" | "update:opened" | "update:selected" | "v-slot:append" | "v-slot:default" | "v-slot:divider" | "v-slot:header" | "v-slot:item" | "v-slot:prepend" | "v-slot:subheader" | "v-slot:subtitle" | "v-slot:title" | "v-slots">, VNodeProps & AllowedComponentProps & ComponentCustomProps, { style: StyleValue; density: Density; rounded: string | number | boolean; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: SelectItemKey; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; }, true, {}, SlotsType<Partial<{ prepend: (arg: ListItemSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; append: (arg: ListItemSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; title: (arg: ListItemTitleSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; subtitle: (arg: ListItemSubtitleSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; item: (arg: { props: { [key: string]: any; title: string; value: any; } & { index: number; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; divider: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; subheader: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; header: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: string | false | StyleValue[] | CSSProperties | null; density: Density; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; } & { theme?: string | undefined; class?: any; border?: string | number | boolean | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; color?: string | undefined; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; valueComparator?: ValueComparator | undefined; activeStrategy?: ActiveStrategyProp | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; prependGap?: string | number | undefined; indent?: string | number | undefined; navigationIndex?: number | undefined; } & { "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:navigationIndex"?: ((value: number) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event | undefined) => void; select: (id: unknown, value: boolean, event?: Event | undefined) => void; focus: (location?: number | "first" | "last" | "next" | "prev" | null | undefined, options?: FocusOptions | undefined) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; navigationIndex: Ref<number, number> & { readonly externalValue: number | undefined; }; }, {}, {}, {}, { style: StyleValue; density: Density; rounded: string | number | boolean; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: SelectItemKey; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; }>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & ComponentOptionsBase<{ style: string | false | StyleValue[] | CSSProperties | null; density: Density; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; } & { theme?: string | undefined; class?: any; border?: string | number | boolean | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; color?: string | undefined; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; valueComparator?: ValueComparator | undefined; activeStrategy?: ActiveStrategyProp | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; prependGap?: string | number | undefined; indent?: string | number | undefined; navigationIndex?: number | undefined; } & { "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:navigationIndex"?: ((value: number) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event | undefined) => void; select: (id: unknown, value: boolean, event?: Event | undefined) => void; focus: (location?: number | "first" | "last" | "next" | "prev" | null | undefined, options?: FocusOptions | undefined) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; navigationIndex: Ref<number, number> & { readonly externalValue: number | undefined; }; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Omit<{ "update:selected": (value: unknown) => true; "update:activated": (value: unknown) => true; "update:opened": (value: unknown) => true; "update:navigationIndex": (value: number) => true; "click:open": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; "click:activate": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; "click:select": (value: { id: unknown; value: boolean; path: unknown[]; }) => true; }, "activated" | "$children" | "v-slots" | "v-slot:default" | "click:open" | "click:select" | "itemChildren" | "itemProps" | "itemTitle" | "itemValue" | "items" | "opened" | "selected" | "update:activated" | "update:opened" | "update:selected" | "v-slot:append" | "v-slot:divider" | "v-slot:header" | "v-slot:item" | "v-slot:prepend" | "v-slot:subheader" | "v-slot:subtitle" | "v-slot:title">, string, { style: StyleValue; density: Density; rounded: string | number | boolean; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: SelectItemKey; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; }, {}, string, SlotsType<Partial<{ prepend: (arg: ListItemSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; append: (arg: ListItemSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; title: (arg: ListItemTitleSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; subtitle: (arg: ListItemSubtitleSlot & { item: any; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; item: (arg: { props: { [key: string]: any; title: string; value: any; } & { index: number; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; divider: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; subheader: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; header: (arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new <S, A, O, T extends readonly any[]>(props: { items?: T | undefined; itemTitle?: SelectItemKey<ItemType<T>>; itemValue?: SelectItemKey<ItemType<T>>; itemChildren?: SelectItemKey<ItemType<T>>; itemProps?: SelectItemKey<ItemType<T>>; selected?: S | undefined; activated?: A | undefined; opened?: O | undefined; "onUpdate:selected"?: ((value: S) => void) | undefined; "onUpdate:activated"?: ((value: A) => void) | undefined; "onUpdate:opened"?: ((value: O) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; }, slots: VListChildrenSlots<ItemType<T>>) => GenericProps<{ items?: T | undefined; itemTitle?: SelectItemKey<ItemType<T>>; itemValue?: SelectItemKey<ItemType<T>>; itemChildren?: SelectItemKey<ItemType<T>>; itemProps?: SelectItemKey<ItemType<T>>; selected?: S | undefined; activated?: A | undefined; opened?: O | undefined; "onUpdate:selected"?: ((value: S) => void) | undefined; "onUpdate:activated"?: ((value: A) => void) | undefined; "onUpdate:opened"?: ((value: O) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; }, VListChildrenSlots<ItemType<T>>>) & FilterPropsOptions<{ theme: StringConstructor; class: PropType<any>; style: { type: PropType<StyleValue>; default: null; }; border: (BooleanConstructor | NumberConstructor | StringConstructor)[]; density: { type: PropType<Density>; default: string; validator: (v: any) => boolean; }; elevation: { type: (NumberConstructor | StringConstructor)[]; validator(v: any): boolean; }; rounded: { type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; }; tile: BooleanConstructor; tag: { type: PropType<string | JSXComponent>; default: string; }; color: StringConstructor; variant: Omit<{ type: PropType<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; default: NonNullable<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; }; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; maxWidth: (NumberConstructor | StringConstructor)[]; minHeight: (NumberConstructor | StringConstructor)[]; minWidth: (NumberConstructor | StringConstructor)[]; width: (NumberConstructor | StringConstructor)[]; items: { type: PropType<any[]>; default: () => never[]; }; itemTitle: { type: PropType<SelectItemKey>; default: string; }; itemValue: { type: PropType<SelectItemKey>; default: string; }; itemChildren: { type: PropType<SelectItemKey>; default: string; }; itemProps: { type: PropType<SelectItemKey>; default: string; }; itemType: { type: PropType<SelectItemKey>; default: string; }; returnObject: BooleanConstructor; valueComparator: PropType<ValueComparator>; activatable: BooleanConstructor; selectable: BooleanConstructor; activeStrategy: PropType<ActiveStrategyProp>; selectStrategy: { type: PropType<SelectStrategyProp>; default: NonNullable< SelectStrategyProp>; }; openStrategy: { type: PropType<OpenStrategyProp>; default: NonNullable< OpenStrategyProp>; }; opened: null; activated: null; selected: null; mandatory: BooleanConstructor; itemsRegistration: { type: PropType<ItemsRegistrationType>; default: string; }; baseColor: StringConstructor; activeColor: StringConstructor; activeClass: StringConstructor; bgColor: StringConstructor; disabled: BooleanConstructor; filterable: BooleanConstructor; expandIcon: PropType<IconValue>; collapseIcon: PropType<IconValue>; lines: { type: PropType<"one" | "three" | "two" | false>; default: string; }; slim: BooleanConstructor; prependGap: (NumberConstructor | StringConstructor)[]; indent: (NumberConstructor | StringConstructor)[]; nav: BooleanConstructor; navigationStrategy: { type: PropType<"focus" | "track">; default: string; }; navigationIndex: NumberConstructor; "onClick:open": PropType<(args_0: { id: unknown; value: boolean; path: unknown[]; }) => void>; "onClick:select": PropType<(args_0: { id: unknown; value: boolean; path: unknown[]; }) => void>; "onUpdate:opened": PropType<(args_0: unknown) => void>; }, ExtractPropTypes<{ theme: StringConstructor; class: PropType<any>; style: { type: PropType<StyleValue>; default: null; }; border: (BooleanConstructor | NumberConstructor | StringConstructor)[]; density: { type: PropType<Density>; default: string; validator: (v: any) => boolean; }; elevation: { type: (NumberConstructor | StringConstructor)[]; validator(v: any): boolean; }; rounded: { type: (BooleanConstructor | NumberConstructor | StringConstructor)[]; default: undefined; }; tile: BooleanConstructor; tag: { type: PropType<string | JSXComponent>; default: string; }; color: StringConstructor; variant: Omit<{ type: PropType<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; default: NonNullable<"elevated" | "flat" | "outlined" | "plain" | "text" | "tonal">; }; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; maxWidth: (NumberConstructor | StringConstructor)[]; minHeight: (NumberConstructor | StringConstructor)[]; minWidth: (NumberConstructor | StringConstructor)[]; width: (NumberConstructor | StringConstructor)[]; items: { type: PropType<any[]>; default: () => never[]; }; itemTitle: { type: PropType<SelectItemKey>; default: string; }; itemValue: { type: PropType<SelectItemKey>; default: string; }; itemChildren: { type: PropType<SelectItemKey>; default: string; }; itemProps: { type: PropType<SelectItemKey>; default: string; }; itemType: { type: PropType<SelectItemKey>; default: string; }; returnObject: BooleanConstructor; valueComparator: PropType<ValueComparator>; activatable: BooleanConstructor; selectable: BooleanConstructor; activeStrategy: PropType<ActiveStrategyProp>; selectStrategy: { type: PropType<SelectStrategyProp>; default: NonNullable< SelectStrategyProp>; }; openStrategy: { type: PropType<OpenStrategyProp>; default: NonNullable< OpenStrategyProp>; }; opened: null; activated: null; selected: null; mandatory: BooleanConstructor; itemsRegistration: { type: PropType<ItemsRegistrationType>; default: string; }; baseColor: StringConstructor; activeColor: StringConstructor; activeClass: StringConstructor; bgColor: StringConstructor; disabled: BooleanConstructor; filterable: BooleanConstructor; expandIcon: PropType<IconValue>; collapseIcon: PropType<IconValue>; lines: { type: PropType<"one" | "three" | "two" | false>; default: string; }; slim: BooleanConstructor; prependGap: (NumberConstructor | StringConstructor)[]; indent: (NumberConstructor | StringConstructor)[]; nav: BooleanConstructor; navigationStrategy: { type: PropType<"focus" | "track">; default: string; }; navigationIndex: NumberConstructor; "onClick:open": PropType<(args_0: { id: unknown; value: boolean; path: unknown[]; }) => void>; "onClick:select": PropType<(args_0: { id: unknown; value: boolean; path: unknown[]; }) => void>; "onUpdate:opened": PropType<(args_0: unknown) => void>; }>>; VListItem: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{ style: string | false | StyleValue[] | CSSProperties | null; density: Density; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; replace: boolean; exact: boolean; disabled: boolean; nav: boolean; ripple: boolean | { class?: string | undefined; keys?: string[] | undefined; }; slim: boolean; } & { theme?: string | undefined; class?: any; border?: string | number | boolean | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; color?: string | undefined; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; href?: string | undefined; to?: string | RouteLocationAsPathGeneric | RouteLocationAsRelativeGeneric | undefined; active?: boolean | undefined; activeClass?: string | undefined; activeColor?: string | undefined; appendAvatar?: string | undefined; appendIcon?: IconValue | undefined; baseColor?: string | undefined; lines?: "one" | "three" | "two" | false | undefined; link?: boolean | undefined; prependAvatar?: string | undefined; prependIcon?: IconValue | undefined; prependGap?: string | number | undefined; subtitle?: string | number | boolean | undefined; title?: string | number | boolean | undefined; value?: any; index?: number | undefined; tabindex?: string | number | undefined; onClick?: ((args_0: KeyboardEvent | MouseEvent) => void) | undefined; onClickOnce?: ((args_0: MouseEvent) => void) | undefined; } & { $children?: { prepend?: ((arg: ListItemSlot) => VNodeChild) | undefined; append?: ((arg: ListItemSlot) => VNodeChild) | undefined; default?: ((arg: ListItemSlot) => VNodeChild) | undefined; title?: ((arg: ListItemTitleSlot) => VNodeChild) | undefined; subtitle?: ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | ((arg: ListItemSlot) => VNodeChild) | VNodeChild; "v-slots"?: { prepend?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; append?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; default?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; title?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; subtitle?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; } & { onClick?: ((e: KeyboardEvent | MouseEvent) => any) | undefined; }, { activate: (activated: boolean, e?: Event | undefined) => void; isActivated: ComputedRef<boolean>; isGroupActivator: boolean | undefined; isSelected: ComputedRef<boolean>; list: { filterable: MaybeRefOrGetter<boolean>; hasPrepend: Ref<boolean, boolean>; updateHasPrepend: (value: boolean) => void; trackingIndex: Ref<number, number>; navigationStrategy: Ref<"focus" | "track", "focus" | "track">; uid: string; } | null; select: (selected: boolean, e?: Event | undefined) => void; root: { children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; disabled: Ref<Set<unknown>, Set<unknown>>; activatable: Ref<boolean, boolean>; selectable: Ref<boolean, boolean>; opened: Ref<Set<unknown>, Set<unknown>>; activated: Ref<Set<unknown>, Set<unknown>>; scrollToActive: Ref<boolean, boolean>; selected: Ref<Map<unknown, "indeterminate" | "off" | "on">, Map<unknown, "indeterminate" | "off" | "on">>; selectedValues: Ref<unknown[], unknown[]>; itemsRegistration: Ref<ItemsRegistrationType, ItemsRegistrationType>; register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void; unregister: (id: unknown) => void; updateDisabled: (id: unknown, isDisabled: boolean) => void; open: (id: unknown, value: boolean, event?: Event | undefined) => void; activate: (id: unknown, value: boolean, event?: Event | undefined) => void; select: (id: unknown, value: boolean, event?: Event | undefined) => void; openOnSelect: (id: unknown, value: boolean, event?: Event | undefined) => void; getPath: (id: unknown) => unknown[]; }; id: ComputedRef<{} | null>; link: UseLink; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { click: (e: KeyboardEvent | MouseEvent) => true; }, VNodeProps & AllowedComponentProps & ComponentCustomProps, { style: StyleValue; density: Density; rounded: string | number | boolean; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; replace: boolean; exact: boolean; active: boolean; disabled: boolean; link: boolean; nav: boolean; ripple: boolean | { class?: string | undefined; keys?: string[] | undefined; } | undefined; slim: boolean; subtitle: string | number | boolean; title: string | number | boolean; }, true, {}, SlotsType<Partial<{ prepend: (arg: ListItemSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; append: (arg: ListItemSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; default: (arg: ListItemSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; title: (arg: ListItemTitleSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; subtitle: (arg: ListItemSubtitleSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: string | false | StyleValue[] | CSSProperties | null; density: Density; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; replace: boolean; exact: boolean; disabled: boolean; nav: boolean; ripple: boolean | { class?: string | undefined; keys?: string[] | undefined; }; slim: boolean; } & { theme?: string | undefined; class?: any; border?: string | number | boolean | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; color?: string | undefined; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; href?: string | undefined; to?: string | RouteLocationAsPathGeneric | RouteLocationAsRelativeGeneric | undefined; active?: boolean | undefined; activeClass?: string | undefined; activeColor?: string | undefined; appendAvatar?: string | undefined; appendIcon?: IconValue | undefined; baseColor?: string | undefined; lines?: "one" | "three" | "two" | false | undefined; link?: boolean | undefined; prependAvatar?: string | undefined; prependIcon?: IconValue | undefined; prependGap?: string | number | undefined; subtitle?: string | number | boolean | undefined; title?: string | number | boolean | undefined; value?: any; index?: number | undefined; tabindex?: string | number | undefined; onClick?: ((args_0: KeyboardEvent | MouseEvent) => void) | undefined; onClickOnce?: ((args_0: MouseEvent) => void) | undefined; } & { $children?: { prepend?: ((arg: ListItemSlot) => VNodeChild) | undefined; append?: ((arg: ListItemSlot) => VNodeChild) | undefined; default?: ((arg: ListItemSlot) => VNodeChild) | undefined; title?: ((arg: ListItemTitleSlot) => VNodeChild) | undefined; subtitle?: ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | ((arg: ListItemSlot) => VNodeChild) | VNodeChild; "v-slots"?: { prepend?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; append?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; default?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; title?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; subtitle?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; } & { onClick?: ((e: KeyboardEvent | MouseEvent) => any) | undefined; }, { activate: (activated: boolean, e?: Event | undefined) => void; isActivated: ComputedRef<boolean>; isGroupActivator: boolean | undefined; isSelected: ComputedRef<boolean>; list: { filterable: MaybeRefOrGetter<boolean>; hasPrepend: Ref<boolean, boolean>; updateHasPrepend: (value: boolean) => void; trackingIndex: Ref<number, number>; navigationStrategy: Ref<"focus" | "track", "focus" | "track">; uid: string; } | null; select: (selected: boolean, e?: Event | undefined) => void; root: { children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; disabled: Ref<Set<unknown>, Set<unknown>>; activatable: Ref<boolean, boolean>; selectable: Ref<boolean, boolean>; opened: Ref<Set<unknown>, Set<unknown>>; activated: Ref<Set<unknown>, Set<unknown>>; scrollToActive: Ref<boolean, boolean>; selected: Ref<Map<unknown, "indeterminate" | "off" | "on">, Map<unknown, "indeterminate" | "off" | "on">>; selectedValues: Ref<unknown[], unknown[]>; itemsRegistration: Ref<ItemsRegistrationType, ItemsRegistrationType>; register: (id: unknown, parentId: unknown, isDisabled: boolean, isGroup?: boolean | undefined) => void; unregister: (id: unknown) => void; updateDisabled: (id: unknown, isDis