@jsonforms/vue-vuetify
Version:
Vue Vuetify renderers for JSON Forms
966 lines (964 loc) • 536 kB
TypeScript
import { ControlElement, JsonSchema, UISchemaElement, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, Translator, BaseUISchemaElement, RankedTester, CombinatorTranslations, JsonFormsUISchemaRegistryEntry } from '@jsonforms/core';
import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, TransitionProps, Component, StyleValue, VNodeProps, AllowedComponentProps, ComponentCustomProps, VNodeChild, SlotsType, VNode, GlobalComponents, GlobalDirectives, ComponentOptionsBase, ComponentPublicInstance, ShallowRef, WritableComputedRef, ComponentInternalInstance, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties, RendererNode, RendererElement, Prop } from 'vue';
import { IconAliases, Styles } from '..';
import { ValidationResult, ValidationProps } from 'vuetify/lib/composables/validation.mjs';
import { Density } from 'vuetify/lib/composables/density.mjs';
import { IconValue } from 'vuetify/lib/composables/icons.mjs';
import { SelectItemKey, deepEqual } from 'vuetify/lib/util/helpers.mjs';
import { JSXComponent, Anchor, FilterPropsOptions, TemplateRef } from 'vuetify/lib/util/index.mjs';
import { SelectStrategyProp, OpenStrategyProp, ActiveStrategyProp } from 'vuetify/lib/composables/nested/nested.mjs';
import { ListItemTitleSlot, ListItemSlot, ListItemSubtitleSlot } from 'vuetify/lib/components/VList/VListItem.mjs';
import { InternalListItem } from 'vuetify/lib/components/VList/VList.mjs';
import { LocationStrategyFunction } from 'vuetify/lib/components/VOverlay/locationStrategies.mjs';
import { ScrollStrategyFunction } from 'vuetify/lib/components/VOverlay/scrollStrategies.mjs';
import { ListItem, ItemProps } from 'vuetify/lib/composables/list-items.mjs';
import { VMessageSlot } from 'vuetify/lib/components/VMessages/VMessages.mjs';
import { DefaultInputSlot, VFieldSlot, VFieldSlots } from 'vuetify/lib/components/VField/VField.mjs';
import { VInputSlot, VInputSlots } from 'vuetify/lib/components/VInput/VInput.mjs';
import { LoaderSlotProps } from 'vuetify/lib/composables/loader.mjs';
import { VCounterSlot } from 'vuetify/lib/components/VCounter/VCounter.mjs';
import { OnCleanup } from '@vue/reactivity';
import { GenericProps, FilterPropsOptions } from 'vuetify/lib/util/defineComponent.mjs';
import { ItemType, Value } from 'vuetify/lib/components/VSelect/VSelect.mjs';
import { ClassValue } from 'vuetify/lib/composables/component.mjs';
import { ValidationRule, JSXComponent } from 'vuetify/lib/types.mjs';
import { ValidationAlias } from 'vuetify/labs/rules';
import { VList, VMenu } from 'vuetify/components';
import { GroupItemProvide } from 'vuetify/lib/composables/group.mjs';
import { RippleDirectiveBinding } from 'vuetify/directives/ripple';
import { VExpansionPanelSlot, Variant } from 'vuetify/lib/components/VExpansionPanel/VExpansionPanels.mjs';
import { ExpansionPanelTitleSlot } from 'vuetify/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs';
import { ALIGN_CONTENT_VALUES, ALIGN_VALUES } from 'vuetify/lib/components/VGrid/VRow.mjs';
import { ALIGN_SELF_VALUES } from 'vuetify/lib/components/VGrid/VCol.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;
renderers?: JsonFormsRendererRegistryEntry[] | undefined;
cells?: JsonFormsCellRendererRegistryEntry[] | undefined;
config?: any;
}, {
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;
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<{
uischema: ControlElement;
path: string;
config: any;
label: string;
description: string;
required: boolean;
errors: string;
id: string;
visible: boolean;
enabled: 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;
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>;
VSelect: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{
flat: boolean;
reverse: boolean;
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
transition: string | boolean | ( TransitionProps & {
component?: Component;
}) | {
component: Component;
} | null;
menu: boolean;
style: StyleValue;
role: string;
autofocus: boolean;
eager: boolean;
disabled: boolean;
readonly: boolean | null;
messages: string | readonly string[];
noDataText: string;
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
density: Density;
tile: boolean;
closeText: string;
clearIcon: IconValue;
glow: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
itemChildren: SelectItemKey;
itemType: SelectItemKey;
clearable: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
chips: boolean;
closableChips: boolean;
openText: string;
hideNoData: boolean;
hideSelected: boolean;
menuIcon: IconValue;
openOnClear: boolean;
noAutoScroll: boolean;
} & {
name?: string | undefined;
id?: string | undefined;
width?: string | number | undefined;
color?: string | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
loading?: string | boolean | undefined;
label?: string | undefined;
prefix?: string | undefined;
class?: any;
theme?: string | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
"onUpdate:focused"?: ((args_0: boolean) => void) | undefined;
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
valueComparator?: deepEqual | undefined;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
iconColor?: string | boolean | undefined;
prependInnerIcon?: IconValue | undefined;
"onClick:clear"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:append"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
listProps?: (Partial<{
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;
}> & Omit<{
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;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
"onUpdate:selected"?: ((value: unknown) => void) | undefined;
"onClick:open"?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
"onClick:select"?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
opened?: unknown;
"onUpdate:opened"?: ((value: unknown) => void) | undefined;
} & {
$children?: VNodeChild | (() => VNodeChild) | {
title?: ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
append?: ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
prepend?: ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
subtitle?: ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
default?: (() => VNodeChild) | undefined;
item?: ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
divider?: ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
subheader?: ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
header?: ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
};
"v-slots"?: {
title?: false | ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
append?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
prepend?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
subtitle?: false | ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
default?: false | (() => VNodeChild) | undefined;
item?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
divider?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
subheader?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
header?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:title"?: false | ((arg: ListItemTitleSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: ListItemSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot & {
item: any;
}) => VNodeChild) | undefined;
"v-slot:default"?: false | (() => VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: InternalListItem["props"];
}) => VNodeChild) | undefined;
}) | undefined;
menuProps?: (Partial<{
location: Anchor | undefined;
origin: "auto" | Anchor | "overlap";
transition: string | boolean | ( TransitionProps & {
component?: Component;
}) | {
component: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => 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[];
}>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => VNodeChild);
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, {}, {}, {}, {}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & ComponentOptionsBase<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => 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[];
}>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{
target: PropType<HTMLElement | [x: number, y: number]>;
}, ExtractPropTypes<{
target: PropType<HTMLElement | [x: number, y: number]>;
}>>;
} | null;
zIndex: string | number;
style: StyleValue;
eager: boolean;
disabled: boolean;
persistent: boolean;
modelValue: boolean;
locationStrategy: "connected" | "static" | LocationStrategyFunction;
scrollStrategy: "none" | "block" | "close" | ScrollStrategyFunction | "reposition";
closeDelay: string | number;
openDelay: string | number;
activatorProps: Record<string, any>;
openOnClick: boolean;
openOnHover: boolean;
openOnFocus: boolean;
closeOnContentClick: boolean;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
scrim: string | boolean;
submenu: boolean;
disableInitialFocus: boolean;
}> & Omit<{
location: Anchor | undefined;
origin: "auto" | Anchor | "overlap";
transition: string | boolean | ( TransitionProps & {
component?: Component;
}) | {
component: {
new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => 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[];
}>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => VNodeChild);
"v-slots"?: {
default?: false | (() => VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => VNodeChild) | undefined;
}, () => JSX.Element, {}, {}, {}, {}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & ComponentOptionsBase<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: VNodeChild | {
default?: (() => VNodeChild) | undefined;
} | (() => 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[];
}>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{
target: PropType<HTMLElement | [x: number, y: number]>;
}, ExtractPropTypes<{
target: PropType<HTMLElement | [x: number, y: number]>;
}>>;
} | null;
zIndex: string | number;
style: StyleValue;
eager: boolean;
disabled: boolean;
persistent: boolean;
modelValue: boolean;
locationStrategy: "connected" | "static" | LocationStrategyFunction;
scrollStrategy: "none" | "block" | "close" | ScrollStrategyFunction | "reposition";
closeDelay: string | number;
openDelay: string | number;
activatorProps: Record<string, any>;
openOnHover: boolean;
closeOnContentClick: boolean;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
scrim: string | boolean;
submenu: boolean;
disableInitialFocus: boolean;
offset?: string | number | number[] | undefined;
id?: string | undefined;
height?: string | number | undefined;
width?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
opacity?: string | number | undefined;
target?: Element | "cursor" | "parent" | (string & {}) | ComponentPublicInstance | [x: number, y: number] | undefined;
class?: any;
theme?: string | undefined;
activator?: Element | "parent" | (string & {}) | ComponentPublicInstance | undefined;
openOnClick?: boolean | undefined;
openOnFocus?: boolean | undefined;
contentClass?: any;
contentProps?: any;
attach?: string | boolean | Element | undefined;
$children?: VNodeChild | {
default?: ((arg: {
isActive: Ref<boolean>;
}) => VNodeChild) | undefined;
activator?: ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
} | ((arg: {
isActive: Ref<boolean>;
}) => VNodeChild);
"v-slots"?: {
default?: false | ((arg: {
isActive: Ref<boolean>;
}) => VNodeChild) | undefined;
activator?: false | ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
} | undefined;
"v-slot:default"?: false | ((arg: {
isActive: Ref<boolean>;
}) => VNodeChild) | undefined;
"v-slot:activator"?: false | ((arg: {
isActive: boolean;
props: Record<string, any>;
targetRef: TemplateRef;
}) => VNodeChild) | undefined;
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "persistent" | "modelValue" | "locationStrategy" | "scrollStrategy" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim" | "submenu" | "disableInitialFocus">) | undefined;
itemColor?: string | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
"onUpdate:menu"?: ((ue: boolean) => any) | undefined;
}, {
isFocused: ShallowRef<boolean, boolean>;
menu: WritableComputedRef<boolean, boolean>;
select: (item: ListItem, set?: boolean | null) => void;
} & Omit<Omit<{
$: ComponentInternalInstance;
$data: {};
$props: Partial<{
flat: boolean;
reverse: boolean;
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
style: StyleValue;
autofocus: boolean;
disabled: boolean;
readonly: boolean | null;
messages: string | readonly string[];
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
density: Density;
rounded: string | number | boolean;
tile: boolean;
clearIcon: IconValue;
centerAffix: boolean;
glow: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
}> & Omit<{
flat: boolean;
reverse: boolean;
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
style: StyleValue;
autofocus: boolean;
disabled: boolean;
readonly: boolean | null;
messages: string | readonly string[];
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
density: Density;
tile: boolean;
clearIcon: IconValue;
glow: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
name?: string | undefined;
id?: string | undefined;
width?: string | number | undefined;
color?: string | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
loading?: string | boolean | undefined;
label?: string | undefined;
prefix?: string | undefined;
role?: string | undefined;
class?: any;
theme?: string | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
"onUpdate:focused"?: (((args_0: boolean) => void) & ((focused: boolean) => any)) | undefined;
modelValue?: any;
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
iconColor?: string | boolean | undefined;
appendInnerIcon?: IconValue | undefined;
prependInnerIcon?: IconValue | undefined;
"onClick:clear"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:append"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
$children?: VNodeChild | (() => VNodeChild) | {
message?: ((arg: VMessageSlot) => VNodeChild) | undefined;
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
details?: ((arg: VInputSlot) => VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
append?: ((arg: VInputSlot) => VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => VNodeChild) | undefined;
"prepend-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"append-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined;
default?: (() => VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => VNodeChild) | undefined;
};
"v-slots"?: {
message?: false | ((arg: VMessageSlot) => VNodeChild) | undefined;
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
prepend?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined;
"prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
default?: false | (() => VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => VNodeChild) | undefined;
} | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => VNodeChild) | undefined;
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => 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:append"?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined;
"v-slot:default"?: false | (() => VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => VNodeChild) | undefined;
"onUpdate:modelValue"?: ((val: string) => any) | undefined;
"onClick:control"?: ((e: MouseEvent) => any) | undefined;
"onMousedown:control"?: ((e: MouseEvent) => any) | undefined;
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, "flat" | "reverse" | "variant" | "type" | "error" | "active" | "direction" | "style" | "autofocus" | "disabled" | "readonly" | "messages" | "rules" | "focused" | "errorMessages" | "maxErrors" | "density" | "rounded" | "tile" | "clearIcon" | "centerAffix" | "glow" | "hideSpinButtons" | "persistentHint" | "clearable" | "dirty" | "persistentClear" | "singleLine" | "persistentPlaceholder" | "persistentCounter">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
message?: ((arg: VMessageSlot) => VNode[]) | undefined;
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNode[]) | undefined;
details?: ((arg: VInputSlot) => VNode[]) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNode[]) | undefined;
append?: ((arg: VInputSlot) => VNode[]) | undefined;
prepend?: ((arg: VInputSlot) => VNode[]) | undefined;
loader?: ((arg: LoaderSlotProps) => VNode[]) | undefined;
"prepend-inner"?: ((arg: DefaultInputSlot) => VNode[]) | undefined;
"append-inner"?: ((arg: DefaultInputSlot) => VNode[]) | undefined;
default?: (() => VNode[]) | undefined;
counter?: ((arg: VCounterSlot) => VNode[]) | undefined;
}>;
$root: ComponentPublicInstance | null;
$parent: ComponentPublicInstance | null;
$host: Element | null;
$emit: ((event: "update:modelValue", val: string) => void) & ((event: "update:focused", focused: boolean) => void) & ((event: "click:control", e: MouseEvent) => void) & ((event: "mousedown:control", e: MouseEvent) => void);
$el: any;
$options: ComponentOptionsBase<{
flat: boolean;
reverse: boolean;
variant: "filled" | "outlined" | "plain" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
style: StyleValue;
autofocus: boolean;
disabled: boolean;
readonly: boolean | null;
messages: string | readonly string[];
rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
density: Density;
tile: boolean;
clearIcon: IconValue;
glow: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
} & {
name?: string | undefined;
id?: string | undefined;
width?: string | number | undefined;
color?: string | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
loading?: string | boolean | undefined;
label?: string | undefined;
prefix?: string | undefined;
role?: string | undefined;
class?: any;
theme?: string | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
"onUpdate:focused"?: ((args_0: boolean) => void) | undefined;
modelValue?: any;
validateOn?: ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
iconColor?: string | boolean | undefined;
appendInnerIcon?: IconValue | undefined;
prependInnerIcon?: IconValue | undefined;
"onClick:clear"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:append"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined;
"onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
} & {
$children?: VNodeChild | (() => VNodeChild) | {
message?: ((arg: VMessageSlot) => VNodeChild) | undefined;
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => VNodeChild) | undefined;
details?: ((arg: VInputSlot) => VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => VNodeChild) | undefined;
append?: ((arg: VInputSlot) => VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => VNodeChild) | undefined;
"prepend-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined;