UNPKG

@jsonforms/vue-vuetify

Version:

Vue Vuetify renderers for JSON Forms

955 lines (953 loc) 595 kB
import { ControlElement, JsonSchema, JsonFormsRendererRegistryEntry, JsonFormsCellRendererRegistryEntry, RankedTester, EnumOption, DispatchPropsOfControl } from '@jsonforms/core'; import { DefineComponent, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, StyleValue, CSSProperties, Component, TransitionProps, VNodeProps, AllowedComponentProps, ComponentCustomProps, VNodeChild, SlotsType, VNode, RendererNode, RendererElement, GlobalComponents, GlobalDirectives, ComponentOptionsBase, PropType, ExtractPropTypes, 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/VSelect/VSelect.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; options: EnumOption[]; }>; } & 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>; }, {}, {}, {}, 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>; VSelect: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{ style: string | false | StyleValue[] | CSSProperties | null; filterKeys: FilterKeys; filterMode: FilterMode; noFilter: boolean; focused: boolean; errorMessages: string | readonly string[] | null; maxErrors: string | number; readonly: boolean | null; rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[]; density: Density; tile: boolean; transition: string | boolean | { component: Component; } | ( TransitionProps & { component?: Component | undefined; }) | null; hideSpinButtons: boolean; persistentHint: boolean; messages: string | readonly string[]; itemChildren: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; clearable: boolean; clearIcon: IconValue; active: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; autofocus: boolean; persistentPlaceholder: boolean; persistentCounter: boolean; role: string; type: string; closeText: string; openText: string; chips: boolean; closableChips: boolean; eager: boolean; hideNoData: boolean; hideSelected: boolean; menu: boolean; menuIcon: IconValue; noDataText: string; openOnClear: boolean; noAutoScroll: boolean; } & { theme?: string | undefined; class?: any; customFilter?: FilterFunction | undefined; customKeyFilter?: FilterKeyFunctions | undefined; "onUpdate:focused"?: ((args_0: boolean) => void) | undefined; name?: string | undefined; validateOn?: ("blur eager" | "blur lazy" | "eager" | "eager blur" | "eager input" | "eager invalid-input" | "eager submit" | "input eager" | "input lazy" | "invalid-input eager" | "invalid-input lazy" | "lazy" | "lazy blur" | "lazy input" | "lazy invalid-input" | "lazy submit" | "submit eager" | "submit lazy" | ("blur" | "input" | "invalid-input" | "submit")) | undefined; rounded?: string | number | boolean | undefined; maxWidth?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; loading?: string | boolean | undefined; id?: string | undefined; appendIcon?: IconValue | undefined; prependIcon?: IconValue | undefined; hideDetails?: "auto" | boolean | undefined; hint?: string | undefined; "onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined; "onClick:append"?: ((args_0: MouseEvent) => void) | undefined; valueComparator?: ValueComparator | undefined; appendInnerIcon?: IconValue | undefined; bgColor?: string | undefined; centerAffix?: boolean | undefined; color?: string | undefined; baseColor?: string | undefined; iconColor?: string | boolean | undefined; label?: string | undefined; prependInnerIcon?: IconValue | undefined; "onClick:clear"?: ((args_0: MouseEvent) => void) | undefined; "onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined; "onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined; autocomplete?: string | undefined; counter?: string | number | boolean | undefined; counterValue?: number | ((value: any) => number) | undefined; prefix?: string | undefined; placeholder?: string | undefined; suffix?: string | undefined; modelModifiers?: Record<string, boolean> | undefined; listProps?: (Partial<{ style: StyleValue; density: Density; rounded: string | number | boolean; tile: boolean; tag: string | JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; itemType: SelectItemKey; returnObject: boolean; activatable: boolean; selectable: boolean; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; navigationStrategy: "focus" | "track"; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | StyleValue[] | CSSProperties | null; border?: string | number | boolean | undefined; density: Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; valueComparator?: ValueComparator | undefined; activatable: boolean; selectable: boolean; activeStrategy?: ActiveStrategyProp | undefined; selectStrategy: SelectStrategyProp; openStrategy: OpenStrategyProp; mandatory: boolean; itemsRegistration: ItemsRegistrationType; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; disabled: boolean; filterable: boolean; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; lines: "one" | "three" | "two" | false; slim: boolean; prependGap?: string | number | undefined; indent?: string | number | undefined; nav: boolean; navigationStrategy: "focus" | "track"; navigationIndex?: number | undefined; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:navigationIndex"?: ((value: number) => any) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "itemsRegistration" | "lines" | "mandatory" | "nav" | "navigationStrategy" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & { items?: readonly any[] | undefined; itemTitle?: SelectItemKey<any>; itemValue?: SelectItemKey<any>; itemChildren?: SelectItemKey<any>; itemProps?: SelectItemKey<any>; selected?: unknown; activated?: unknown; opened?: unknown; "onUpdate:selected"?: ((value: unknown) => void) | undefined; "onUpdate:activated"?: ((value: unknown) => void) | undefined; "onUpdate:opened"?: ((value: unknown) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; } & { $children?: { prepend?: ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; append?: ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; title?: ((arg: ListItemTitleSlot & { item: any; }) => VNodeChild) | undefined; subtitle?: ((arg: ListItemSubtitleSlot & { item: any; }) => VNodeChild) | undefined; default?: (() => VNodeChild) | undefined; item?: ((arg: { props: { [key: string]: any; title: string; value: any; } & { index: number; }; }) => VNodeChild) | undefined; divider?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; subheader?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; header?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { prepend?: false | ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; append?: false | ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; title?: false | ((arg: ListItemTitleSlot & { item: any; }) => VNodeChild) | undefined; subtitle?: false | ((arg: ListItemSubtitleSlot & { item: any; }) => VNodeChild) | undefined; default?: false | (() => VNodeChild) | undefined; item?: false | ((arg: { props: { [key: string]: any; title: string; value: any; } & { index: number; }; }) => VNodeChild) | undefined; divider?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; subheader?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; header?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; "v-slot:default"?: false | (() => VNodeChild) | undefined; "v-slot:divider"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; "v-slot:header"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; "v-slot:item"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; } & { index: number; }; }) => VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: ListItemSlot & { item: any; }) => VNodeChild) | undefined; "v-slot:subheader"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot & { item: any; }) => VNodeChild) | undefined; "v-slot:title"?: false | ((arg: ListItemTitleSlot & { item: any; }) => VNodeChild) | undefined; }) | undefined; menuProps?: (Partial<{ style: StyleValue; locationStrategy: "connected" | "static" | LocationStrategyFunction; location: Anchor | undefined; origin: "auto" | "overlap" | Anchor; stickToTarget: boolean; viewportMargin: string | number; scrollStrategy: "block" | "close" | "none" | "reposition" | ScrollStrategyFunction; closeDelay: string | number; openDelay: string | number; activatorProps: Record<string, any>; openOnClick: boolean; openOnHover: boolean; openOnFocus: boolean; closeOnContentClick: boolean; retainFocus: boolean; captureFocus: boolean; disableInitialFocus: boolean; eager: boolean; transition: string | boolean | { component: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, VNodeProps & AllowedComponentProps & ComponentCustomProps, {}, true, {}, SlotsType<Partial<{ default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, {} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & ComponentOptionsBase<{} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, SlotsType<Partial<{ default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{ target: PropType<HTMLElement | [x: number, y: number]>; }, ExtractPropTypes<{ target: PropType<HTMLElement | [x: number, y: number]>; }>>; } | ( TransitionProps & { component?: Component | undefined; }) | null; closeOnBack: boolean; contained: boolean; disabled: boolean; noClickAnimation: boolean; modelValue: boolean; persistent: boolean; scrim: string | boolean; zIndex: string | number; submenu: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | StyleValue[] | CSSProperties | null; $children?: { default?: ((arg: { isActive: Ref<boolean, boolean>; }) => VNodeChild) | undefined; activator?: ((arg: { isActive: boolean; props: Record<string, any>; targetRef: TemplateRef; }) => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | ((arg: { isActive: Ref<boolean, boolean>; }) => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | ((arg: { isActive: Ref<boolean, boolean>; }) => VNodeChild) | undefined; activator?: false | ((arg: { isActive: boolean; props: Record<string, any>; targetRef: TemplateRef; }) => VNodeChild) | undefined; } | undefined; locationStrategy: "connected" | "static" | LocationStrategyFunction; location: Anchor; origin: "auto" | "overlap" | Anchor; offset?: string | number | number[] | undefined; stickToTarget: boolean; viewportMargin: string | number; scrollStrategy: "block" | "close" | "none" | "reposition" | ScrollStrategyFunction; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; closeDelay: string | number; openDelay: string | number; target?: "cursor" | "parent" | Element | [x: number, y: number] | ComponentPublicInstance | (string & {}) | undefined; activator?: "parent" | Element | ComponentPublicInstance | (string & {}) | undefined; activatorProps: Record<string, any>; openOnClick?: boolean | undefined; openOnHover: boolean; openOnFocus?: boolean | undefined; closeOnContentClick: boolean; retainFocus: boolean; captureFocus: boolean; disableInitialFocus: boolean; eager: boolean; transition: string | boolean | { component: { new (...args: any[]): CreateComponentPublicInstanceWithMixins<{} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, VNodeProps & AllowedComponentProps & ComponentCustomProps, {}, true, {}, SlotsType<Partial<{ default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, {} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, {}, {}, {}, {}>; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & ComponentOptionsBase<{} & { target?: HTMLElement | [x: number, y: number] | undefined; } & { $children?: { default?: (() => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => VNodeChild) | VNodeChild; "v-slots"?: { default?: false | (() => VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, SlotsType<Partial<{ default: () => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]; }>>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & FilterPropsOptions<{ target: PropType<HTMLElement | [x: number, y: number]>; }, ExtractPropTypes<{ target: PropType<HTMLElement | [x: number, y: number]>; }>>; } | ( TransitionProps & { component?: Component | undefined; }) | null; attach?: string | boolean | Element | undefined; closeOnBack: boolean; contained: boolean; contentClass?: any; contentProps?: any; disabled: boolean; opacity?: string | number | undefined; noClickAnimation: boolean; modelValue: boolean; persistent: boolean; scrim: string | boolean; zIndex: string | number; id?: string | undefined; submenu: boolean; "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; "v-slot:activator"?: false | ((arg: { isActive: boolean; props: Record<string, any>; targetRef: TemplateRef; }) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: { isActive: Ref<boolean, boolean>; }) => VNodeChild) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, "activatorProps" | "captureFocus" | "closeDelay" | "closeOnBack" | "closeOnContentClick" | "contained" | "disableInitialFocus" | "disabled" | "eager" | "location" | "locationStrategy" | "modelValue" | "noClickAnimation" | "openDelay" | "openOnClick" | "openOnFocus" | "openOnHover" | "origin" | "persistent" | "retainFocus" | "scrim" | "scrollStrategy" | "stickToTarget" | "style" | "submenu" | "transition" | "viewportMargin" | "zIndex">) | undefined; itemColor?: string | undefined; search?: string | undefined; } & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; "onUpdate:menu"?: ((ue: boolean) => any) | undefined; "onUpdate:search"?: ((value: string) => any) | undefined; }, { isFocused: ShallowRef<boolean, boolean>; menu: WritableComputedRef<boolean, boolean>; search: Ref<string | undefined, string | undefined> & { readonly externalValue: string | undefined; }; filteredItems: ShallowRef< ListItem<any>[], ListItem<any>[]>; select: (item: ListItem<any>, set?: boolean | null) => void; } & Omit<Omit<{ $: ComponentInternalInstance; $data: {}; $props: Partial<{ style: StyleValue; focused: boolean; errorMessages: string | readonly string[] | null; maxErrors: string | number; readonly: boolean | null; rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[]; density: Density; rounded: string | number | boolean; tile: boolean; hideSpinButtons: boolean; persistentHint: boolean; messages: string | readonly string[]; clearable: boolean; clearIcon: IconValue; active: boolean; centerAffix: boolean; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; persistentClear: boolean; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; autofocus: boolean; persistentPlaceholder: boolean; persistentCounter: boolean; type: string; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | StyleValue[] | CSSProperties | null; $children?: { prepend?: ((arg: VInputSlot) => VNodeChild) | undefined; append?: ((arg: VInputSlot) => VNodeChild) | undefined; details?: ((arg: VInputSlot) => VNodeChild) | undefined; message?: ((arg: VMessageSlot) => VNodeChild) | undefined; clear?: ((arg: DefaultInputSlot & { props: Record<string, any>; }) => VNodeChild) | undefined; "prepend-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined; "append-inner"?: ((arg: DefaultInputSlot) => VNodeChild) | undefined; label?: ((arg: DefaultInputSlot & { label: string | undefined; props: Record<string, any>; }) => VNodeChild) | undefined; loader?: ((arg: LoaderSlotProps) => VNodeChild) | undefined; default?: ((arg: { id: Readonly< Ref<string, string>>; }) => VNodeChild) | undefined; counter?: ((arg: VCounterSlot) => VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | ((arg: { id: Readonly< Ref<string, string>>; }) => VNodeChild) | VNodeChild; "v-slots"?: { prepend?: false | ((arg: VInputSlot) => VNodeChild) | undefined; append?: false | ((arg: VInputSlot) => VNodeChild) | undefined; details?: false | ((arg: VInputSlot) => VNodeChild) | undefined; message?: false | ((arg: VMessageSlot) => VNodeChild) | undefined; clear?: false | ((arg: DefaultInputSlot & { props: Record<string, any>; }) => VNodeChild) | undefined; "prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined; "append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined; label?: false | ((arg: DefaultInputSlot & { label: string | undefined; props: Record<string, any>; }) => VNodeChild) | undefined; loader?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined; default?: false | ((arg: { id: Readonly< Ref<string, string>>; }) => VNodeChild) | undefined; counter?: false | ((arg: VCounterSlot) => VNodeChild) | undefined; } | undefined; focused: boolean; "onUpdate:focused"?: (((args_0: boolean) => void) & ((focused: boolean) => any)) | undefined; errorMessages: string | readonly string[] | null; maxErrors: string | number; name?: string | undefined; readonly: boolean | null; rules: readonly (string | boolean | PromiseLike< ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike< ValidationResult>) | [string, any, (string | undefined)?])[]; modelValue?: any; validateOn?: ("blur eager" | "blur lazy" | "eager" | "eager blur" | "eager input" | "eager invalid-input" | "eager submit" | "input eager" | "input lazy" | "invalid-input eager" | "invalid-input lazy" | "lazy" | "lazy blur" | "lazy input" | "lazy invalid-input" | "lazy submit" | "submit eager" | "submit lazy" | ("blur" | "input" | "invalid-input" | "submit")) | undefined; validationValue?: any; density: Density; rounded?: string | number | boolean | undefined; tile: boolean; maxWidth?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; loading?: string | boolean | undefined; id?: string | undefined; appendIcon?: IconValue | undefined; prependIcon?: IconValue | undefined; hideDetails?: "auto" | boolean | undefined; hideSpinButtons: boolean; hint?: string | undefined; persistentHint: boolean; messages: string | readonly string[]; "onClick:prepend"?: ((args_0: MouseEvent) => void) | undefined; "onClick:append"?: ((args_0: MouseEvent) => void) | undefined; appendInnerIcon?: IconValue | undefined; bgColor?: string | undefined; clearable: boolean; clearIcon: IconValue; active: boolean; centerAffix?: boolean | undefined; color?: string | undefined; baseColor?: string | undefined; dirty: boolean; disabled: boolean; glow: boolean; error: boolean; flat: boolean; iconColor?: string | boolean | undefined; label?: string | undefined; persistentClear: boolean; prependInnerIcon?: IconValue | undefined; reverse: boolean; singleLine: boolean; variant: "filled" | "outlined" | "plain" | "solo" | "solo-filled" | "solo-inverted" | "underlined"; "onClick:clear"?: ((args_0: MouseEvent) => void) | undefined; "onClick:appendInner"?: ((args_0: MouseEvent) => void) | undefined; "onClick:prependInner"?: ((args_0: MouseEvent) => void) | undefined; autocomplete?: string | undefined; autofocus: boolean; counter?: string | number | boolean | undefined; counterValue?: number | ((value: any) => number) | undefined; prefix?: string | undefined; placeholder?: string | undefined; persistentPlaceholder: boolean; persistentCounter: boolean; suffix?: string | undefined; role?: string | undefined; type: string; modelModifiers?: Record<string, boolean> | undefined; "onClick:control"?: ((e: MouseEvent) => any) | undefined; "onMousedown:control"?: ((e: MouseEvent) => any) | undefined; "onUpdate:modelValue"?: ((val: string) => any) | undefined; "v-slot:append"?: false | ((arg: VInputSlot) => VNodeChild) | undefined; "v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined; "v-slot:clear"?: false | ((arg: DefaultInputSlot & { props: Record<string, any>; }) => VNodeChild) | undefined; "v-slot:counter"?: false | ((arg: VCounterSlot) => VNodeChild) | undefined; "v-slot:default"?: false | ((arg: { id: Readonly< Ref<string, string>>; }) => VNodeChild) | undefined; "v-slot:details"?: false | ((arg: VInputSlot) => VNodeChild) | undefined; "v-slot:label"?: false | ((arg: DefaultInputSlot & { label: string | undefined; props: Record<string, any>; }) => VNodeChild) | undefined; "v-slot:loader"?: false | ((arg: LoaderSlotProps) => VNodeChild) | undefined; "v-slot:message"?: false | ((arg: VMessageSlot) => VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: VInputSlot) => VNodeChild) | undefined; "v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => VNodeChild) | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, "active" | "autofocus" | "centerAffix" | "clearIcon" | "clearable" | "density" | "dirty" | "disabled" | "error" | "errorMessages" | "flat" | "focused" | "glow" | "hideSpinButtons" | "maxErrors" | "messages" | "persistentClear" | "persistentCounter" | "persistentHint" | "persistentPlaceholder" | "readonly" | "reverse" | "rounded" | "rules" | "singleLine" | "style" | "tile" | "type" | "variant">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ prepend?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]) | undefined; append?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]) | undefined; details?: ((arg: VInputSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]) | undefined; message?: ((arg: VMessageSlot) => VNode<RendererNode, RendererElement, { [key: string]: any; }>[]) | undefined; clear?: ((arg: 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";