@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
1,003 lines (1,002 loc) • 666 kB
TypeScript
import { ControlElement, JsonFormsUISchemaRegistryEntry, JsonSchema, UISchemaElement, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, Translator, BaseUISchemaElement, RankedTester, CombinatorTranslations } from '@jsonforms/core';
import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, StyleValue, CSSProperties, Component, TransitionProps, VNodeProps, AllowedComponentProps, ComponentCustomProps, VNodeChild, SlotsType, VNode, RendererNode, RendererElement, GlobalComponents, GlobalDirectives, ComponentOptionsBase, ComponentPublicInstance, ShallowRef, WritableComputedRef, ComponentInternalInstance, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, Prop } from 'vue';
import { IconAliases, Styles } from '..';
import { FilterKeys, FilterMode, FilterKeyFunctions } from 'vuetify/lib/composables/filter.mjs';
import { ValidationResult } from 'vuetify/lib/composables/validation.mjs';
import { Density } from 'vuetify/lib/composables/density.mjs';
import { IconValue } from 'vuetify/lib/composables/icons.mjs';
import { FilterFunction, JSXComponent, LocationStrategyFunction, Anchor, ScrollStrategyFunction } from 'vuetify/lib/types.mjs';
import { ValueComparator } from 'vuetify/lib/util/deepEqual.mjs';
import { SelectItemKey, TemplateRef } from 'vuetify/lib/util/helpers.mjs';
import { SelectStrategyProp, OpenStrategyProp, ItemsRegistrationType, ActiveStrategyProp } from 'vuetify/lib/composables/nested/nested.mjs';
import { ListItemSlot, ListItemTitleSlot, ListItemSubtitleSlot } from 'vuetify/lib/components/VList/VListItem.mjs';
import { FilterPropsOptions, GenericProps } from 'vuetify/lib/util/defineComponent.mjs';
import { ListItem } from 'vuetify/lib/composables/list-items.mjs';
import { VInputSlot, VInputSlots } from 'vuetify/lib/components/VInput/VInput.mjs';
import { VMessageSlot } from 'vuetify/lib/components/VMessages/VMessages.mjs';
import { DefaultInputSlot, VFieldSlot, VFieldSlots } from 'vuetify/lib/components/VField/VField.mjs';
import { LoaderSlotProps } from 'vuetify/lib/composables/loader.mjs';
import { VCounterSlot } from 'vuetify/lib/components/VCounter/VCounter.mjs';
import { OnCleanup } from '@vue/reactivity';
import { ItemType, Value } from 'vuetify/lib/components/VSelect/VSelect.mjs';
import { GroupItemProvide } from 'vuetify/lib/composables/group.mjs';
import { VExpansionPanelSlot, VExpansionPanelSlots } from 'vuetify/lib/components/VExpansionPanel/VExpansionPanels.mjs';
import { ExpansionPanelTitleSlot } from 'vuetify/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs';
interface SchemaRenderInfo {
schema: JsonSchema;
resolvedSchema: JsonSchema;
uischema: UISchemaElement;
label: string;
}
export declare function getJsonDataType(value: any): string | null;
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;
nullable: ComputedRef<boolean>;
mixedRenderInfos: ComputedRef<(SchemaRenderInfo & {
index: number;
})[]>;
selectedIndex: Ref<number | null | undefined, number | null | undefined>;
t: ComputedRef<Translator>;
valueType: Ref<string | null, string | null>;
schema: ComputedRef<JsonSchema | undefined>;
resolvedSchema: ComputedRef<JsonSchema | undefined>;
uischema: ComputedRef< BaseUISchemaElement | undefined>;
path: string;
icons: {
current: ComputedRef<IconAliases>;
};
currentlyExpanded: Ref<number | null, number | null>;
control: ComputedRef<{
uischema: ControlElement;
schema: NonNullable<JsonSchema>;
path: string;
enabled: boolean;
readonly: NonNullable<boolean | undefined>;
renderers: JsonFormsRendererRegistryEntry[];
cells: JsonFormsCellRendererRegistryEntry[] & {
tester: RankedTester;
cell: any;
}[];
config: any;
label: string;
description: string;
required: NonNullable<boolean | undefined>;
i18nKeyPrefix: string;
errors: string;
data: any;
rootSchema: NonNullable<JsonSchema>;
id: string;
visible: boolean;
}> & ComputedRef<{
schema: JsonSchema;
uischema: ControlElement;
path: string;
config: any;
label: string;
description: string;
required: boolean;
errors: string;
id: string;
visible: boolean;
enabled: boolean;
readonly: boolean;
} & {
errors: string;
}> & ComputedRef<{
i18nKeyPrefix: string;
label: string;
} & {
translations: CombinatorTranslations;
}>;
handleChange(path: string, value: any): void;
styles: Styles;
isFocused: Ref<boolean, boolean>;
appliedOptions: ComputedRef<any>;
controlWrapper: ComputedRef<{
id: string;
description: string;
errors: string;
label: string;
visible: boolean;
required: boolean;
}>;
onChange: (value: any) => void;
vuetifyProps: (path: string) => any;
persistentHint: () => boolean;
computedLabel: ComputedRef<string>;
clearable: ComputedRef<any>;
touched: Ref<boolean, boolean>;
handleBlur: () => void;
handleFocus: () => void;
rawErrors: ComputedRef<string>;
}, {}, {}, {
setToNull(): void;
handleSelectChange(newIndex: number): void;
}, 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>;
VSelect: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{
style: string | false | StyleValue[] | CSSProperties | null;
filterKeys: FilterKeys;
filterMode: FilterMode;
noFilter: boolean;
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
density: Density;
tile: boolean;
transition: string | boolean | {
component: Component;
} | ( TransitionProps & {
component?: Component | undefined;
}) | null;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
itemChildren: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
clearable: boolean;
clearIcon: IconValue;
active: boolean;
disabled: boolean;
glow: boolean;
error: boolean;
flat: boolean;
persistentClear: boolean;
reverse: boolean;
singleLine: boolean;
variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined";
autofocus: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
role: string;
type: string;
closeText: string;
openText: string;
chips: boolean;
closableChips: boolean;
eager: boolean;
hideNoData: boolean;
hideSelected: boolean;
menu: boolean;
menuIcon: IconValue;
noDataText: string;
openOnClear: boolean;
noAutoScroll: boolean;
} & {
theme?: string | undefined;
class?: any;
customFilter?: FilterFunction | undefined;
customKeyFilter?: FilterKeyFunctions | undefined;
"onUpdate:focused"?: ((args_0: boolean) => void) | undefined;
name?: string | undefined;
validateOn?: ("blur eager" | "blur lazy" | "eager" | "eager blur" | "eager input" | "eager invalid-input" | "eager submit" | "input eager" | "input lazy" | "invalid-input eager" | "invalid-input lazy" | "lazy" | "lazy blur" | "lazy input" | "lazy invalid-input" | "lazy submit" | "submit eager" | "submit lazy" | ("blur" | "input" | "invalid-input" | "submit")) | undefined;
rounded?: string | number | boolean | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
loading?: string | boolean | undefined;
id?: string | undefined;
appendIcon?: IconValue | undefined;
prependIcon?: IconValue | undefined;
hideDetails?: "auto" | boolean | undefined;
hint?: string | undefined;
"onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:append"?: ((args_0: MouseEvent) => void) | undefined;
valueComparator?: ValueComparator | undefined;
appendInnerIcon?: IconValue | undefined;
bgColor?: string | undefined;
centerAffix?: boolean | undefined;
color?: string | undefined;
baseColor?: string | undefined;
iconColor?: string | boolean | undefined;
label?: string | undefined;
prependInnerIcon?: IconValue | undefined;
"onClick:clear"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined;
autocomplete?: string | undefined;
counter?: string | number | boolean | undefined;
counterValue?: number | ((value: any) => number) | undefined;
prefix?: string | undefined;
placeholder?: string | undefined;
suffix?: string | undefined;
modelModifiers?: Record<string, boolean> | undefined;
listProps?: (Partial<{
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";
}> & Omit<{
theme?: string | undefined;
class?: any;
style: string | false | StyleValue[] | CSSProperties | null;
border?: string | number | boolean | undefined;
density: Density;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
tile: boolean;
tag: string | JSXComponent;
color?: string | undefined;
variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal";
height?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
returnObject: boolean;
valueComparator?: ValueComparator | undefined;
activatable: boolean;
selectable: boolean;
activeStrategy?: ActiveStrategyProp | undefined;
selectStrategy: SelectStrategyProp;
openStrategy: OpenStrategyProp;
mandatory: boolean;
itemsRegistration: ItemsRegistrationType;
baseColor?: string | undefined;
activeColor?: string | undefined;
activeClass?: string | undefined;
bgColor?: string | undefined;
disabled: boolean;
filterable: boolean;
expandIcon?: IconValue | undefined;
collapseIcon?: IconValue | undefined;
lines: "one" | "three" | "two" | false;
slim: boolean;
prependGap?: string | number | undefined;
indent?: string | number | undefined;
nav: boolean;
navigationStrategy: "focus" | "track";
navigationIndex?: number | undefined;
"onClick:activate"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => any) | undefined;
"onUpdate:navigationIndex"?: ((value: number) => any) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "itemsRegistration" | "lines" | "mandatory" | "nav" | "navigationStrategy" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
activated?: unknown;
opened?: unknown;
"onUpdate:selected"?: ((value: unknown) => void) | undefined;
"onUpdate:activated"?: ((value: unknown) => void) | undefined;
"onUpdate:opened"?: ((value: unknown) => void) | undefined;
"onClick:open"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void) | undefined;
"onClick:select"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void) | undefined;
} & {
$children?: {
prepend?: ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
append?: ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
title?: ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
subtitle?: ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
default?: (() => VNodeChild) | undefined;
item?: ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
} & {
index: number;
};
}) => VNodeChild) | undefined;
divider?: ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
subheader?: ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
header?: ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
prepend?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
append?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
title?: false | ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
subtitle?: false | ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
default?: false | (() => VNodeChild) | undefined;
item?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
} & {
index: number;
};
}) => VNodeChild) | undefined;
divider?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
subheader?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
header?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:append"?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:default"?: false | (() => VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
} & {
index: number;
};
}) => VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: {
[key: string]: any;
title: string;
value: any;
};
}) => VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:title"?: false | ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
}) | undefined;
menuProps?: (Partial<{
style: StyleValue;
locationStrategy: "connected" | "static" | LocationStrategyFunction;
location: Anchor | undefined;
origin: "auto" | "overlap" | Anchor;
stickToTarget: boolean;
viewportMargin: string | number;
scrollStrategy: "block" | "close" | "none" | "reposition" | ScrollStrategyFunction;
closeDelay: string | number;
openDelay: string | number;
activatorProps: Record<string, any>;
openOnClick: boolean;
openOnHover: boolean;
openOnFocus: boolean;
closeOnContentClick: boolean;
retainFocus: boolean;
captureFocus: boolean;
disableInitialFocus: boolean;
eager: boolean;
transition: string | boolean | {
component: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, VNodeProps & AllowedComponentProps & ComponentCustomProps, {}, true, {}, SlotsType<Partial<{
default: () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[];
}>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, {}, {}, {}, {}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & ComponentOptionsBase<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, SlotsType<Partial<{
default: () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[];
}>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{
target: PropType<HTMLElement | [x: number, y: number]>;
}, ExtractPropTypes<{
target: PropType<HTMLElement | [x: number, y: number]>;
}>>;
} | ( TransitionProps & {
component?: Component | undefined;
}) | null;
closeOnBack: boolean;
contained: boolean;
disabled: boolean;
noClickAnimation: boolean;
modelValue: boolean;
persistent: boolean;
scrim: string | boolean;
zIndex: string | number;
submenu: boolean;
}> & Omit<{
theme?: string | undefined;
class?: any;
style: string | false | StyleValue[] | CSSProperties | null;
$children?: {
default?: ((arg: {
isActive: Ref<boolean, boolean>;
}) => VNodeChild) | undefined;
activator?: ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | ((arg: {
isActive: Ref<boolean, boolean>;
}) => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | ((arg: {
isActive: Ref<boolean, boolean>;
}) => VNodeChild) | undefined;
activator?: false | ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
} | undefined;
locationStrategy: "connected" | "static" | LocationStrategyFunction;
location: Anchor;
origin: "auto" | "overlap" | Anchor;
offset?: string | number | number[] | undefined;
stickToTarget: boolean;
viewportMargin: string | number;
scrollStrategy: "block" | "close" | "none" | "reposition" | ScrollStrategyFunction;
height?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
closeDelay: string | number;
openDelay: string | number;
target?: "cursor" | "parent" | Element | [x: number, y: number] | ComponentPublicInstance | (string & {}) | undefined;
activator?: "parent" | Element | ComponentPublicInstance | (string & {}) | undefined;
activatorProps: Record<string, any>;
openOnClick?: boolean | undefined;
openOnHover: boolean;
openOnFocus?: boolean | undefined;
closeOnContentClick: boolean;
retainFocus: boolean;
captureFocus: boolean;
disableInitialFocus: boolean;
eager: boolean;
transition: string | boolean | {
component: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, VNodeProps & AllowedComponentProps & ComponentCustomProps, {}, true, {}, SlotsType<Partial<{
default: () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[];
}>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, {}, {}, {}, {}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & ComponentOptionsBase<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: {
default?: (() => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | (() => VNodeChild) | VNodeChild;
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, SlotsType<Partial<{
default: () => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[];
}>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{
target: PropType<HTMLElement | [x: number, y: number]>;
}, ExtractPropTypes<{
target: PropType<HTMLElement | [x: number, y: number]>;
}>>;
} | ( TransitionProps & {
component?: Component | undefined;
}) | null;
attach?: string | boolean | Element | undefined;
closeOnBack: boolean;
contained: boolean;
contentClass?: any;
contentProps?: any;
disabled: boolean;
opacity?: string | number | undefined;
noClickAnimation: boolean;
modelValue: boolean;
persistent: boolean;
scrim: string | boolean;
zIndex: string | number;
id?: string | undefined;
submenu: boolean;
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
"v-slot:activator"?: false | ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
"v-slot:default"?: false | ((arg: {
isActive: Ref<boolean, boolean>;
}) => VNodeChild) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined;
itemColor?: string | undefined;
search?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
}, {
isFocused: ShallowRef<boolean, boolean>;
menu: WritableComputedRef<boolean, boolean>;
search: Ref<string | undefined, string | undefined> & {
readonly externalValue: string | undefined;
};
filteredItems: ShallowRef< ListItem<any>[], ListItem<any>[]>;
select: (item: ListItem<any>, set?: boolean | null) => void;
} & Omit<Omit<{
$: ComponentInternalInstance;
$data: {};
$props: Partial<{
style: StyleValue;
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
density: Density;
rounded: string | number | boolean;
tile: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
clearable: boolean;
clearIcon: IconValue;
active: boolean;
centerAffix: boolean;
dirty: boolean;
disabled: boolean;
glow: boolean;
error: boolean;
flat: boolean;
persistentClear: boolean;
reverse: boolean;
singleLine: boolean;
variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined";
autofocus: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
type: string;
}> & Omit<{
theme?: string | undefined;
class?: any;
style: string | false | StyleValue[] | CSSProperties | null;
$children?: {
prepend?: ((arg: VInputSlot) => VNodeChild) | undefined;
append?: ((arg: VInputSlot) => VNodeChild) | undefined;
details?: ((arg: VInputSlot) => VNodeChild) | undefined;
message?: ((arg: VMessageSlot) => VNodeChild) | undefined;
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
"prepend-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"append-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => VNodeChild) | undefined;
default?: ((arg: {
id: Readonly< Ref<string, string>>;
}) => VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => VNodeChild) | undefined;
} | {
$stable?: boolean | undefined;
} | ((arg: {
id: Readonly< Ref<string, string>>;
}) => VNodeChild) | VNodeChild;
"v-slots"?: {
prepend?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
message?: false | ((arg: VMessageSlot) => VNodeChild) | undefined;
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
"prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined;
default?: false | ((arg: {
id: Readonly< Ref<string, string>>;
}) => VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => VNodeChild) | undefined;
} | undefined;
focused: boolean;
"onUpdate:focused"?: (((args_0: boolean) => void) & ((focused: boolean) => any)) | undefined;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
name?: string | undefined;
readonly: boolean | null;
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
modelValue?: any;
validateOn?: ("blur eager" | "blur lazy" | "eager" | "eager blur" | "eager input" | "eager invalid-input" | "eager submit" | "input eager" | "input lazy" | "invalid-input eager" | "invalid-input lazy" | "lazy" | "lazy blur" | "lazy input" | "lazy invalid-input" | "lazy submit" | "submit eager" | "submit lazy" | ("blur" | "input" | "invalid-input" | "submit")) | undefined;
validationValue?: any;
density: Density;
rounded?: string | number | boolean | undefined;
tile: boolean;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
loading?: string | boolean | undefined;
id?: string | undefined;
appendIcon?: IconValue | undefined;
prependIcon?: IconValue | undefined;
hideDetails?: "auto" | boolean | undefined;
hideSpinButtons: boolean;
hint?: string | undefined;
persistentHint: boolean;
messages: string | readonly string[];
"onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:append"?: ((args_0: MouseEvent) => void) | undefined;
appendInnerIcon?: IconValue | undefined;
bgColor?: string | undefined;
clearable: boolean;
clearIcon: IconValue;
active: boolean;
centerAffix?: boolean | undefined;
color?: string | undefined;
baseColor?: string | undefined;
dirty: boolean;
disabled: boolean;
glow: boolean;
error: boolean;
flat: boolean;
iconColor?: string | boolean | undefined;
label?: string | undefined;
persistentClear: boolean;
prependInnerIcon?: IconValue | undefined;
reverse: boolean;
singleLine: boolean;
variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined";
"onClick:clear"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined;
autocomplete?: string | undefined;
autofocus: boolean;
counter?: string | number | boolean | undefined;
counterValue?: number | ((value: any) => number) | undefined;
prefix?: string | undefined;
placeholder?: string | undefined;
persistentPlaceholder: boolean;
persistentCounter: boolean;
suffix?: string | undefined;
role?: string | undefined;
type: string;
modelModifiers?: Record<string, boolean> | undefined;
"onClick:control"?: ((e: MouseEvent) => any) | undefined;
"onMousedown:control"?: ((e: MouseEvent) => any) | undefined;
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
"v-slot:append"?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => VNodeChild) | undefined;
"v-slot:default"?: false | ((arg: {
id: Readonly< Ref<string, string>>;
}) => VNodeChild) | undefined;
"v-slot:details"?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
prepend?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
append?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
details?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
message?: ((arg: VMessageSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
clear?: ((arg: Defa