@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
954 lines (953 loc) • 594 kB
TypeScript
import { ControlElement, JsonSchema, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, RankedTester, DispatchPropsOfControl } from '@jsonforms/core';
import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, StyleValue, CSSProperties, VNodeProps, AllowedComponentProps, ComponentCustomProps, VNodeChild, SlotsType, VNode, RendererNode, RendererElement, GlobalComponents, GlobalDirectives, ComponentOptionsBase, PropType, ExtractPropTypes, TransitionProps, Component, ComponentPublicInstance, ShallowRef, WritableComputedRef, ComponentInternalInstance, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties } from 'vue';
import { Styles, AppliedOptions, ControlWrapperType, ControlWrapperProps } 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/VCombobox/VCombobox.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;
}, {
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;
}>;
} & DispatchPropsOfControl & {
control: 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;
}>;
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>;
}, {}, {
items(): string[];
}, {}, 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>;
}, {}, {
ControlWrapper: DefineComponent<{
id?: string | undefined;
description?: string | undefined;
errors?: string | undefined;
label?: string | undefined;
visible?: boolean | undefined;
required?: boolean | undefined;
isFocused?: boolean | undefined;
styles?: Styles | undefined;
appliedOptions?: AppliedOptions | undefined;
}, {
WrapperComponent: ControlWrapperType;
props: ControlWrapperProps;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{
id?: string | undefined;
description?: string | undefined;
errors?: string | undefined;
label?: string | undefined;
visible?: boolean | undefined;
required?: boolean | undefined;
isFocused?: boolean | undefined;
styles?: Styles | undefined;
appliedOptions?: AppliedOptions | undefined;
}> & Readonly<{}>, {
visible: boolean;
required: boolean;
isFocused: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
VCombobox: {
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;
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;
alwaysFilter: boolean;
clearOnSelect: 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;
autoSelectFirst?: "exact" | boolean | undefined;
delimiters?: readonly string[] | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((value: boolean) => any) | undefined;
"onUpdate:search"?: ((value: string) => any) | undefined;
}, {
isFocused: ShallowRef<boolean, boolean>;
isPristine: ShallowRef<boolean, boolean>;
menu: WritableComputedRef<boolean, boolean>;
search: WritableComputedRef<string, string>;
selectionIndex: ShallowRef<number, number>;
filteredItems: ShallowRef< ListItem<any>[], ListItem<any>[]>;
select: (item: ListItem<any> | undefined, set?: boolean | null, keepMenu?: boolean) => 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: DefaultInputSlot & {
props: Record<string, any>;
}) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
"prepend-inner"?: ((arg: DefaultInputSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
"append-inner"?: ((arg: DefaultInputSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
loader?: ((arg: LoaderSlotProps) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
default?: ((arg: {
id: Readonly< Ref<string, string>>;
}) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
counter?: ((arg: VCounterSlot) => VNode<RendererNode, RendererElement, {
[key: string]: any;
}>[]) | undefined;
}>;
$root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
$parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
$host: Element | null;
$emit: ((event: "click:control", e: MouseEvent) => void) & ((event: "mousedown:control", e: MouseEvent) => void) & ((event: "update:focused", focused: boolean) => void) & ((event: "update:modelValue", val: string) => void);
$el: any;
$options: ComponentOptionsBase<{
style: string | false | StyleValue[] | CSSProperties | null;
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;
hideSpinButtons: boolean;
persistentHint: boolean;
messages: string | readonly string[];
clearable: boolean;
clearIcon: IconValue;
active: 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";
aut