vuetify
Version:
Vue Material Component Framework
123 lines (118 loc) • 4.05 kB
TypeScript
import * as vue from 'vue';
import { JSXComponent, PropType } from 'vue';
type Density = null | 'default' | 'comfortable' | 'compact';
type IconValue = string | JSXComponent;
declare const IconValue: PropType<IconValue>;
type VRatingItemSlot = {
value: number;
index: number;
isFilled: boolean;
isHovered: boolean;
icon: IconValue;
color?: string;
props: Record<string, unknown>;
};
type VRatingItemLabelSlot = {
value: number;
index: number;
label?: string;
};
declare const VRating: vue.DefineComponent<{
length: string | number;
disabled: boolean;
size: string | number;
readonly: boolean;
tag: string;
density: Density;
modelValue: string | number;
ripple: boolean;
clearable: boolean;
hover: boolean;
halfIncrements: boolean;
itemAriaLabel: string;
emptyIcon: IconValue;
fullIcon: IconValue;
itemLabelPosition: string;
} & {
name?: string | undefined;
color?: string | undefined;
theme?: string | undefined;
activeColor?: string | undefined;
itemLabels?: string[] | undefined;
} & {
$children?: {} | vue.VNodeChild | {
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:item"?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
"v-slot:item-label"?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: number | string) => boolean;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
length: string | number;
disabled: boolean;
size: string | number;
readonly: boolean;
tag: string;
density: Density;
modelValue: string | number;
ripple: boolean;
clearable: boolean;
hover: boolean;
halfIncrements: boolean;
itemAriaLabel: string;
emptyIcon: IconValue;
fullIcon: IconValue;
itemLabelPosition: string;
} & {
name?: string | undefined;
color?: string | undefined;
theme?: string | undefined;
activeColor?: string | undefined;
itemLabels?: string[] | undefined;
} & {
$children?: {} | vue.VNodeChild | {
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
item?: ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
item?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
'item-label'?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:item"?: false | ((args_0: VRatingItemSlot) => vue.VNodeChild) | undefined;
"v-slot:item-label"?: false | ((args_0: VRatingItemLabelSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
}, {
length: string | number;
disabled: boolean;
size: string | number;
readonly: boolean;
tag: string;
density: Density;
modelValue: string | number;
ripple: boolean;
clearable: boolean;
hover: boolean;
halfIncrements: boolean;
itemAriaLabel: string;
emptyIcon: IconValue;
fullIcon: IconValue;
itemLabelPosition: string;
}>;
type VRating = InstanceType<typeof VRating>;
export { VRating };