@vuetify/nightly
Version:
Vue Material Component Framework
1,053 lines (1,051 loc) • 957 kB
TypeScript
// 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";