UNPKG

@jsonforms/vue-vuetify

Version:

Vue Vuetify renderers for JSON Forms

1,174 lines (1,173 loc) 455 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, Ref, VNodeProps, AllowedComponentProps, ComponentCustomProps, SlotsType, VNode, GlobalComponents, GlobalDirectives, ComponentOptionsBase, VNodeChild, MaybeRefOrGetter, RendererNode, RendererElement, Prop, TransitionProps, Component, ComponentPublicInstance, ComponentInternalInstance, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, InjectionKey } from 'vue'; import { IconAliases, Styles } from '..'; import { JSXComponent, Anchor, LocationStrategyFunction, ScrollStrategyFunction } from 'vuetify/lib/types.mjs'; import { SelectStrategyProp, OpenStrategyProp, ActiveStrategyProp } from 'vuetify/lib/composables/nested/nested.mjs'; import { Density } from 'vuetify/lib/composables/density.mjs'; import { SelectItemKey, deepEqual } from 'vuetify/lib/util/helpers.mjs'; import { IconValue } from 'vuetify/lib/composables/icons.mjs'; import { ListItemTitleSlot, ListItemSlot, ListItemSubtitleSlot } from 'vuetify/lib/components/VList/VListItem.mjs'; import { InternalListItem, ItemType } from 'vuetify/lib/components/VList/VList.mjs'; import { JSXComponent, Anchor, TemplateRef, SelectItemKey } from 'vuetify/lib/util/index.mjs'; import { VListChildrenSlots } from 'vuetify/lib/components/VList/VListChildren.mjs'; import { GenericProps, FilterPropsOptions } from 'vuetify/lib/util/defineComponent.mjs'; import { Variant } from 'vuetify/lib/composables/variant.mjs'; import { ItemProps } from 'vuetify/lib/composables/list-items.mjs'; import { ClassValue } from 'vuetify/lib/composables/component.mjs'; import { RouteLocationAsRelativeGeneric, RouteLocationAsPathGeneric, RouteLocationRaw } from 'vue-router'; import { UseLink } from 'vuetify/lib/composables/router.mjs'; import { RippleDirectiveBinding } from 'vuetify/directives/ripple'; import { ALIGN_CONTENT_VALUES, ALIGN_VALUES } from 'vuetify/lib/components/VGrid/VRow.mjs'; import { ALIGN_SELF_VALUES } from 'vuetify/lib/components/VGrid/VCol.mjs'; import { Density } from 'vuetify/lib/components/VToolbar/VToolbar.mjs'; import { LocationStrategyFunction, StrategyProps } from 'vuetify/lib/components/VOverlay/locationStrategies.mjs'; import { ScrollStrategyFunction, StrategyProps } from 'vuetify/lib/components/VOverlay/scrollStrategies.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; renderers?: JsonFormsRendererRegistryEntry[] | undefined; cells?: JsonFormsCellRendererRegistryEntry[] | undefined; config?: any; }, { 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; 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: 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; renderers?: JsonFormsRendererRegistryEntry[] | undefined; cells?: JsonFormsCellRendererRegistryEntry[] | undefined; config?: any; }> & Readonly<{}>, { enabled: 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; }; 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>; 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; }; 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; renderers: JsonFormsRendererRegistryEntry[]; cells: JsonFormsCellRendererRegistryEntry[]; config: Record<string, any>; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; VList: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{ variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; activated?: any; class?: any; theme?: string | undefined; elevation?: string | number | undefined; valueComparator?: deepEqual | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; bgColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; activeStrategy?: ActiveStrategyProp | undefined; collapseIcon?: IconValue | undefined; expandIcon?: IconValue | undefined; } & { "onUpdate:activated"?: ((value: unknown) => any) | undefined; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; focus: (location?: "next" | "prev" | "first" | "last" | number) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Omit<{ "update:selected": (value: unknown) => true; "update:activated": (value: unknown) => true; "update:opened": (value: unknown) => 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" | "selected" | "v-slots" | "v-slot:default" | "opened" | "items" | "itemValue" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "click:open" | "click:select" | "v-slot:subtitle" | "v-slot:item" | "v-slot:header" | "v-slot:divider" | "v-slot:subheader" | "itemTitle" | "itemChildren" | "itemProps" | "update:selected" | "update:opened">, VNodeProps & AllowedComponentProps & ComponentCustomProps, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; }, true, {}, SlotsType<Partial<{ title: (arg: ListItemTitleSlot & { item: any; }) => VNode[]; append: (arg: ListItemSlot & { item: any; }) => VNode[]; prepend: (arg: ListItemSlot & { item: any; }) => VNode[]; subtitle: (arg: ListItemSubtitleSlot & { item: any; }) => VNode[]; default: () => VNode[]; item: (arg: { props: InternalListItem["props"]; }) => VNode[]; divider: (arg: { props: InternalListItem["props"]; }) => VNode[]; subheader: (arg: { props: InternalListItem["props"]; }) => VNode[]; header: (arg: { props: InternalListItem["props"]; }) => VNode[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; activated?: any; class?: any; theme?: string | undefined; elevation?: string | number | undefined; valueComparator?: deepEqual | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; bgColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; activeStrategy?: ActiveStrategyProp | undefined; collapseIcon?: IconValue | undefined; expandIcon?: IconValue | undefined; } & { "onUpdate:activated"?: ((value: unknown) => any) | undefined; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; focus: (location?: "next" | "prev" | "first" | "last" | number) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; }, {}, {}, {}, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & ComponentOptionsBase<{ variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; activated?: any; class?: any; theme?: string | undefined; elevation?: string | number | undefined; valueComparator?: deepEqual | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; bgColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; activeStrategy?: ActiveStrategyProp | undefined; collapseIcon?: IconValue | undefined; expandIcon?: IconValue | undefined; } & { "onUpdate:activated"?: ((value: unknown) => any) | undefined; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; }, { open: (id: unknown, value: boolean, event?: Event) => void; select: (id: unknown, value: boolean, event?: Event) => void; focus: (location?: "next" | "prev" | "first" | "last" | number) => void; children: Ref<Map<unknown, unknown[]>, Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>, Map<unknown, unknown>>; getPath: (id: unknown) => unknown[]; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Omit<{ 'update:selected': (value: unknown) => true; 'update:activated': (value: unknown) => true; 'update:opened': (value: unknown) => 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" | "v-slots" | "v-slot:default" | "selected" | "opened" | "items" | "itemValue" | "v-slot:prepend" | "v-slot:append" | "v-slot:title" | "click:open" | "click:select" | "v-slot:subtitle" | "v-slot:item" | "v-slot:header" | "v-slot:divider" | "v-slot:subheader" | "itemTitle" | "itemChildren" | "itemProps" | "update:selected" | "update:opened">, string, { variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; lines: false | "one" | "two" | "three"; mandatory: boolean; returnObject: boolean; selectStrategy: SelectStrategyProp; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; filterable: boolean; activatable: boolean; selectable: boolean; openStrategy: OpenStrategyProp; itemType: SelectItemKey; }, {}, string, SlotsType<Partial<{ title: (arg: ListItemTitleSlot & { item: any; }) => VNode[]; append: (arg: ListItemSlot & { item: any; }) => VNode[]; prepend: (arg: ListItemSlot & { item: any; }) => VNode[]; subtitle: (arg: ListItemSubtitleSlot & { item: any; }) => VNode[]; default: () => VNode[]; item: (arg: { props: InternalListItem["props"]; }) => VNode[]; divider: (arg: { props: InternalListItem["props"]; }) => VNode[]; subheader: (arg: { props: InternalListItem["props"]; }) => VNode[]; header: (arg: { props: InternalListItem["props"]; }) => VNode[]; }>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new <T extends readonly any[], S = unknown, O = unknown>(props: { items?: T; itemTitle?: SelectItemKey<ItemType<T>>; itemValue?: SelectItemKey<ItemType<T>>; itemChildren?: SelectItemKey<ItemType<T>>; itemProps?: SelectItemKey<ItemType<T>>; selected?: S; "onUpdate:selected"?: (value: S) => void; "onClick:open"?: (value: { id: unknown; value: boolean; path: unknown[]; }) => void; "onClick:select"?: (value: { id: unknown; value: boolean; path: unknown[]; }) => void; opened?: O; "onUpdate:opened"?: (value: O) => void; }, slots: VListChildrenSlots<ItemType<T>>) => GenericProps<typeof props, typeof slots>) & FilterPropsOptions<{ color: StringConstructor; variant: Omit<{ type: PropType<Variant>; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; }; theme: StringConstructor; tag: { type: PropType<string | JSXComponent>; default: string; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; tile: BooleanConstructor; items: { type: PropType< ItemProps["items"]>; 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<deepEqual>; elevation: { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }; height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; density: { type: PropType<Density>; default: string; validator: (v: any) => boolean; }; class: PropType<ClassValue>; style: { type: PropType<StyleValue>; default: null; }; border: (StringConstructor | BooleanConstructor | NumberConstructor)[]; 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; baseColor: StringConstructor; activeColor: StringConstructor; activeClass: StringConstructor; bgColor: StringConstructor; disabled: BooleanConstructor; filterable: BooleanConstructor; expandIcon: PropType<IconValue>; collapseIcon: PropType<IconValue>; lines: { type: PropType<"one" | "two" | "three" | false>; default: string; }; slim: BooleanConstructor; nav: BooleanConstructor; '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<() => void>; }, ExtractPropTypes<{ color: StringConstructor; variant: Omit<{ type: PropType<Variant>; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; }; theme: StringConstructor; tag: { type: PropType<string | JSXComponent>; default: string; }; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; tile: BooleanConstructor; items: { type: PropType< ItemProps["items"]>; 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<deepEqual>; elevation: { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }; height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; density: { type: PropType<Density>; default: string; validator: (v: any) => boolean; }; class: PropType<ClassValue>; style: { type: PropType<StyleValue>; default: null; }; border: (StringConstructor | BooleanConstructor | NumberConstructor)[]; 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; baseColor: StringConstructor; activeColor: StringConstructor; activeClass: StringConstructor; bgColor: StringConstructor; disabled: BooleanConstructor; filterable: BooleanConstructor; expandIcon: PropType<IconValue>; collapseIcon: PropType<IconValue>; lines: { type: PropType<"one" | "two" | "three" | false>; default: string; }; slim: BooleanConstructor; nav: BooleanConstructor; '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<() => void>; }>>; VListItem: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{ replace: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; density: Density; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; } & { link?: boolean | undefined; height?: string | number | undefined; width?: string | number | undefined; active?: boolean | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; value?: any; title?: string | number | boolean | undefined; class?: any; theme?: string | undefined; to?: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric | undefined; lines?: false | "one" | "two" | "three" | undefined; onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined; onClickOnce?: ((args_0: MouseEvent) => void) | undefined; href?: string | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; activeColor?: string | undefined; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; activeClass?: string | undefined; appendAvatar?: string | undefined; prependAvatar?: string | undefined; subtitle?: string | number | boolean | undefined; } & { $children?: VNodeChild | ((arg: ListItemSlot) => VNodeChild) | { 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; }; "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:prepend"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:append"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } & { onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined; }, { activate: (activated: boolean, e?: Event) => void; isActivated: ComputedRef<boolean>; isGroupActivator: boolean | undefined; isSelected: ComputedRef<boolean>; list: { filterable: MaybeRefOrGetter<boolean>; hasPrepend: Ref<boolean>; updateHasPrepend: (value: boolean) => void; } | null; select: (selected: boolean, e?: Event) => void; root: { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; disabled: Ref<Set<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, isDisabled: boolean, 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[]; }; id: ComputedRef<{}>; link: UseLink; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { click: (e: MouseEvent | KeyboardEvent) => true; }, VNodeProps & AllowedComponentProps & ComponentCustomProps, { replace: boolean; link: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; active: boolean; nav: boolean; style: StyleValue; title: string | number | boolean; disabled: boolean; tag: string | JSXComponent; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; subtitle: string | number | boolean; }, true, {}, SlotsType<Partial<{ prepend: (arg: ListItemSlot) => VNode[]; append: (arg: ListItemSlot) => VNode[]; default: (arg: ListItemSlot) => VNode[]; title: (arg: ListItemTitleSlot) => VNode[]; subtitle: (arg: ListItemSubtitleSlot) => VNode[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { replace: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; density: Density; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; } & { link?: boolean | undefined; height?: string | number | undefined; width?: string | number | undefined; active?: boolean | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; value?: any; title?: string | number | boolean | undefined; class?: any; theme?: string | undefined; to?: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric | undefined; lines?: false | "one" | "two" | "three" | undefined; onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined; onClickOnce?: ((args_0: MouseEvent) => void) | undefined; href?: string | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; activeColor?: string | undefined; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; activeClass?: string | undefined; appendAvatar?: string | undefined; prependAvatar?: string | undefined; subtitle?: string | number | boolean | undefined; } & { $children?: VNodeChild | ((arg: ListItemSlot) => VNodeChild) | { 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; }; "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:prepend"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:append"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } & { onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined; }, { activate: (activated: boolean, e?: Event) => void; isActivated: ComputedRef<boolean>; isGroupActivator: boolean | undefined; isSelected: ComputedRef<boolean>; list: { filterable: MaybeRefOrGetter<boolean>; hasPrepend: Ref<boolean>; updateHasPrepend: (value: boolean) => void; } | null; select: (selected: boolean, e?: Event) => void; root: { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; disabled: Ref<Set<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, isDisabled: boolean, 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[]; }; id: ComputedRef<{}>; link: UseLink; }, {}, {}, {}, { replace: boolean; link: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; active: boolean; nav: boolean; style: StyleValue; title: string | number | boolean; disabled: boolean; tag: string | JSXComponent; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; subtitle: string | number | boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & ComponentOptionsBase<{ replace: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; nav: boolean; style: StyleValue; disabled: boolean; tag: string | JSXComponent; density: Density; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; } & { link?: boolean | undefined; height?: string | number | undefined; width?: string | number | undefined; active?: boolean | undefined; border?: string | number | boolean | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; value?: any; title?: string | number | boolean | undefined; class?: any; theme?: string | undefined; to?: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric | undefined; lines?: false | "one" | "two" | "three" | undefined; onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined; onClickOnce?: ((args_0: MouseEvent) => void) | undefined; href?: string | undefined; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; baseColor?: string | undefined; activeColor?: string | undefined; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; activeClass?: string | undefined; appendAvatar?: string | undefined; prependAvatar?: string | undefined; subtitle?: string | number | boolean | undefined; } & { $children?: VNodeChild | ((arg: ListItemSlot) => VNodeChild) | { 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; }; '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:prepend"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:append"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: ListItemSlot) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => VNodeChild) | undefined; } & { onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined; }, { activate: (activated: boolean, e?: Event) => void; isActivated: ComputedRef<boolean>; isGroupActivator: boolean | undefined; isSelected: ComputedRef<boolean>; list: { filterable: MaybeRefOrGetter<boolean>; hasPrepend: Ref<boolean>; updateHasPrepend: (value: boolean) => void; } | null; select: (selected: boolean, e?: Event) => void; root: { children: Ref<Map<unknown, unknown[]>>; parents: Ref<Map<unknown, unknown>>; disabled: Ref<Set<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, isDisabled: boolean, 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[]; }; id: ComputedRef<{}>; link: UseLink; }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { click: (e: MouseEvent | KeyboardEvent) => true; }, string, { replace: boolean; link: boolean; variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain"; exact: boolean; active: boolean; nav: boolean; style: StyleValue; title: string | number | boolean; disabled: boolean; tag: string | JSXComponent; density: Density; rounded: string | number | boolean; tile: boolean; slim: boolean; ripple: boolean | { class?: string; keys?: number[]; } | undefined; subtitle: string | number | boolean; }, {}, string, SlotsType<Partial<{ prepend: (arg: ListItemSlot) => VNode[]; append: (arg: ListItemSlot) => VNode[]; default: (arg: ListItemSlot) => VNode[]; title: (arg: ListItemTitleSlot) => VNode[]; subtitle: (arg: ListItemSubtitleSlot) => VNode[]; }>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{ color: StringConstructor; variant: Omit<{ type: PropType<Variant>; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; }; theme: StringConstructor; tag: { type: PropType<string | JSXComponent>; default: string; }; href: StringConstructor; replace: BooleanConstructor; to: PropType<RouteLocationRaw>; exact: BooleanConstructor; rounded: { type: (StringConstructor | BooleanConstructor | NumberConstructor)[]; default: undefined; }; tile: BooleanConstructor; elevation: { type: (StringConstructor | NumberConstructor)[]; validator(v: any): boolean; }; height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; density: { type