UNPKG

vuetify

Version:

Vue Material Component Framework

1,304 lines (1,281 loc) 868 kB
import * as vue from 'vue'; import { Ref, DeepReadonly, PropType, JSXComponent, CSSProperties, ComputedRef, EffectScope, nextTick, ComponentInternalInstance, ExtractPropTypes, WritableComputedRef, UnwrapRef, DirectiveBinding } from 'vue'; // @ts-ignore import * as vue_router from 'vue-router'; // @ts-ignore import { RouteLocationRaw } from 'vue-router'; interface LocaleMessages { [key: string]: LocaleMessages | string; } interface LocaleOptions { messages?: LocaleMessages; locale?: string; fallback?: string; adapter?: LocaleInstance; } interface LocaleInstance { name: string; messages: Ref<LocaleMessages>; current: Ref<string>; fallback: Ref<string>; t: (key: string, ...params: unknown[]) => string; n: (value: number) => string; provide: (props: LocaleOptions) => LocaleInstance; } declare function useLocale(): LocaleInstance & RtlInstance; interface RtlOptions { rtl?: Record<string, boolean>; } interface RtlInstance { isRtl: Ref<boolean>; rtl: Ref<Record<string, boolean>>; rtlClasses: Ref<string>; } declare function useRtl(): { isRtl: Ref<boolean>; rtlClasses: Ref<string>; }; type DeepPartial<T> = T extends object ? { [P in keyof T]?: DeepPartial<T[P]>; } : T; type ThemeOptions = false | { cspNonce?: string; defaultTheme?: string; variations?: false | VariationsOptions; themes?: Record<string, ThemeDefinition>; }; type ThemeDefinition = DeepPartial<InternalThemeDefinition>; interface VariationsOptions { colors: string[]; lighten: number; darken: number; } interface InternalThemeDefinition { dark: boolean; colors: Colors; variables: Record<string, string | number>; } interface Colors extends BaseColors, OnColors { [key: string]: string; } interface BaseColors { background: string; surface: string; primary: string; secondary: string; success: string; warning: string; error: string; info: string; } interface OnColors { 'on-background': string; 'on-surface': string; 'on-primary': string; 'on-secondary': string; 'on-success': string; 'on-warning': string; 'on-error': string; 'on-info': string; } interface ThemeInstance { readonly isDisabled: boolean; readonly themes: Ref<Record<string, InternalThemeDefinition>>; readonly name: Readonly<Ref<string>>; readonly current: DeepReadonly<Ref<InternalThemeDefinition>>; readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>; readonly themeClasses: Readonly<Ref<string | undefined>>; readonly styles: Readonly<Ref<string>>; readonly global: { readonly name: Ref<string>; readonly current: DeepReadonly<Ref<InternalThemeDefinition>>; }; } declare function useTheme(): ThemeInstance; type DisplayBreakpoint = keyof DisplayThresholds; interface DisplayThresholds { xs: number; sm: number; md: number; lg: number; xl: number; xxl: number; } interface DisplayOptions { mobileBreakpoint?: number | DisplayBreakpoint; thresholds?: Partial<DisplayThresholds>; } interface DisplayPlatform { android: boolean; ios: boolean; cordova: boolean; electron: boolean; chrome: boolean; edge: boolean; firefox: boolean; opera: boolean; win: boolean; mac: boolean; linux: boolean; touch: boolean; ssr: boolean; } interface DisplayInstance { xs: Ref<boolean>; sm: Ref<boolean>; md: Ref<boolean>; lg: Ref<boolean>; xl: Ref<boolean>; xxl: Ref<boolean>; smAndUp: Ref<boolean>; mdAndUp: Ref<boolean>; lgAndUp: Ref<boolean>; xlAndUp: Ref<boolean>; smAndDown: Ref<boolean>; mdAndDown: Ref<boolean>; lgAndDown: Ref<boolean>; xlAndDown: Ref<boolean>; name: Ref<DisplayBreakpoint>; height: Ref<number>; width: Ref<number>; mobile: Ref<boolean>; mobileBreakpoint: Ref<number | DisplayBreakpoint>; platform: Ref<DisplayPlatform>; thresholds: Ref<DisplayThresholds>; update(): void; } declare function useDisplay(): DisplayInstance; declare const block: readonly ["top", "bottom"]; declare const inline: readonly ["start", "end", "left", "right"]; type Tblock = typeof block[number]; type Tinline = typeof inline[number]; type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`; declare class Box { x: number; y: number; width: number; height: number; constructor({ x, y, width, height }: { x: number; y: number; width: number; height: number; }); get top(): number; get bottom(): number; get left(): number; get right(): number; } declare function deepEqual(a: any, b: any): boolean; type SelectItemKey = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any); type EventProp<T = (...args: any[]) => any> = T | T[]; declare const EventProp: PropType<EventProp<(...args: any[]) => any>>; type DefaultsInstance = undefined | { [key: string]: undefined | Record<string, unknown>; global?: Record<string, unknown>; }; type DefaultsOptions = Partial<DefaultsInstance>; type IconValue = string | JSXComponent; declare const IconValue: PropType<IconValue>; interface IconAliases { [name: string]: IconValue; complete: IconValue; cancel: IconValue; close: IconValue; delete: IconValue; clear: IconValue; success: IconValue; info: IconValue; warning: IconValue; error: IconValue; prev: IconValue; next: IconValue; checkboxOn: IconValue; checkboxOff: IconValue; checkboxIndeterminate: IconValue; delimiter: IconValue; sortAsc: IconValue; sortDesc: IconValue; expand: IconValue; menu: IconValue; subgroup: IconValue; dropdown: IconValue; radioOn: IconValue; radioOff: IconValue; edit: IconValue; ratingEmpty: IconValue; ratingFull: IconValue; ratingHalf: IconValue; loading: IconValue; first: IconValue; last: IconValue; unfold: IconValue; file: IconValue; plus: IconValue; minus: IconValue; } interface IconProps { tag: string; icon?: IconValue; disabled?: Boolean; } type IconComponent = JSXComponent<IconProps>; interface IconSet { component: IconComponent; } type IconOptions = { defaultSet: string; aliases?: Partial<IconAliases>; sets: Record<string, IconSet>; }; declare const VComponentIcon: vue.DefineComponent<{ tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { tag: string; } & { icon?: IconValue | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}>; type VComponentIcon = InstanceType<typeof VComponentIcon>; declare const VSvgIcon: vue.DefineComponent<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }>>, {}>; type VSvgIcon = InstanceType<typeof VSvgIcon>; declare const VLigatureIcon: vue.DefineComponent<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }>>, {}>; type VLigatureIcon = InstanceType<typeof VLigatureIcon>; declare const VClassIcon: vue.DefineComponent<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{ icon: { type: PropType<IconValue>; }; tag: { type: StringConstructor; required: true; }; }>>, {}>; type VClassIcon = InstanceType<typeof VClassIcon>; type Position = 'top' | 'left' | 'right' | 'bottom'; interface Layer { top: number; bottom: number; left: number; right: number; } interface LayoutItem extends Layer { id: string; size: number; position: Position; } declare function useLayout(): { getLayoutItem: (id: string) => LayoutItem | undefined; mainRect: Ref<Layer>; mainStyles: Ref<CSSProperties>; }; type ValidationResult = string | boolean; type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>); interface FieldValidationResult { id: number | string; errorMessages: string[]; } interface FormValidationResult { valid: boolean; errors: FieldValidationResult[]; } interface SubmitEventPromise extends SubmitEvent, Promise<FormValidationResult> { } interface VuetifyOptions { aliases?: Record<string, any>; blueprint?: Blueprint; components?: Record<string, any>; directives?: Record<string, any>; defaults?: DefaultsOptions; display?: DisplayOptions; theme?: ThemeOptions; icons?: IconOptions; locale?: LocaleOptions & RtlOptions; ssr?: boolean; } interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> { } declare const VApp: vue.DefineComponent<{ fullHeight: boolean; } & { theme?: string | undefined; overlaps?: string[] | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, { getLayoutItem: (id: string) => { size: number; position: "left" | "top" | "bottom" | "right"; top: number; bottom: number; left: number; right: number; id: string; } | undefined; items: vue.ComputedRef<{ size: number; position: "left" | "top" | "bottom" | "right"; top: number; bottom: number; left: number; right: number; id: string; }[]>; theme: ThemeInstance; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { fullHeight: boolean; } & { theme?: string | undefined; overlaps?: string[] | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, { fullHeight: boolean; }>; type VApp = InstanceType<typeof VApp>; type Density$1 = null | 'prominent' | 'default' | 'comfortable' | 'compact'; declare const VToolbar: vue.DefineComponent<{ flat: boolean; absolute: boolean; height: string | number; tag: string; collapse: boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; } & { border?: string | number | boolean | undefined; color?: string | undefined; title?: string | undefined; image?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; image?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; extension?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:image"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined; }, { contentHeight: vue.ComputedRef<number>; extensionHeight: vue.ComputedRef<number>; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { flat: boolean; absolute: boolean; height: string | number; tag: string; collapse: boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; } & { border?: string | number | boolean | undefined; color?: string | undefined; title?: string | undefined; image?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; image?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; extension?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:image"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined; }, { flat: boolean; absolute: boolean; height: string | number; tag: string; collapse: boolean; rounded: string | number | boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; }>; type VToolbar = InstanceType<typeof VToolbar>; declare const VAppBar: vue.DefineComponent<{ flat: boolean; absolute: boolean; location: "top" | "bottom"; height: string | number; order: string | number; tag: string; collapse: boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; modelValue: boolean; } & { name?: string | undefined; border?: string | number | boolean | undefined; color?: string | undefined; title?: string | undefined; image?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; image?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; extension?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:image"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (value: boolean) => boolean; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { flat: boolean; absolute: boolean; location: "top" | "bottom"; height: string | number; order: string | number; tag: string; collapse: boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; modelValue: boolean; } & { name?: string | undefined; border?: string | number | boolean | undefined; color?: string | undefined; title?: string | undefined; image?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; image?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; extension?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; image?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; extension?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:image"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:extension"?: false | (() => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; }, { flat: boolean; absolute: boolean; location: "top" | "bottom"; height: string | number; order: string | number; tag: string; collapse: boolean; rounded: string | number | boolean; density: Density$1; extended: boolean; extensionHeight: string | number; floating: boolean; modelValue: boolean; }>; type VAppBar = InstanceType<typeof VAppBar>; declare const VAppBarNavIcon: vue.DefineComponent<{ icon: IconValue; } & {} & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; loader?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; loader?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; loader?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { icon: IconValue; } & {} & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; loader?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; loader?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; loader?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined; }, { icon: IconValue; }>; type VAppBarNavIcon = InstanceType<typeof VAppBarNavIcon>; declare const VAppBarTitle: vue.DefineComponent<{ tag: string; } & { text?: string | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; text?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:text"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { tag: string; } & { text?: string | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; text?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:text"?: false | (() => vue.VNodeChild) | undefined; }, { tag: string; }>; type VAppBarTitle = InstanceType<typeof VAppBarTitle>; type Density = null | 'default' | 'comfortable' | 'compact'; declare const VAlert: vue.DefineComponent<{ tag: string; icon: false | IconValue; prominent: boolean; density: Density; variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; modelValue: boolean; closable: boolean; closeIcon: IconValue; closeLabel: string; } & { type?: "error" | "success" | "warning" | "info" | undefined; location?: Anchor | undefined; height?: string | number | undefined; width?: string | number | undefined; border?: boolean | "end" | "start" | "top" | "bottom" | undefined; borderColor?: string | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: "fixed" | "absolute" | "static" | "relative" | "sticky" | undefined; title?: string | undefined; text?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; close?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; close?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; text?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; close?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:text"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:close"?: false | (() => vue.VNodeChild) | undefined; }, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (value: boolean) => true; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { tag: string; icon: false | IconValue; prominent: boolean; density: Density; variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; modelValue: boolean; closable: boolean; closeIcon: IconValue; closeLabel: string; } & { type?: "error" | "success" | "warning" | "info" | undefined; location?: Anchor | undefined; height?: string | number | undefined; width?: string | number | undefined; border?: boolean | "end" | "start" | "top" | "bottom" | undefined; borderColor?: string | undefined; color?: string | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; position?: "fixed" | "absolute" | "static" | "relative" | "sticky" | undefined; title?: string | undefined; text?: string | undefined; elevation?: string | number | undefined; theme?: string | undefined; rounded?: string | number | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; close?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; prepend?: (() => vue.VNodeChild) | undefined; title?: (() => vue.VNodeChild) | undefined; text?: (() => vue.VNodeChild) | undefined; append?: (() => vue.VNodeChild) | undefined; close?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; prepend?: false | (() => vue.VNodeChild) | undefined; title?: false | (() => vue.VNodeChild) | undefined; text?: false | (() => vue.VNodeChild) | undefined; append?: false | (() => vue.VNodeChild) | undefined; close?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined; "v-slot:title"?: false | (() => vue.VNodeChild) | undefined; "v-slot:text"?: false | (() => vue.VNodeChild) | undefined; "v-slot:append"?: false | (() => vue.VNodeChild) | undefined; "v-slot:close"?: false | (() => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; }, { tag: string; icon: false | IconValue; rounded: string | number | boolean; prominent: boolean; density: Density; variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">; modelValue: boolean; closable: boolean; closeIcon: IconValue; closeLabel: string; }>; type VAlert = InstanceType<typeof VAlert>; declare const VAlertTitle: vue.DefineComponent<{ tag: string; } & {} & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { tag: string; } & {} & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, { tag: string; }>; type VAlertTitle = InstanceType<typeof VAlertTitle>; interface LoaderSlotProps { color: string | undefined; isActive: boolean; } interface VInputSlot { id: ComputedRef<string>; messagesId: ComputedRef<string>; isDirty: ComputedRef<boolean>; isDisabled: ComputedRef<boolean>; isReadonly: ComputedRef<boolean>; isPristine: Ref<boolean>; isValid: ComputedRef<boolean | null>; isValidating: Ref<boolean>; reset: () => void; resetValidation: () => void; validate: () => void; } declare const VInput: vue.DefineComponent<{ error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; } & { id?: string | undefined; name?: string | undefined; label?: string | undefined; modelValue?: any; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined; validateOn?: "input" | "blur" | "submit" | undefined; validationValue?: any; hideDetails?: boolean | "auto" | undefined; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }, { reset: () => void; resetValidation: () => void; validate: () => Promise<string[]>; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (val: any) => true; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; } & { id?: string | undefined; name?: string | undefined; label?: string | undefined; modelValue?: any; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined; validateOn?: "input" | "blur" | "submit" | undefined; validationValue?: any; hideDetails?: boolean | "auto" | undefined; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((val: any) => any) | undefined; }, { error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; }>; type VInput = InstanceType<typeof VInput>; interface DefaultInputSlot { isActive: Ref<boolean>; isFocused: Ref<boolean>; controlRef: Ref<HTMLElement | undefined>; focus: () => void; blur: () => void; } interface VFieldSlot extends DefaultInputSlot { props: Record<string, unknown>; } declare const VField: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: Partial<{ reverse: boolean; error: boolean; active: boolean; disabled: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo"; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; }> & Omit<Readonly<vue.ExtractPropTypes<Omit<{ loading: (StringConstructor | BooleanConstructor)[]; theme: StringConstructor; appendInnerIcon: PropType<IconValue>; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType<IconValue>; default: string; }; active: BooleanConstructor; color: StringConstructor; dirty: BooleanConstructor; disabled: BooleanConstructor; error: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType<IconValue>; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>; 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>; 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>; focused: BooleanConstructor; id: StringConstructor; }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "error" | "active" | "disabled" | "variant" | "clearIcon" | "focused" | "clearable" | "dirty" | "persistentClear" | "singleLine">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null; $emit: (event: "update:focused", focused: boolean) => void; $el: any; $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{ loading: (StringConstructor | BooleanConstructor)[]; theme: StringConstructor; appendInnerIcon: PropType<IconValue>; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType<IconValue>; default: string; }; active: BooleanConstructor; color: StringConstructor; dirty: BooleanConstructor; disabled: BooleanConstructor; error: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType<IconValue>; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>; 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>; 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>; focused: BooleanConstructor; id: StringConstructor; }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: Ref<HTMLElement | undefined>; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{ 'update:focused': (focused: boolean) => true; 'update:modelValue': (val: any) => true; }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">, string, { reverse: boolean; error: boolean; active: boolean; disabled: boolean; variant: "filled" | "outlined" | "plain" | "underlined" | "solo"; clearIcon: IconValue; focused: boolean; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; }, {}, string> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & Readonly<vue.ExtractPropTypes<Omit<{ loading: (StringConstructor | BooleanConstructor)[]; theme: StringConstructor; appendInnerIcon: PropType<IconValue>; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType<IconValue>; default: string; }; active: BooleanConstructor; color: StringConstructor; dirty: BooleanConstructor; disabled: BooleanConstructor; error: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType<IconValue>; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>; 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>; 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>; focused: BooleanConstructor; id: StringConstructor; }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; } & vue.ShallowUnwrapRef<{ controlRef: Ref<HTMLElement | undefined>; }> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{ loading: (StringConstructor | BooleanConstructor)[]; theme: StringConstructor; appendInnerIcon: PropType<IconValue>; bgColor: StringConstructor; clearable: BooleanConstructor; clearIcon: { type: PropType<IconValue>; default: string; }; active: BooleanConstructor; color: StringConstructor; dirty: BooleanConstructor; disabled: BooleanConstructor; error: BooleanConstructor; label: StringConstructor; persistentClear: BooleanConstructor; prependInnerIcon: PropType<IconValue>; reverse: BooleanConstructor; singleLine: BooleanConstructor; variant: { type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">; default: string; validator: (v: any) => boolean; }; 'onClick:clear': PropType<EventProp<(...args: any[]) => any>>; 'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>; 'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>; focused: BooleanConstructor; id: StringConstructor; }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner">>> & { "onUpdate:focused"?: ((focused: boolean) => any) | undefined; }, { controlRef: