UNPKG

@vuetify/nightly

Version:

Vue Material Component Framework

1,053 lines (1,051 loc) • 957 kB
// Styles import { IconValue } from '../../composables/icons.js'; // Utilities import { nextTick } from 'vue'; import { deepEqual } from '../../util/index.js'; // Types 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; itemType?: unknown; returnObject?: unknown; valueComparator?: unknown; closeText?: unknown; openText?: unknown; chips?: unknown; closableChips?: unknown; eager?: unknown; hideNoData?: unknown; hideSelected?: unknown; listProps?: unknown; menu?: unknown; menuIcon?: unknown; menuProps?: unknown; multiple?: unknown; noDataText?: unknown; openOnClear?: unknown; itemColor?: unknown; noAutoScroll?: unknown; } = {}>(defaults?: Defaults | undefined) => { items: unknown extends Defaults["items"] ? { type: PropType<any[]>; default: () => never[]; } : Omit<{ type: PropType<any[]>; default: () => never[]; }, "default" | "type"> & { 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; }, "default" | "type"> & { type: PropType<unknown extends Defaults["itemTitle"] ? SelectItemKey : Defaults["itemTitle"] | SelectItemKey>; default: unknown extends Defaults["itemTitle"] ? SelectItemKey : Defaults["itemTitle"] | NonNullable<SelectItemKey>; }; itemValue: unknown extends Defaults["itemValue"] ? { type: PropType<SelectItemKey>; default: string; } : Omit<{ type: PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: PropType<unknown extends Defaults["itemValue"] ? SelectItemKey : Defaults["itemValue"] | SelectItemKey>; default: unknown extends Defaults["itemValue"] ? SelectItemKey : Defaults["itemValue"] | NonNullable<SelectItemKey>; }; itemChildren: unknown extends Defaults["itemChildren"] ? Omit<{ type: PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: PropType<SelectItemKey>; default: NonNullable<SelectItemKey>; } : Omit<Omit<{ type: PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: PropType<SelectItemKey>; default: NonNullable<SelectItemKey>; }, "default" | "type"> & { type: PropType<unknown extends Defaults["itemChildren"] ? SelectItemKey : Defaults["itemChildren"] | SelectItemKey>; default: unknown extends Defaults["itemChildren"] ? SelectItemKey : Defaults["itemChildren"] | NonNullable<SelectItemKey>; }; itemProps: unknown extends Defaults["itemProps"] ? { type: PropType<SelectItemKey>; default: string; } : Omit<{ type: PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: PropType<unknown extends Defaults["itemProps"] ? SelectItemKey : Defaults["itemProps"] | SelectItemKey>; default: unknown extends Defaults["itemProps"] ? SelectItemKey : Defaults["itemProps"] | NonNullable<SelectItemKey>; }; itemType: unknown extends Defaults["itemType"] ? { type: PropType<SelectItemKey>; default: string; } : Omit<{ type: PropType<SelectItemKey>; default: string; }, "default" | "type"> & { type: PropType<unknown extends Defaults["itemType"] ? SelectItemKey : Defaults["itemType"] | SelectItemKey>; default: unknown extends Defaults["itemType"] ? SelectItemKey : Defaults["itemType"] | NonNullable<SelectItemKey>; }; 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"]; }; closeText: unknown extends Defaults["closeText"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { 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; }, "default" | "type"> & { type: PropType<unknown extends Defaults["openText"] ? string : string | Defaults["openText"]>; default: unknown extends Defaults["openText"] ? string : string | Defaults["openText"]; }; 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"]; }; 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<Partial<{ style: import("vue").StyleValue; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; activatable: boolean; selectable: boolean; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; mandatory: boolean; itemType: SelectItemKey; returnObject: boolean; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; border?: string | number | boolean | undefined; density: import("../../composables/density.js").Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; activatable: boolean; selectable: boolean; activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; activated?: any; mandatory: boolean; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; valueComparator?: typeof deepEqual | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; disabled: boolean; filterable: boolean; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:activated"?: ((value: unknown) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "lines" | "mandatory" | "nav" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & { items?: readonly any[] | undefined; itemTitle?: SelectItemKey<any>; itemValue?: SelectItemKey<any>; itemChildren?: SelectItemKey<any>; itemProps?: SelectItemKey<any>; selected?: unknown; "onUpdate:selected"?: ((value: unknown) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; opened?: unknown; "onUpdate:opened"?: ((value: unknown) => void) | undefined; } & { $children?: { prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; "v-slots"?: { prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:divider"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:header"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:item"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:subheader"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; }>; } : Omit<{ type: PropType<Partial<{ style: import("vue").StyleValue; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; activatable: boolean; selectable: boolean; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; mandatory: boolean; itemType: SelectItemKey; returnObject: boolean; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; border?: string | number | boolean | undefined; density: import("../../composables/density.js").Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; activatable: boolean; selectable: boolean; activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; activated?: any; mandatory: boolean; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; valueComparator?: typeof deepEqual | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; disabled: boolean; filterable: boolean; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:activated"?: ((value: unknown) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "lines" | "mandatory" | "nav" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & { items?: readonly any[] | undefined; itemTitle?: SelectItemKey<any>; itemValue?: SelectItemKey<any>; itemChildren?: SelectItemKey<any>; itemProps?: SelectItemKey<any>; selected?: unknown; "onUpdate:selected"?: ((value: unknown) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; opened?: unknown; "onUpdate:opened"?: ((value: unknown) => void) | undefined; } & { $children?: { prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; "v-slots"?: { prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:divider"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:header"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:item"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:subheader"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; }>; }, "default" | "type"> & { type: PropType<unknown extends Defaults["listProps"] ? Partial<{ style: import("vue").StyleValue; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; activatable: boolean; selectable: boolean; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; mandatory: boolean; itemType: SelectItemKey; returnObject: boolean; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; border?: string | number | boolean | undefined; density: import("../../composables/density.js").Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; activatable: boolean; selectable: boolean; activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; activated?: any; mandatory: boolean; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; valueComparator?: typeof deepEqual | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; disabled: boolean; filterable: boolean; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:activated"?: ((value: unknown) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "lines" | "mandatory" | "nav" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & { items?: readonly any[] | undefined; itemTitle?: SelectItemKey<any>; itemValue?: SelectItemKey<any>; itemChildren?: SelectItemKey<any>; itemProps?: SelectItemKey<any>; selected?: unknown; "onUpdate:selected"?: ((value: unknown) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; opened?: unknown; "onUpdate:opened"?: ((value: unknown) => void) | undefined; } & { $children?: { prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; "v-slots"?: { prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:divider"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:header"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:item"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:subheader"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; } : Defaults["listProps"] | (Partial<{ style: import("vue").StyleValue; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; activatable: boolean; selectable: boolean; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; mandatory: boolean; itemType: SelectItemKey; returnObject: boolean; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; border?: string | number | boolean | undefined; density: import("../../composables/density.js").Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; activatable: boolean; selectable: boolean; activeStrategy?: import("../../composables/nested/nested.js").ActiveStrategyProp | undefined; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; activated?: any; mandatory: boolean; itemType: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null; returnObject: boolean; valueComparator?: typeof deepEqual | undefined; baseColor?: string | undefined; activeColor?: string | undefined; activeClass?: string | undefined; bgColor?: string | undefined; disabled: boolean; filterable: boolean; expandIcon?: IconValue | undefined; collapseIcon?: IconValue | undefined; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; "onClick:activate"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => any) | undefined; "onUpdate:activated"?: ((value: unknown) => any) | undefined; } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "activatable" | "density" | "disabled" | "filterable" | "itemType" | "lines" | "mandatory" | "nav" | "openStrategy" | "returnObject" | "rounded" | "selectStrategy" | "selectable" | "slim" | "style" | "tag" | "tile" | "variant"> & { items?: readonly any[] | undefined; itemTitle?: SelectItemKey<any>; itemValue?: SelectItemKey<any>; itemChildren?: SelectItemKey<any>; itemProps?: SelectItemKey<any>; selected?: unknown; "onUpdate:selected"?: ((value: unknown) => void) | undefined; "onClick:open"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; "onClick:select"?: ((value: { id: unknown; value: boolean; path: unknown[]; }) => void) | undefined; opened?: unknown; "onUpdate:opened"?: ((value: unknown) => void) | undefined; } & { $children?: { prepend?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | { $stable?: boolean | undefined; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; "v-slots"?: { prepend?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; append?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; title?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { 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: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; divider?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; subheader?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; header?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:append"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:divider"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:header"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:item"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:prepend"?: false | ((arg: import("../VList/VListItem.js").ListItemSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:subheader"?: false | ((arg: { props: { [key: string]: any; title: string; value: any; }; }) => import("vue").VNodeChild) | undefined; "v-slot:subtitle"?: false | ((arg: import("../VList/VListItem.js").ListItemSubtitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; "v-slot:title"?: false | ((arg: import("../VList/VListItem.js").ListItemTitleSlot & { item: any; }) => import("vue").VNodeChild) | undefined; })>; default: unknown extends Defaults["listProps"] ? Partial<{ style: import("vue").StyleValue; density: import("../../composables/density.js").Density; rounded: string | number | boolean; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal"; activatable: boolean; selectable: boolean; selectStrategy: import("../../composables/nested/nested.js").SelectStrategyProp; openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp; mandatory: boolean; itemType: SelectItemKey; returnObject: boolean; disabled: boolean; filterable: boolean; lines: "one" | "three" | "two" | false; slim: boolean; nav: boolean; }> & Omit<{ theme?: string | undefined; class?: any; style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; border?: string | number | boolean | undefined; density: import("../../composables/density.js").Density; elevation?: string | number | undefined; rounded?: string | number | boolean | undefined; tile: boolean; tag: string | import("../../util/index.js").JSXComponent; color?: string | undefined; variant: "elevated" | "flat" | "outlined" | "plain" | "text" | "tonal";