vuetify
Version:
Vue Material Component Framework
364 lines (354 loc) • 14.2 kB
TypeScript
import * as vue from 'vue';
import { JSXComponent, PropType, WritableComputedRef, Ref, CSSProperties, ComputedRef } from 'vue';
type Density = null | 'default' | 'comfortable' | 'compact';
type IconValue = string | JSXComponent;
declare const IconValue: PropType<IconValue>;
declare function deepEqual(a: any, b: any): boolean;
type EventProp<T = (...args: any[]) => any> = T | T[];
declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
type SelectionControlSlot = {
model: WritableComputedRef<any>;
textColorClasses: Ref<string[]>;
textColorStyles: Ref<CSSProperties>;
props: {
onBlur: (e: Event) => void;
onFocus: (e: FocusEvent) => void;
id: string;
};
};
type ValidationResult = string | boolean;
type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
interface VInputSlot {
id: ComputedRef<string>;
messagesId: ComputedRef<string>;
isDirty: ComputedRef<boolean>;
isDisabled: ComputedRef<boolean>;
isReadonly: ComputedRef<boolean>;
isPristine: Ref<boolean>;
isValid: ComputedRef<boolean | null>;
isValidating: Ref<boolean>;
reset: () => void;
resetValidation: () => void;
validate: () => void;
}
declare const VCheckbox: vue.DefineComponent<{
inline: boolean;
error: boolean;
direction: "horizontal" | "vertical";
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
messages: string | string[];
density: Density;
ripple: boolean;
focused: boolean;
errorMessages: string | string[];
maxErrors: string | number;
rules: ValidationRule[];
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
} & {
type?: string | undefined;
id?: string | undefined;
name?: string | undefined;
color?: string | undefined;
value?: any;
label?: string | undefined;
theme?: string | undefined;
modelValue?: any;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
validateOn?: "input" | "blur" | "submit" | undefined;
validationValue?: any;
hideDetails?: boolean | "auto" | undefined;
trueValue?: any;
falseValue?: any;
} & {
$children?: {} | vue.VNodeChild | {
default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
"v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
"v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:focused': (focused: boolean) => boolean;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
inline: boolean;
error: boolean;
direction: "horizontal" | "vertical";
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
messages: string | string[];
density: Density;
ripple: boolean;
focused: boolean;
errorMessages: string | string[];
maxErrors: string | number;
rules: ValidationRule[];
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
} & {
type?: string | undefined;
id?: string | undefined;
name?: string | undefined;
color?: string | undefined;
value?: any;
label?: string | undefined;
theme?: string | undefined;
modelValue?: any;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
validateOn?: "input" | "blur" | "submit" | undefined;
validationValue?: any;
hideDetails?: boolean | "auto" | undefined;
trueValue?: any;
falseValue?: any;
} & {
$children?: {} | vue.VNodeChild | {
default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
"v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
"v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:focused"?: ((focused: boolean) => any) | undefined;
}, {
inline: boolean;
error: boolean;
direction: "horizontal" | "vertical";
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
messages: string | string[];
density: Density;
ripple: boolean;
focused: boolean;
errorMessages: string | string[];
maxErrors: string | number;
rules: ValidationRule[];
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
}>;
type VCheckbox = InstanceType<typeof VCheckbox>;
declare const VCheckboxBtn: vue.DefineComponent<{
inline: boolean;
error: boolean;
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
density: Density;
ripple: boolean;
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
} & {
type?: string | undefined;
id?: string | undefined;
name?: string | undefined;
color?: string | undefined;
value?: any;
label?: string | undefined;
theme?: string | undefined;
modelValue?: any;
trueValue?: any;
falseValue?: any;
} & {
$children?: {} | vue.VNodeChild | {
default?: (() => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
label?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
"v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (value: any) => boolean;
'update:indeterminate': (val: boolean) => boolean;
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
inline: boolean;
error: boolean;
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
density: Density;
ripple: boolean;
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
} & {
type?: string | undefined;
id?: string | undefined;
name?: string | undefined;
color?: string | undefined;
value?: any;
label?: string | undefined;
theme?: string | undefined;
modelValue?: any;
trueValue?: any;
falseValue?: any;
} & {
$children?: {} | vue.VNodeChild | {
default?: (() => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
};
$slots?: {
default?: (() => vue.VNodeChild) | undefined;
label?: ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
'v-slots'?: {
default?: false | (() => vue.VNodeChild) | undefined;
label?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((args_0: {
label: string | undefined;
props: Record<string, unknown>;
}) => vue.VNodeChild) | undefined;
"v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
"onUpdate:indeterminate"?: ((val: boolean) => any) | undefined;
}, {
inline: boolean;
error: boolean;
disabled: boolean;
multiple: boolean | null;
readonly: boolean;
indeterminate: boolean;
density: Density;
ripple: boolean;
falseIcon: NonNullable<IconValue>;
trueIcon: NonNullable<IconValue>;
valueComparator: typeof deepEqual;
indeterminateIcon: IconValue;
}>;
type VCheckboxBtn = InstanceType<typeof VCheckboxBtn>;
export { VCheckbox, VCheckboxBtn };