vuetify
Version:
Vue Material Component Framework
144 lines (139 loc) • 4.55 kB
TypeScript
import * as vue from 'vue';
import { Ref, ComponentInternalInstance, ComputedRef } from 'vue';
declare const VItemGroup: vue.DefineComponent<{
disabled: boolean;
multiple: boolean;
tag: string;
selectedClass: string;
} & {
max?: number | undefined;
mandatory?: boolean | "force" | undefined;
theme?: string | undefined;
modelValue?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
}, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: any) => boolean;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
disabled: boolean;
multiple: boolean;
tag: string;
selectedClass: string;
} & {
max?: number | undefined;
mandatory?: boolean | "force" | undefined;
theme?: string | undefined;
modelValue?: any;
} & {
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
default?: (() => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
}, {
disabled: boolean;
multiple: boolean;
tag: string;
modelValue: any;
selectedClass: string;
}>;
type VItemGroup = InstanceType<typeof VItemGroup>;
interface GroupItem {
id: number;
value: Ref<unknown>;
disabled: Ref<boolean | undefined>;
}
interface GroupProvide {
register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
unregister: (id: number) => void;
select: (id: number, value: boolean) => void;
selected: Ref<Readonly<number[]>>;
isSelected: (id: number) => boolean;
prev: () => void;
next: () => void;
selectedClass: Ref<string | undefined>;
items: ComputedRef<{
id: number;
value: unknown;
disabled: boolean | undefined;
}[]>;
disabled: Ref<boolean | undefined>;
getItemIndex: (value: unknown) => number;
}
interface GroupItemProvide {
id: number;
isSelected: Ref<boolean>;
toggle: () => void;
select: (value: boolean) => void;
selectedClass: Ref<(string | undefined)[] | false>;
value: Ref<unknown>;
disabled: Ref<boolean | undefined>;
group: GroupProvide;
}
declare const VItem: vue.DefineComponent<{
disabled: boolean;
} & {
value?: any;
selectedClass?: string | undefined;
} & {
$children?: vue.VNodeChild | ((args_0: GroupItemProvide) => vue.VNodeChild) | {
default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'group:selected': (val: {
value: boolean;
}) => true;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
disabled: boolean;
} & {
value?: any;
selectedClass?: string | undefined;
} & {
$children?: vue.VNodeChild | ((args_0: GroupItemProvide) => vue.VNodeChild) | {
default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: GroupItemProvide) => vue.VNodeChild) | undefined;
} & {
"onGroup:selected"?: ((val: {
value: boolean;
}) => any) | undefined;
}, {
disabled: boolean;
}>;
type VItem = InstanceType<typeof VItem>;
export { VItem, VItemGroup };