vuetify
Version:
Vue Material Component Framework
1,031 lines (1,019 loc) • 43.2 kB
text/typescript
import * as vue from 'vue';
import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType, ComputedRef, Ref } from 'vue';
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
}
interface LoaderSlotProps {
color: string | undefined;
isActive: boolean;
}
type VMessageSlot = {
message: string;
};
type VCounterSlot = {
counter: string;
max: string | number | undefined;
value: string | number | undefined;
};
type Density = null | 'default' | 'comfortable' | 'compact';
type ValidationResult = string | boolean;
type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
declare const IconValue: PropType<IconValue>;
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;
}
interface DefaultInputSlot {
isActive: Ref<boolean>;
isFocused: Ref<boolean>;
controlRef: Ref<HTMLElement | undefined>;
focus: () => void;
blur: () => void;
}
type ControlSlot = {
click: (e: MouseEvent) => void;
};
type ControlVariant = 'default' | 'stacked' | 'split';
declare const VNumberInput: {
new (...args: any[]): vue.CreateComponentPublicInstance<{
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
} & {
class?: any;
id?: string | undefined;
label?: string | undefined;
width?: string | number | undefined;
theme?: string | undefined;
color?: string | undefined;
name?: string | undefined;
prefix?: string | undefined;
loading?: string | boolean | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
modelValue?: any;
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
role?: string | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
} & {
$children?: {} | vue.VNodeChild | {
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:increment"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
"v-slot:decrement"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (val: number) => true;
}, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
} & {
class?: any;
id?: string | undefined;
label?: string | undefined;
width?: string | number | undefined;
theme?: string | undefined;
color?: string | undefined;
name?: string | undefined;
prefix?: string | undefined;
loading?: string | boolean | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
modelValue?: any;
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
role?: string | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
} & {
$children?: {} | vue.VNodeChild | {
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:increment"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
"v-slot:decrement"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
}, {
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
rounded: string | number | boolean;
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
centerAffix: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
}, true, {}, vue.SlotsType<Partial<{
clear: (arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
details: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
label: (arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
counter: (arg: VCounterSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
message: (arg: VMessageSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
loader: (arg: LoaderSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
'prepend-inner': (arg: DefaultInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
'append-inner': (arg: DefaultInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
increment: (arg: ControlSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
decrement: (arg: ControlSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
} & {
class?: any;
id?: string | undefined;
label?: string | undefined;
width?: string | number | undefined;
theme?: string | undefined;
color?: string | undefined;
name?: string | undefined;
prefix?: string | undefined;
loading?: string | boolean | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
modelValue?: any;
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
role?: string | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
} & {
$children?: {} | vue.VNodeChild | {
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:increment"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
"v-slot:decrement"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
}, {}, {}, {}, {}, {
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
rounded: string | number | boolean;
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
centerAffix: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
}>;
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & vue.ComponentOptionsBase<{
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
} & {
class?: any;
id?: string | undefined;
label?: string | undefined;
width?: string | number | undefined;
theme?: string | undefined;
color?: string | undefined;
name?: string | undefined;
prefix?: string | undefined;
loading?: string | boolean | undefined;
placeholder?: string | undefined;
counter?: string | number | boolean | undefined;
'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
modelValue?: any;
validateOn?: ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined;
validationValue?: any;
rounded?: string | number | boolean | undefined;
maxWidth?: string | number | undefined;
minWidth?: string | number | undefined;
role?: string | undefined;
baseColor?: string | undefined;
bgColor?: string | undefined;
prependIcon?: IconValue | undefined;
appendIcon?: IconValue | undefined;
'onClick:clear'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prepend'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:append'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:appendInner'?: ((args_0: MouseEvent) => void) | undefined;
'onClick:prependInner'?: ((args_0: MouseEvent) => void) | undefined;
centerAffix?: boolean | undefined;
hint?: string | undefined;
hideDetails?: boolean | "auto" | undefined;
suffix?: string | undefined;
counterValue?: number | ((value: any) => number) | undefined;
modelModifiers?: Record<string, boolean> | undefined;
} & {
$children?: {} | vue.VNodeChild | {
clear?: ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: ((arg: ControlSlot) => vue.VNodeChild) | undefined;
};
'v-slots'?: {
clear?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
details?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
label?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
counter?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
message?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
prepend?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
append?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
loader?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
'prepend-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
'append-inner'?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
increment?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
decrement?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:clear"?: false | ((arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:details"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:label"?: false | ((arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNodeChild) | undefined;
"v-slot:counter"?: false | ((arg: VCounterSlot) => vue.VNodeChild) | undefined;
"v-slot:message"?: false | ((arg: VMessageSlot) => vue.VNodeChild) | undefined;
"v-slot:prepend"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append"?: false | ((arg: VInputSlot) => vue.VNodeChild) | undefined;
"v-slot:loader"?: false | ((arg: LoaderSlotProps) => vue.VNodeChild) | undefined;
"v-slot:prepend-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:append-inner"?: false | ((arg: DefaultInputSlot) => vue.VNodeChild) | undefined;
"v-slot:increment"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
"v-slot:decrement"?: false | ((arg: ControlSlot) => vue.VNodeChild) | undefined;
} & {
"onUpdate:modelValue"?: ((val: number) => any) | undefined;
}, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
'update:modelValue': (val: number) => true;
}, string, {
reverse: boolean;
flat: boolean;
style: vue.StyleValue;
type: string;
active: boolean;
error: boolean;
disabled: boolean;
messages: string | readonly string[];
focused: boolean;
errorMessages: string | readonly string[] | null;
maxErrors: string | number;
readonly: boolean | null;
rules: readonly ValidationRule[];
rounded: string | number | boolean;
variant: "underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled";
inset: boolean;
tile: boolean;
density: Density;
direction: "horizontal" | "vertical";
max: number;
clearIcon: IconValue;
centerAffix: boolean;
hideSpinButtons: boolean;
persistentHint: boolean;
autofocus: boolean;
clearable: boolean;
dirty: boolean;
persistentClear: boolean;
singleLine: boolean;
persistentPlaceholder: boolean;
persistentCounter: boolean;
min: number;
step: number;
hideInput: boolean;
controlVariant: ControlVariant;
}, {}, string, vue.SlotsType<Partial<{
clear: (arg: DefaultInputSlot & {
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
details: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
label: (arg: DefaultInputSlot & {
label: string | undefined;
props: Record<string, any>;
}) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
counter: (arg: VCounterSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
message: (arg: VMessageSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
prepend: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
append: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
loader: (arg: LoaderSlotProps) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
'prepend-inner': (arg: DefaultInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
'append-inner': (arg: DefaultInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
increment: (arg: ControlSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
decrement: (arg: ControlSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
[key: string]: any;
}>[];
}>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
reverse: BooleanConstructor;
flat: BooleanConstructor;
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
id: StringConstructor;
label: StringConstructor;
type: {
type: StringConstructor;
default: string;
};
width: (StringConstructor | NumberConstructor)[];
active: BooleanConstructor;
error: BooleanConstructor;
theme: StringConstructor;
color: StringConstructor;
name: StringConstructor;
prefix: StringConstructor;
disabled: {
type: BooleanConstructor;
default: null;
};
loading: (StringConstructor | BooleanConstructor)[];
messages: {
type: PropType<string | readonly string[]>;
default: () => never[];
};
placeholder: StringConstructor;
counter: (StringConstructor | NumberConstructor | BooleanConstructor)[];
focused: BooleanConstructor;
'onUpdate:focused': PropType<(args_0: boolean) => void>;
errorMessages: {
type: PropType<string | readonly string[] | null>;
default: () => never[];
};
maxErrors: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
readonly: {
type: PropType<boolean | null>;
default: null;
};
rules: {
type: PropType<readonly ValidationRule[]>;
default: () => never[];
};
modelValue: null;
validateOn: PropType<("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined>;
validationValue: null;
rounded: {
type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
default: undefined;
};
variant: {
type: PropType<"underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled">;
default: string;
validator: (v: any) => boolean;
};
maxWidth: (StringConstructor | NumberConstructor)[];
minWidth: (StringConstructor | NumberConstructor)[];
tile: BooleanConstructor;
role: StringConstructor;
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
direction: {
type: PropType<"horizontal" | "vertical">;
default: string;
validator: (v: any) => boolean;
};
baseColor: StringConstructor;
bgColor: StringConstructor;
prependIcon: PropType<IconValue>;
appendIcon: PropType<IconValue>;
clearIcon: {
type: PropType<IconValue>;
default: string;
};
'onClick:clear': PropType<(args_0: MouseEvent) => void>;
'onClick:prepend': PropType<(args_0: MouseEvent) => void>;
'onClick:append': PropType<(args_0: MouseEvent) => void>;
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
centerAffix: {
type: BooleanConstructor;
default: undefined;
};
hideSpinButtons: BooleanConstructor;
hint: StringConstructor;
persistentHint: BooleanConstructor;
hideDetails: PropType<boolean | "auto">;
autofocus: BooleanConstructor;
clearable: BooleanConstructor;
dirty: BooleanConstructor;
persistentClear: BooleanConstructor;
singleLine: BooleanConstructor;
persistentPlaceholder: BooleanConstructor;
persistentCounter: BooleanConstructor;
suffix: StringConstructor;
counterValue: PropType<number | ((value: any) => number)>;
modelModifiers: PropType<Record<string, boolean>>;
controlVariant: {
type: PropType<ControlVariant>;
default: string;
};
inset: BooleanConstructor;
hideInput: BooleanConstructor;
min: {
type: NumberConstructor;
default: number;
};
max: {
type: NumberConstructor;
default: number;
};
step: {
type: NumberConstructor;
default: number;
};
}, vue.ExtractPropTypes<{
reverse: BooleanConstructor;
flat: BooleanConstructor;
class: PropType<any>;
style: {
type: PropType<vue.StyleValue>;
default: null;
};
id: StringConstructor;
label: StringConstructor;
type: {
type: StringConstructor;
default: string;
};
width: (StringConstructor | NumberConstructor)[];
active: BooleanConstructor;
error: BooleanConstructor;
theme: StringConstructor;
color: StringConstructor;
name: StringConstructor;
prefix: StringConstructor;
disabled: {
type: BooleanConstructor;
default: null;
};
loading: (StringConstructor | BooleanConstructor)[];
messages: {
type: PropType<string | readonly string[]>;
default: () => never[];
};
placeholder: StringConstructor;
counter: (StringConstructor | NumberConstructor | BooleanConstructor)[];
focused: BooleanConstructor;
'onUpdate:focused': PropType<(args_0: boolean) => void>;
errorMessages: {
type: PropType<string | readonly string[] | null>;
default: () => never[];
};
maxErrors: {
type: (StringConstructor | NumberConstructor)[];
default: number;
};
readonly: {
type: PropType<boolean | null>;
default: null;
};
rules: {
type: PropType<readonly ValidationRule[]>;
default: () => never[];
};
modelValue: null;
validateOn: PropType<("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | "lazy" | undefined>;
validationValue: null;
rounded: {
type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
default: undefined;
};
variant: {
type: PropType<"underlined" | "filled" | "outlined" | "plain" | "solo" | "solo-inverted" | "solo-filled">;
default: string;
validator: (v: any) => boolean;
};
maxWidth: (StringConstructor | NumberConstructor)[];
minWidth: (StringConstructor | NumberConstructor)[];
tile: BooleanConstructor;
role: StringConstructor;
density: {
type: PropType<Density>;
default: string;
validator: (v: any) => boolean;
};
direction: {
type: PropType<"horizontal" | "vertical">;
default: string;
validator: (v: any) => boolean;
};
baseColor: StringConstructor;
bgColor: StringConstructor;
prependIcon: PropType<IconValue>;
appendIcon: PropType<IconValue>;
clearIcon: {
type: PropType<IconValue>;
default: string;
};
'onClick:clear': PropType<(args_0: MouseEvent) => void>;
'onClick:prepend': PropType<(args_0: MouseEvent) => void>;
'onClick:append': PropType<(args_0: MouseEvent) => void>;
'onClick:appendInner': PropType<(args_0: MouseEvent) => void>;
'onClick:prependInner': PropType<(args_0: MouseEvent) => void>;
centerAffix: {
type: BooleanConstructor;
default: undefined;
};
hideSpinButtons: BooleanConstructor;
hint: StringConstructor;
persistentHint: BooleanConstructor;
hideDetails: PropType<boolean | "auto">;
autofocus: BooleanConstructor;
clearable: BooleanConstructor;
dirty: BooleanConstructor;
persistentClear: BooleanConstructor;
singleLine: BooleanConstructor;
persistentPlaceholder: BooleanConstructor;
persistentCounter: BooleanConstructor;
suffix: StringConstructor;
counterValue: PropType<number | ((value: any) => number)>;
modelModifiers: PropType<Record<string, boolean>>;
controlVariant: {
type: PropType<ControlVariant>;
default: string;
};
inset: BooleanConstructor;
hideInput: BooleanConstructor;
min: {
type: NumberConstructor;
default: number;
};
max: {
type: NumberConstructor;
default: number;
};
step: {
type: NumberConstructor;
default: number;
};
}>>;
type VNumberInput = InstanceType<typeof VNumberInput>;
export { VNumberInput };