@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
1,170 lines (1,169 loc) • 514 kB
TypeScript
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