UNPKG

vuetify

Version:

Vue Material Component Framework

495 lines (493 loc) 21.3 kB
import { IconValue } from "../../composables/icons.js"; import type { Prop } from 'vue'; type VRatingItemSlot = { value: number; index: number; isFilled: boolean; isHovered: boolean; icon: IconValue; color?: string; props: Record<string, unknown>; rating: number; }; type VRatingItemLabelSlot = { value: number; index: number; label?: string; }; export declare const makeVRatingProps: <Defaults extends { theme?: unknown; tag?: unknown; size?: unknown; density?: unknown; class?: unknown; style?: unknown; name?: unknown; itemAriaLabel?: unknown; activeColor?: unknown; color?: unknown; clearable?: unknown; disabled?: unknown; emptyIcon?: unknown; fullIcon?: unknown; halfIncrements?: unknown; hover?: unknown; length?: unknown; readonly?: unknown; modelValue?: unknown; itemLabels?: unknown; itemLabelPosition?: unknown; ripple?: unknown; } = {}>(defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; tag: unknown extends Defaults["tag"] ? { type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; } : Omit<{ type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | import("../../util/index.js").JSXComponent | Defaults["tag"]>; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable<string | import("../../util/index.js").JSXComponent> | Defaults["tag"]; }; size: unknown extends Defaults["size"] ? { type: (StringConstructor | NumberConstructor)[]; default: string; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: string; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["size"] ? string | number : string | number | Defaults["size"]>; default: unknown extends Defaults["size"] ? string | number : NonNullable<string | number> | Defaults["size"]; }; density: unknown extends Defaults["density"] ? { type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : import("../../composables/density.js").Density | Defaults["density"]>; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable<import("../../composables/density.js").Density> | Defaults["density"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType<any> : { type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType<import("vue").StyleValue>; default: null; } : Omit<{ type: import("vue").PropType<import("vue").StyleValue>; default: null; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : import("vue").StyleValue | Defaults["style"]>; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable<import("vue").StyleValue> | Defaults["style"]; }; name: unknown extends Defaults["name"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["name"] ? string : string | Defaults["name"]>; default: unknown extends Defaults["name"] ? string : string | Defaults["name"]; }; itemAriaLabel: unknown extends Defaults["itemAriaLabel"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["itemAriaLabel"] ? string : string | Defaults["itemAriaLabel"]>; default: unknown extends Defaults["itemAriaLabel"] ? string : string | Defaults["itemAriaLabel"]; }; activeColor: unknown extends Defaults["activeColor"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["activeColor"] ? string : string | Defaults["activeColor"]>; default: unknown extends Defaults["activeColor"] ? string : string | Defaults["activeColor"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; clearable: unknown extends Defaults["clearable"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["clearable"] ? boolean : boolean | Defaults["clearable"]>; default: unknown extends Defaults["clearable"] ? boolean : boolean | Defaults["clearable"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; emptyIcon: unknown extends Defaults["emptyIcon"] ? { type: import("vue").PropType<IconValue>; default: string; } : Omit<{ type: import("vue").PropType<IconValue>; default: string; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["emptyIcon"] ? IconValue : IconValue | Defaults["emptyIcon"]>; default: unknown extends Defaults["emptyIcon"] ? IconValue : NonNullable<IconValue> | Defaults["emptyIcon"]; }; fullIcon: unknown extends Defaults["fullIcon"] ? { type: import("vue").PropType<IconValue>; default: string; } : Omit<{ type: import("vue").PropType<IconValue>; default: string; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["fullIcon"] ? IconValue : IconValue | Defaults["fullIcon"]>; default: unknown extends Defaults["fullIcon"] ? IconValue : NonNullable<IconValue> | Defaults["fullIcon"]; }; halfIncrements: unknown extends Defaults["halfIncrements"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["halfIncrements"] ? boolean : boolean | Defaults["halfIncrements"]>; default: unknown extends Defaults["halfIncrements"] ? boolean : boolean | Defaults["halfIncrements"]; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; length: unknown extends Defaults["length"] ? { type: (StringConstructor | NumberConstructor)[]; default: number; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: number; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["length"] ? string | number : string | number | Defaults["length"]>; default: unknown extends Defaults["length"] ? string | number : NonNullable<string | number> | Defaults["length"]; }; readonly: unknown extends Defaults["readonly"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]>; default: unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]; }; modelValue: unknown extends Defaults["modelValue"] ? { type: (StringConstructor | NumberConstructor)[]; default: number; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: number; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["modelValue"] ? string | number : string | number | Defaults["modelValue"]>; default: unknown extends Defaults["modelValue"] ? string | number : NonNullable<string | number> | Defaults["modelValue"]; }; itemLabels: unknown extends Defaults["itemLabels"] ? Prop<string[]> : { type: import("vue").PropType<unknown extends Defaults["itemLabels"] ? string[] : string[] | Defaults["itemLabels"]>; default: unknown extends Defaults["itemLabels"] ? string[] : string[] | Defaults["itemLabels"]; }; itemLabelPosition: unknown extends Defaults["itemLabelPosition"] ? { type: StringConstructor; default: string; validator: (v: any) => boolean; } : Omit<{ type: StringConstructor; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType<unknown extends Defaults["itemLabelPosition"] ? string : string | Defaults["itemLabelPosition"]>; default: unknown extends Defaults["itemLabelPosition"] ? string : string | Defaults["itemLabelPosition"]; }; ripple: unknown extends Defaults["ripple"] ? BooleanConstructor : { type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean : boolean | Defaults["ripple"]>; default: unknown extends Defaults["ripple"] ? boolean : boolean | Defaults["ripple"]; }; }; export declare const VRating: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; } & { name?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; activeColor?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: {} | import("vue").VNodeChild | { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; }; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (value: number | string) => true; }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; }, true, {}, import("vue").SlotsType<Partial<{ item: (arg: VRatingItemSlot) => import("vue").VNode[]; 'item-label': (arg: VRatingItemLabelSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; } & { name?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; activeColor?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: {} | import("vue").VNodeChild | { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; }; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, {}, {}, {}, { length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; } & { name?: string | undefined; color?: string | undefined; class?: any; theme?: string | undefined; activeColor?: string | undefined; itemLabels?: string[] | undefined; } & { $children?: {} | import("vue").VNodeChild | { item?: ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; }; 'v-slots'?: { item?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; 'item-label'?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:item"?: false | ((arg: VRatingItemSlot) => import("vue").VNodeChild) | undefined; "v-slot:item-label"?: false | ((arg: VRatingItemLabelSlot) => import("vue").VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: string | number) => any) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { 'update:modelValue': (value: number | string) => true; }, string, { length: string | number; style: import("vue").StyleValue; disabled: boolean; size: string | number; readonly: boolean; tag: string | import("../../util/index.js").JSXComponent; modelValue: string | number; density: import("../../composables/density.js").Density; ripple: boolean; clearable: boolean; hover: boolean; itemAriaLabel: string; emptyIcon: IconValue; fullIcon: IconValue; halfIncrements: boolean; itemLabelPosition: string; }, {}, string, import("vue").SlotsType<Partial<{ item: (arg: VRatingItemSlot) => import("vue").VNode[]; 'item-label': (arg: VRatingItemLabelSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; tag: { type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; density: { type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; }; class: import("vue").PropType<import("../../composables/component.js").ClassValue>; style: { type: import("vue").PropType<import("vue").StyleValue>; default: null; }; name: StringConstructor; itemAriaLabel: { type: StringConstructor; default: string; }; activeColor: StringConstructor; color: StringConstructor; clearable: BooleanConstructor; disabled: BooleanConstructor; emptyIcon: { type: import("vue").PropType<IconValue>; default: string; }; fullIcon: { type: import("vue").PropType<IconValue>; default: string; }; halfIncrements: BooleanConstructor; hover: BooleanConstructor; length: { type: (StringConstructor | NumberConstructor)[]; default: number; }; readonly: BooleanConstructor; modelValue: { type: (StringConstructor | NumberConstructor)[]; default: number; }; itemLabels: Prop<string[]>; itemLabelPosition: { type: StringConstructor; default: string; validator: (v: any) => boolean; }; ripple: BooleanConstructor; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; tag: { type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>; default: string; }; size: { type: (StringConstructor | NumberConstructor)[]; default: string; }; density: { type: import("vue").PropType<import("../../composables/density.js").Density>; default: string; validator: (v: any) => boolean; }; class: import("vue").PropType<import("../../composables/component.js").ClassValue>; style: { type: import("vue").PropType<import("vue").StyleValue>; default: null; }; name: StringConstructor; itemAriaLabel: { type: StringConstructor; default: string; }; activeColor: StringConstructor; color: StringConstructor; clearable: BooleanConstructor; disabled: BooleanConstructor; emptyIcon: { type: import("vue").PropType<IconValue>; default: string; }; fullIcon: { type: import("vue").PropType<IconValue>; default: string; }; halfIncrements: BooleanConstructor; hover: BooleanConstructor; length: { type: (StringConstructor | NumberConstructor)[]; default: number; }; readonly: BooleanConstructor; modelValue: { type: (StringConstructor | NumberConstructor)[]; default: number; }; itemLabels: Prop<string[]>; itemLabelPosition: { type: StringConstructor; default: string; validator: (v: any) => boolean; }; ripple: BooleanConstructor; }>>; export type VRating = InstanceType<typeof VRating>;