UNPKG

@jsonforms/vue-vuetify

Version:

Vue Vuetify renderers for JSON Forms

966 lines (964 loc) 536 kB
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;