vuetify
Version:
Vue Material Component Framework
920 lines • 712 kB
TypeScript
import { VList } from "../VList/index.js";
import { VMenu } from "../VMenu/index.js";
import { IconValue } from "../../composables/icons.js";
import { nextTick } from 'vue';
import { deepEqual } from "../../util/index.js";
import type { Component, PropType } from 'vue';
import type { VFieldSlots } from "../VField/VField.js";
import type { VInputSlots } from "../VInput/VInput.js";
import type { ListItem } from "../../composables/list-items.js";
import type { GenericProps, SelectItemKey } from "../../util/index.js";
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> | null;
export declare const makeSelectProps: <Defaults extends {
items?: unknown;
itemTitle?: unknown;
itemValue?: unknown;
itemChildren?: unknown;
itemProps?: unknown;
returnObject?: unknown;
valueComparator?: unknown;
chips?: unknown;
closableChips?: unknown;
closeText?: unknown;
openText?: unknown;
eager?: unknown;
hideNoData?: unknown;
hideSelected?: unknown;
listProps?: unknown;
menu?: unknown;
menuIcon?: unknown;
menuProps?: unknown;
multiple?: unknown;
noDataText?: unknown;
openOnClear?: unknown;
itemColor?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
items: unknown extends Defaults["items"] ? {
type: PropType<import("../../composables/list-items.js").ItemProps["items"]>;
default: () => never[];
} : Omit<{
type: PropType<import("../../composables/list-items.js").ItemProps["items"]>;
default: () => never[];
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]>;
default: unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"];
};
itemTitle: unknown extends Defaults["itemTitle"] ? {
type: PropType<SelectItemKey>;
default: string;
} : Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["itemTitle"] ? SelectItemKey : SelectItemKey | Defaults["itemTitle"]>;
default: unknown extends Defaults["itemTitle"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemTitle"];
};
itemValue: unknown extends Defaults["itemValue"] ? {
type: PropType<SelectItemKey>;
default: string;
} : Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["itemValue"] ? SelectItemKey : SelectItemKey | Defaults["itemValue"]>;
default: unknown extends Defaults["itemValue"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemValue"];
};
itemChildren: unknown extends Defaults["itemChildren"] ? Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<SelectItemKey>;
default: NonNullable<SelectItemKey>;
} : Omit<Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<SelectItemKey>;
default: NonNullable<SelectItemKey>;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["itemChildren"] ? SelectItemKey : SelectItemKey | Defaults["itemChildren"]>;
default: unknown extends Defaults["itemChildren"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemChildren"];
};
itemProps: unknown extends Defaults["itemProps"] ? {
type: PropType<SelectItemKey>;
default: string;
} : Omit<{
type: PropType<SelectItemKey>;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["itemProps"] ? SelectItemKey : SelectItemKey | Defaults["itemProps"]>;
default: unknown extends Defaults["itemProps"] ? SelectItemKey : NonNullable<SelectItemKey> | Defaults["itemProps"];
};
returnObject: unknown extends Defaults["returnObject"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]>;
default: unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"];
};
valueComparator: unknown extends Defaults["valueComparator"] ? PropType<typeof deepEqual> : {
type: PropType<unknown extends Defaults["valueComparator"] ? typeof deepEqual : typeof deepEqual | Defaults["valueComparator"]>;
default: unknown extends Defaults["valueComparator"] ? typeof deepEqual : typeof deepEqual | Defaults["valueComparator"];
};
chips: unknown extends Defaults["chips"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["chips"] ? boolean : boolean | Defaults["chips"]>;
default: unknown extends Defaults["chips"] ? boolean : boolean | Defaults["chips"];
};
closableChips: unknown extends Defaults["closableChips"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["closableChips"] ? boolean : boolean | Defaults["closableChips"]>;
default: unknown extends Defaults["closableChips"] ? boolean : boolean | Defaults["closableChips"];
};
closeText: unknown extends Defaults["closeText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["closeText"] ? string : string | Defaults["closeText"]>;
default: unknown extends Defaults["closeText"] ? string : string | Defaults["closeText"];
};
openText: unknown extends Defaults["openText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["openText"] ? string : string | Defaults["openText"]>;
default: unknown extends Defaults["openText"] ? string : string | Defaults["openText"];
};
eager: unknown extends Defaults["eager"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"]>;
default: unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"];
};
hideNoData: unknown extends Defaults["hideNoData"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"]>;
default: unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"];
};
hideSelected: unknown extends Defaults["hideSelected"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["hideSelected"] ? boolean : boolean | Defaults["hideSelected"]>;
default: unknown extends Defaults["hideSelected"] ? boolean : boolean | Defaults["hideSelected"];
};
listProps: unknown extends Defaults["listProps"] ? {
type: PropType<VList["$props"]>;
} : Omit<{
type: PropType<VList["$props"]>;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["listProps"] ? Partial<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
rounded: string | number | boolean;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
}> & Omit<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
activated?: any;
class?: any;
theme?: string | undefined;
elevation?: string | number | undefined;
valueComparator?: typeof deepEqual | undefined;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
activeColor?: string | undefined;
activeClass?: string | undefined;
activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined;
collapseIcon?: IconValue | undefined;
expandIcon?: IconValue | undefined;
"onUpdate:activated"?: ((value: unknown) => any) | undefined;
"onClick:activate"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
'onUpdate:selected'?: ((value: unknown) => void) | undefined;
'onClick:open'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
'onClick:select'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
opened?: unknown;
'onUpdate:opened'?: ((value: unknown) => void) | undefined;
} & {
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: (() => import("vue").VNodeChild) | undefined;
item?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
};
'v-slots'?: {
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: false | (() => import("vue").VNodeChild) | undefined;
item?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} : (Partial<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
rounded: string | number | boolean;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
}> & Omit<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
activated?: any;
class?: any;
theme?: string | undefined;
elevation?: string | number | undefined;
valueComparator?: typeof deepEqual | undefined;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
activeColor?: string | undefined;
activeClass?: string | undefined;
activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined;
collapseIcon?: IconValue | undefined;
expandIcon?: IconValue | undefined;
"onUpdate:activated"?: ((value: unknown) => any) | undefined;
"onClick:activate"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
'onUpdate:selected'?: ((value: unknown) => void) | undefined;
'onClick:open'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
'onClick:select'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
opened?: unknown;
'onUpdate:opened'?: ((value: unknown) => void) | undefined;
} & {
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: (() => import("vue").VNodeChild) | undefined;
item?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
};
'v-slots'?: {
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: false | (() => import("vue").VNodeChild) | undefined;
item?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
}) | Defaults["listProps"]>;
default: unknown extends Defaults["listProps"] ? Partial<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
rounded: string | number | boolean;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
}> & Omit<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
activated?: any;
class?: any;
theme?: string | undefined;
elevation?: string | number | undefined;
valueComparator?: typeof deepEqual | undefined;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
activeColor?: string | undefined;
activeClass?: string | undefined;
activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined;
collapseIcon?: IconValue | undefined;
expandIcon?: IconValue | undefined;
"onUpdate:activated"?: ((value: unknown) => any) | undefined;
"onClick:activate"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
'onUpdate:selected'?: ((value: unknown) => void) | undefined;
'onClick:open'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
'onClick:select'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
opened?: unknown;
'onUpdate:opened'?: ((value: unknown) => void) | undefined;
} & {
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: (() => import("vue").VNodeChild) | undefined;
item?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
};
'v-slots'?: {
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: false | (() => import("vue").VNodeChild) | undefined;
item?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} : Defaults["listProps"] | NonNullable<Partial<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
rounded: string | number | boolean;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
}> & Omit<{
variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
nav: boolean;
style: import("vue").StyleValue;
disabled: boolean;
tag: string | import("../../util/index.js").JSXComponent;
lines: false | "one" | "two" | "three";
mandatory: boolean;
returnObject: boolean;
selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp;
density: import("../../composables/density.js").Density;
tile: boolean;
slim: boolean;
activatable: boolean;
selectable: boolean;
openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
itemType: string;
height?: string | number | undefined;
width?: string | number | undefined;
border?: string | number | boolean | undefined;
color?: string | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
activated?: any;
class?: any;
theme?: string | undefined;
elevation?: string | number | undefined;
valueComparator?: typeof deepEqual | undefined;
rounded?: string | number | boolean | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
activeColor?: string | undefined;
activeClass?: string | undefined;
activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined;
collapseIcon?: IconValue | undefined;
expandIcon?: IconValue | undefined;
"onUpdate:activated"?: ((value: unknown) => any) | undefined;
"onClick:activate"?: ((value: {
id: unknown;
value: boolean;
path: unknown[];
}) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
items?: readonly any[] | undefined;
itemTitle?: SelectItemKey<any>;
itemValue?: SelectItemKey<any>;
itemChildren?: SelectItemKey<any>;
itemProps?: SelectItemKey<any>;
selected?: unknown;
'onUpdate:selected'?: ((value: unknown) => void) | undefined;
'onClick:open'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
'onClick:select'?: (value: {
id: unknown;
value: boolean;
path: unknown[];
}) => void;
opened?: unknown;
'onUpdate:opened'?: ((value: unknown) => void) | undefined;
} & {
$children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: (() => import("vue").VNodeChild) | undefined;
item?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
};
'v-slots'?: {
title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
default?: false | (() => import("vue").VNodeChild) | undefined;
item?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
divider?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
subheader?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
header?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & {
item: any;
}) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
"v-slot:item"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:divider"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:subheader"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
"v-slot:header"?: false | ((arg: {
props: import("../VList/VList.js").InternalListItem["props"];
}) => import("vue").VNodeChild) | undefined;
}>;
};
menu: unknown extends Defaults["menu"] ? BooleanConstructor : {
type: PropType<unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"]>;
default: unknown extends Defaults["menu"] ? boolean : boolean | Defaults["menu"];
};
menuIcon: unknown extends Defaults["menuIcon"] ? {
type: PropType<IconValue>;
default: string;
} : Omit<{
type: PropType<IconValue>;
default: string;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["menuIcon"] ? IconValue : IconValue | Defaults["menuIcon"]>;
default: unknown extends Defaults["menuIcon"] ? IconValue : NonNullable<IconValue> | Defaults["menuIcon"];
};
menuProps: unknown extends Defaults["menuProps"] ? {
type: PropType<VMenu["$props"]>;
} : Omit<{
type: PropType<VMenu["$props"]>;
}, "type" | "default"> & {
type: PropType<unknown extends Defaults["menuProps"] ? Partial<{
location: import("../../util/index.js").Anchor | undefined;
origin: "auto" | import("../../util/index.js").Anchor | "overlap";
transition: string | boolean | (import("vue").TransitionProps & {
component?: Component;
}) | {
component: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: import("vue").VNodeChild | {
default?: (() => import("vue").VNodeChild) | undefined;
} | (() => import("vue").VNodeChild);
'v-slots'?: {
default?: false | (() => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {}, true, {}, import("vue").SlotsType<Partial<{
default: () => import("vue").VNode[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: import("vue").VNodeChild | {
default?: (() => import("vue").VNodeChild) | undefined;
} | (() => import("vue").VNodeChild);
'v-slots'?: {
default?: false | (() => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
}, () => JSX.Element, {}, {}, {}, {}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import("vue").ComponentOptionsBase<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: import("vue").VNodeChild | {
default?: (() => import("vue").VNodeChild) | undefined;
} | (() => import("vue").VNodeChild);
'v-slots'?: {
default?: false | (() => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {}, {}, string, import("vue").SlotsType<Partial<{
default: () => import("vue").VNode[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
target: PropType<HTMLElement | [x: number, y: number]>;
}, import("vue").ExtractPropTypes<{
target: PropType<HTMLElement | [x: number, y: number]>;
}>>;
} | null;
zIndex: string | number;
style: import("vue").StyleValue;
eager: boolean;
disabled: boolean;
persistent: boolean;
modelValue: boolean;
locationStrategy: "connected" | "static" | import("../VOverlay/locationStrategies.js").LocationStrategyFunction;
scrollStrategy: "none" | "block" | "close" | import("../VOverlay/scrollStrategies.js").ScrollStrategyFunction | "reposition";
closeDelay: string | number;
openDelay: string | number;
activatorProps: Record<string, any>;
openOnClick: boolean;
openOnHover: boolean;
openOnFocus: boolean;
closeOnContentClick: boolean;
closeOnBack: boolean;
contained: boolean;
noClickAnimation: boolean;
scrim: string | boolean;
submenu: boolean;
}> & Omit<{
location: import("../../util/index.js").Anchor | undefined;
origin: "auto" | import("../../util/index.js").Anchor | "overlap";
transition: string | boolean | (import("vue").TransitionProps & {
component?: Component;
}) | {
component: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{} & {
target?: HTMLElement | [x: number, y: number] | undefined;
} & {
$children?: import("vue").VNodeChild | {
default?: (() => import("vue").VNodeChild) | undefined;
} | (() => import("vue").VNodeChild);
'v-slots'?: {
default?: false | (() => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps,