vuetify
Version:
Vue Material Component Framework
988 lines (975 loc) • 98.8 kB
TypeScript
import * as vue from 'vue';
import { PropType, JSXComponent, ComputedRef, Ref, EffectScope } from 'vue';
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>>;
interface LoaderSlotProps {
color: string | undefined;
isActive: boolean;
}
type IconValue = string | JSXComponent;
declare const IconValue: PropType<IconValue>;
type Density = null | 'default' | 'comfortable' | 'compact';
type ValidationResult = string | boolean;
type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
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;
}
interface DefaultInputSlot {
isActive: Ref<boolean>;
isFocused: Ref<boolean>;
controlRef: Ref<HTMLElement | undefined>;
focus: () => void;
blur: () => void;
}
interface ScrollStrategyData {
root: Ref<HTMLElement | undefined>;
contentEl: Ref<HTMLElement | undefined>;
activatorEl: Ref<HTMLElement | undefined>;
isActive: Ref<boolean>;
updateLocation: Ref<((e: Event) => void) | undefined>;
}
type ScrollStrategyFn = (data: ScrollStrategyData, props: StrategyProps$1, scope: EffectScope) => void;
declare const scrollStrategies: {
none: null;
close: typeof closeScrollStrategy;
block: typeof blockScrollStrategy;
reposition: typeof repositionScrollStrategy;
};
interface StrategyProps$1 {
scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;
contained: boolean | undefined;
}
declare function closeScrollStrategy(data: ScrollStrategyData): void;
declare function blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps$1): void;
declare function repositionScrollStrategy(data: ScrollStrategyData, props: StrategyProps$1, scope: EffectScope): void;
interface LocationStrategyData {
contentEl: Ref<HTMLElement | undefined>;
activatorEl: Ref<HTMLElement | undefined>;
isActive: Ref<boolean>;
isRtl: Ref<boolean>;
}
type LocationStrategyFn = (data: LocationStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) => undefined | {
updateLocation: (e: Event) => void;
};
declare const locationStrategies: {
static: typeof staticLocationStrategy;
connected: typeof connectedLocationStrategy;
};
interface StrategyProps {
locationStrategy: keyof typeof locationStrategies | LocationStrategyFn;
location: Anchor;
origin: Anchor | 'auto' | 'overlap';
offset?: number | string | number[];
maxHeight?: number | string;
maxWidth?: number | string;
minHeight?: number | string;
minWidth?: number | string;
}
declare function staticLocationStrategy(): void;
declare function connectedLocationStrategy(data: LocationStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>): {
updateLocation: () => {
available: {
x: number;
y: number;
};
contentBox: Box;
} | undefined;
};
interface InternalItem<T = any> {
title: string;
value: any;
props: {
[key: string]: any;
title: string;
value: any;
};
children?: InternalItem<T>[];
raw: T;
}
type Primitive = string | number | boolean | symbol;
type Val<T, ReturnObject extends boolean> = T extends Primitive ? T : (ReturnObject extends true ? T : any);
type Value<T, ReturnObject extends boolean, Multiple extends boolean> = Multiple extends true ? readonly Val<T, ReturnObject>[] : Val<T, ReturnObject>;
declare const VSelect: {
new (...args: any[]): {
$: vue.ComponentInternalInstance;
$data: {};
$props: Partial<{
reverse: boolean;
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
menu: boolean;
autofocus: boolean;
eager: boolean;
disabled: boolean;
readonly: boolean;
noDataText: string;
messages: string | string[];
density: Density;
variant: "filled" | "outlined" | "plain" | "underlined" | "solo";
clearIcon: IconValue;
focused: boolean;
errorMessages: string | string[];
maxErrors: string | number;
rules: ValidationRule[];
clearable: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentHint: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
valueComparator: typeof deepEqual;
itemTitle: SelectItemKey;
itemValue: SelectItemKey;
itemChildren: NonNullable<SelectItemKey>;
itemProps: SelectItemKey;
chips: boolean;
closableChips: boolean;
hideNoData: boolean;
hideSelected: boolean;
menuIcon: IconValue;
openOnClear: boolean;
}> & Omit<Readonly<vue.ExtractPropTypes<Omit<{
transition: Omit<{
type: PropType<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})>;
default: string;
validator: (val: unknown) => boolean;
}, "type" | "default"> & {
type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
}>;
default: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
};
reverse: BooleanConstructor;
type: {
type: StringConstructor;
default: string;
};
error: BooleanConstructor;
id: StringConstructor;
active: BooleanConstructor;
name: StringConstructor;
color: StringConstructor;
direction: {
type: PropType<"horizontal" | "vertical">;
default: string;
validator: (v: any) => boolean;
};
loading: (StringConstructor | BooleanConstructor)[];
label: StringConstructor;
prefix: StringConstructor;
autofocus: BooleanConstructor;
disabled: BooleanConstructor;
readonly: BooleanConstructor;
placeholder: StringConstructor;
theme: StringConstructor;
counter: PropType<string | number | true>;
messages: {
type: PropType<string | string[]>;
default: () => never[];
};
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">;
default: string;
validator: (v: any) => boolean;
};
modelValue: {
type: PropType<any>;
default: any;
};
bgColor: StringConstructor;
prependIcon: PropType<IconValue>;
appendIcon: PropType<IconValue>;
clearIcon: {
type: PropType<IconValue>;
default: string;
};
prependInnerIcon: PropType<IconValue>;
'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
focused: BooleanConstructor;
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
errorMessages: {
type: PropType<string | string[]>;
default: () => never[];
};
maxErrors: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
rules: {
type: PropType<ValidationRule[]>;
default: () => never[];
};
hideDetails: PropType<boolean | "auto">;
clearable: BooleanConstructor;
persistentClear: BooleanConstructor;
singleLine: BooleanConstructor;
hint: StringConstructor;
persistentHint: BooleanConstructor;
persistentPlaceholder: BooleanConstructor;
persistentCounter: BooleanConstructor;
suffix: StringConstructor;
counterValue: PropType<(value: any) => number>;
items: {
type: PropType<any[]>;
default: () => never[];
};
itemTitle: {
type: PropType<SelectItemKey>;
default: string;
};
itemValue: {
type: PropType<SelectItemKey>;
default: string;
};
itemChildren: Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<NonNullable<SelectItemKey>>;
default: NonNullable<SelectItemKey>;
};
itemProps: {
type: PropType<SelectItemKey>;
default: string;
};
returnObject: BooleanConstructor;
chips: BooleanConstructor;
closableChips: BooleanConstructor;
eager: BooleanConstructor;
hideNoData: BooleanConstructor;
hideSelected: BooleanConstructor;
menu: BooleanConstructor;
menuIcon: {
type: PropType<IconValue>;
default: string;
};
menuProps: {
type: PropType<Partial<{
location: Anchor;
origin: "auto" | Anchor | "overlap";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
zIndex: string | number;
eager: boolean;
disabled: boolean;
modelValue: boolean;
closeDelay: NonNullable<string | number>;
openDelay: NonNullable<string | number>;
activatorProps: Record<string, any>;
openOnClick: boolean;
openOnHover: boolean;
openOnFocus: boolean;
closeOnContentClick: boolean;
locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
updateLocation: (e: Event) => void;
} | undefined)>;
scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
persistent: boolean;
scrim: NonNullable<string | boolean>;
}> & Omit<{
location: Anchor;
origin: "auto" | Anchor | "overlap";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
zIndex: string | number;
eager: boolean;
disabled: boolean;
modelValue: boolean;
closeDelay: NonNullable<string | number>;
openDelay: NonNullable<string | number>;
activatorProps: Record<string, any>;
openOnHover: boolean;
closeOnContentClick: boolean;
locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
updateLocation: (e: Event) => void;
} | undefined)>;
scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
persistent: boolean;
scrim: NonNullable<string | 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;
theme?: string | undefined;
contentClass?: any;
activator?: string | Element | vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | undefined;
openOnClick?: boolean | undefined;
openOnFocus?: boolean | undefined;
contentProps?: any;
attach?: string | boolean | Element | undefined;
} & {
$children?: {} | vue.VNodeChild | {
default?: ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: false | ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
"v-slot:activator"?: false | ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "location" | "origin" | "transition" | "zIndex" | "eager" | "disabled" | "modelValue" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">>;
};
multiple: BooleanConstructor;
noDataText: {
type: StringConstructor;
default: string;
};
openOnClear: BooleanConstructor;
valueComparator: {
type: PropType<typeof deepEqual>;
default: typeof deepEqual;
};
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "reverse" | "type" | "error" | "active" | "direction" | "transition" | "menu" | "autofocus" | "eager" | "disabled" | "readonly" | "noDataText" | "messages" | "density" | "variant" | "clearIcon" | "focused" | "errorMessages" | "maxErrors" | "rules" | "clearable" | "persistentClear" | "singleLine" | "persistentHint" | "persistentPlaceholder" | "persistentCounter" | "valueComparator" | "itemTitle" | "itemValue" | "itemChildren" | "itemProps" | "chips" | "closableChips" | "hideNoData" | "hideSelected" | "menuIcon" | "openOnClear">;
$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:menu", val: boolean) => void;
$el: any;
$options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
transition: Omit<{
type: PropType<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})>;
default: string;
validator: (val: unknown) => boolean;
}, "type" | "default"> & {
type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
}>;
default: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
};
reverse: BooleanConstructor;
type: {
type: StringConstructor;
default: string;
};
error: BooleanConstructor;
id: StringConstructor;
active: BooleanConstructor;
name: StringConstructor;
color: StringConstructor;
direction: {
type: PropType<"horizontal" | "vertical">;
default: string;
validator: (v: any) => boolean;
};
loading: (StringConstructor | BooleanConstructor)[];
label: StringConstructor;
prefix: StringConstructor;
autofocus: BooleanConstructor;
disabled: BooleanConstructor;
readonly: BooleanConstructor;
placeholder: StringConstructor;
theme: StringConstructor;
counter: PropType<string | number | true>;
messages: {
type: PropType<string | string[]>;
default: () => never[];
};
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
variant: {
type: PropType<"filled" | "outlined" | "plain" | "underlined" | "solo">;
default: string;
validator: (v: any) => boolean;
};
modelValue: {
type: PropType<any>;
default: any;
};
bgColor: StringConstructor;
prependIcon: PropType<IconValue>;
appendIcon: PropType<IconValue>;
clearIcon: {
type: PropType<IconValue>;
default: string;
};
prependInnerIcon: PropType<IconValue>;
'onClick:clear': PropType<EventProp<(...args: any[]) => any>>;
'onClick:append': PropType<EventProp<(...args: any[]) => any>>;
'onClick:prepend': PropType<EventProp<(...args: any[]) => any>>;
'onClick:appendInner': PropType<EventProp<(...args: any[]) => any>>;
'onClick:prependInner': PropType<EventProp<(...args: any[]) => any>>;
focused: BooleanConstructor;
validateOn: PropType<"input" | "blur" | "submit" | undefined>;
errorMessages: {
type: PropType<string | string[]>;
default: () => never[];
};
maxErrors: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
rules: {
type: PropType<ValidationRule[]>;
default: () => never[];
};
hideDetails: PropType<boolean | "auto">;
clearable: BooleanConstructor;
persistentClear: BooleanConstructor;
singleLine: BooleanConstructor;
hint: StringConstructor;
persistentHint: BooleanConstructor;
persistentPlaceholder: BooleanConstructor;
persistentCounter: BooleanConstructor;
suffix: StringConstructor;
counterValue: PropType<(value: any) => number>;
items: {
type: PropType<any[]>;
default: () => never[];
};
itemTitle: {
type: PropType<SelectItemKey>;
default: string;
};
itemValue: {
type: PropType<SelectItemKey>;
default: string;
};
itemChildren: Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<NonNullable<SelectItemKey>>;
default: NonNullable<SelectItemKey>;
};
itemProps: {
type: PropType<SelectItemKey>;
default: string;
};
returnObject: BooleanConstructor;
chips: BooleanConstructor;
closableChips: BooleanConstructor;
eager: BooleanConstructor;
hideNoData: BooleanConstructor;
hideSelected: BooleanConstructor;
menu: BooleanConstructor;
menuIcon: {
type: PropType<IconValue>;
default: string;
};
menuProps: {
type: PropType<Partial<{
location: Anchor;
origin: "auto" | Anchor | "overlap";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
zIndex: string | number;
eager: boolean;
disabled: boolean;
modelValue: boolean;
closeDelay: NonNullable<string | number>;
openDelay: NonNullable<string | number>;
activatorProps: Record<string, any>;
openOnClick: boolean;
openOnHover: boolean;
openOnFocus: boolean;
closeOnContentClick: boolean;
locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
updateLocation: (e: Event) => void;
} | undefined)>;
scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
persistent: boolean;
scrim: NonNullable<string | boolean>;
}> & Omit<{
location: Anchor;
origin: "auto" | Anchor | "overlap";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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, {} & {
target?: HTMLElement | 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;
}, {}>;
};
zIndex: string | number;
eager: boolean;
disabled: boolean;
modelValue: boolean;
closeDelay: NonNullable<string | number>;
openDelay: NonNullable<string | number>;
activatorProps: Record<string, any>;
openOnHover: boolean;
closeOnContentClick: boolean;
locationStrategy: NonNullable<"connected" | "static" | ((data: LocationStrategyData, props: StrategyProps, contentStyles: vue.Ref<Record<string, string>>) => {
updateLocation: (e: Event) => void;
} | undefined)>;
scrollStrategy: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps$1, scope: vue.EffectScope) => void) | "reposition">;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
persistent: boolean;
scrim: NonNullable<string | 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;
theme?: string | undefined;
contentClass?: any;
activator?: string | Element | vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | undefined;
openOnClick?: boolean | undefined;
openOnFocus?: boolean | undefined;
contentProps?: any;
attach?: string | boolean | Element | undefined;
} & {
$children?: {} | vue.VNodeChild | {
default?: ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
activator?: false | ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: {
isActive: vue.Ref<boolean>;
}) => vue.VNodeChild) | undefined;
"v-slot:activator"?: false | ((args_0: {
isActive: boolean;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "location" | "origin" | "transition" | "zIndex" | "eager" | "disabled" | "modelValue" | "closeDelay" | "openDelay" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim">>;
};
multiple: BooleanConstructor;
noDataText: {
type: StringConstructor;
default: string;
};
openOnClear: BooleanConstructor;
valueComparator: {
type: PropType<typeof deepEqual>;
default: typeof deepEqual;
};
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">>> & {
"onUpdate:menu"?: ((val: boolean) => any) | undefined;
}, {
menu: vue.WritableComputedRef<boolean>;
select: (item: InternalItem) => void;
} & Omit<any, string | number | symbol>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
'update:modelValue': (val: any) => boolean;
'update:menu': (val: boolean) => true;
}, "multiple" | "$children" | "$slots" | "v-slots" | "items" | "v-slot:append" | "v-slot:prepend" | "modelValue" | "update:modelValue" | "v-slot:loader" | "v-slot:details" | "v-slot:clear" | "v-slot:label" | "v-slot:prepend-inner" | "v-slot:append-inner" | "v-slot:item" | "returnObject" | "v-slot:chip" | "v-slot:selection" | "v-slot:prepend-item" | "v-slot:append-item" | "v-slot:no-data">, string, {
reverse: boolean;
type: string;
error: boolean;
active: boolean;
direction: "horizontal" | "vertical";
transition: NonNullable<string | boolean | (vue.TransitionProps & {
component?: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions> | undefined;
})> | {
component: vue.DefineComponent<{} & {
target?: HTMLElement | 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