UNPKG

vuetify

Version:

Vue Material Component Framework

920 lines 712 kB
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,