vuetify
Version:
Vue Material Component Framework
239 lines (233 loc) • 9.07 kB
TypeScript
import * as vue from 'vue';
import { JSXComponent, PropType, Ref, ComponentInternalInstance, ComputedRef, UnwrapRef } from 'vue';
type IconValue = string | JSXComponent;
declare const IconValue: PropType<IconValue>;
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;
}
interface SlideGroupSlot {
next: GroupProvide['next'];
prev: GroupProvide['prev'];
select: GroupProvide['select'];
isSelected: GroupProvide['isSelected'];
}
declare const VSlideGroup: vue.DefineComponent<{
symbol: any;
direction: string;
disabled: boolean;
multiple: boolean;
tag: string;
selectedClass: string;
nextIcon: IconValue;
prevIcon: IconValue;
centerActive: boolean;
} & {
max?: number | undefined;
mandatory?: boolean | "force" | undefined;
modelValue?: any;
showArrows?: string | boolean | undefined;
} & {
$children?: {} | vue.VNodeChild | {
default?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
"v-slot:prev"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
"v-slot:next"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
}, {
selected: vue.Ref<readonly number[]>;
scrollTo: (location: 'prev' | 'next') => void;
scrollOffset: vue.Ref<number>;
focus: (location?: 'next' | 'prev' | 'first' | 'last') => void;
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: any) => boolean;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
symbol: any;
direction: string;
disabled: boolean;
multiple: boolean;
tag: string;
selectedClass: string;
nextIcon: IconValue;
prevIcon: IconValue;
centerActive: boolean;
} & {
max?: number | undefined;
mandatory?: boolean | "force" | undefined;
modelValue?: any;
showArrows?: string | boolean | undefined;
} & {
$children?: {} | vue.VNodeChild | {
default?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
prev?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
next?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
"v-slot:prev"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
"v-slot:next"?: false | ((args_0: SlideGroupSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
}, {
symbol: any;
direction: string;
disabled: boolean;
multiple: boolean;
tag: string;
modelValue: any;
selectedClass: string;
nextIcon: IconValue;
prevIcon: IconValue;
centerActive: boolean;
}>;
type VSlideGroup = InstanceType<typeof VSlideGroup>;
declare const VSlideGroupItem: vue.DefineComponent<{
disabled: boolean;
} & {
value?: any;
selectedClass?: string | undefined;
} & {
$children?: vue.VNodeChild | ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | {
default?: ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => 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: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | {
default?: ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | ((args_0: {
isSelected: UnwrapRef<GroupItemProvide['isSelected']>;
select: GroupItemProvide['select'];
toggle: GroupItemProvide['toggle'];
selectedClass: UnwrapRef<GroupItemProvide['selectedClass']>;
}) => vue.VNodeChild) | undefined;
} & {
"onGroup:selected"?: ((val: {
value: boolean;
}) => any) | undefined;
}, {
disabled: boolean;
}>;
type VSlideGroupItem = InstanceType<typeof VSlideGroupItem>;
export { VSlideGroup, VSlideGroupItem };