@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
1,174 lines (1,173 loc) • 455 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, 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