UNPKG

vuetify

Version:

Vue Material Component Framework

486 lines (476 loc) 23.5 kB
import * as vue from 'vue'; import { PropType, JSXComponent, ComputedRef, Ref, nextTick } from 'vue'; type EventProp<T = (...args: any[]) => any> = T | T[]; declare const EventProp: PropType<EventProp<(...args: any[]) => any>>; interface LoaderSlotProps { color: string | undefined; isActive: boolean; } type IconValue = string | JSXComponent; declare const IconValue: PropType<IconValue>; type Density = null | 'default' | 'comfortable' | 'compact'; 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; } interface DefaultInputSlot { isActive: Ref<boolean>; isFocused: Ref<boolean>; controlRef: Ref<HTMLElement | undefined>; focus: () => void; blur: () => void; } declare const VTextarea: vue.DefineComponent<{ reverse: boolean; error: boolean; active: boolean; direction: "horizontal" | "vertical"; autofocus: boolean; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; variant: "filled" | "outlined" | "plain" | "underlined" | "solo"; clearIcon: IconValue; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; persistentHint: boolean; persistentPlaceholder: boolean; persistentCounter: boolean; autoGrow: boolean; noResize: boolean; rows: string | number; } & { id?: string | undefined; name?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; prefix?: string | undefined; placeholder?: string | undefined; theme?: string | undefined; counter?: string | number | true | undefined; modelValue?: any; bgColor?: string | undefined; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; appendInnerIcon?: IconValue | undefined; prependInnerIcon?: IconValue | undefined; 'onClick:clear'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:appendInner'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prependInner'?: EventProp<(...args: any[]) => any> | undefined; validateOn?: "input" | "blur" | "submit" | undefined; validationValue?: any; hideDetails?: boolean | "auto" | undefined; hint?: string | undefined; suffix?: string | undefined; counterValue?: ((value: any) => number) | undefined; maxRows?: string | number | undefined; } & { $children?: {} | vue.VNodeChild | { clear?: (() => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { clear?: (() => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { clear?: false | (() => vue.VNodeChild) | undefined; details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:clear"?: false | (() => vue.VNodeChild) | undefined; "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:label"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; "v-slot:prepend-inner"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append-inner"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; }, Omit<Omit<{ $: vue.ComponentInternalInstance; $data: {}; $props: Partial<{ error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; }> & Omit<{ error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; } & { id?: string | undefined; name?: string | undefined; label?: 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; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: VInputSlot) => 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; } | undefined; } & { "v-slot:default"?: false | ((args_0: VInputSlot) => 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; } & { "onUpdate:modelValue"?: ((val: any) => any) | undefined; } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null; $emit: (event: "update:modelValue", val: any) => void; $el: any; $options: vue.ComponentOptionsBase<{ error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; } & { id?: string | undefined; name?: string | undefined; label?: 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; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: VInputSlot) => 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; } | undefined; } & { "v-slot:default"?: false | ((args_0: VInputSlot) => 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; } & { "onUpdate:modelValue"?: ((val: any) => any) | undefined; }, { reset: () => void; resetValidation: () => void; validate: () => Promise<string[]>; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (val: any) => true; }, string, { error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; }, {}, string> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & { error: boolean; direction: "horizontal" | "vertical"; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; } & { id?: string | undefined; name?: string | undefined; label?: 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; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: VInputSlot) => 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; } | undefined; } & { "v-slot:default"?: false | ((args_0: VInputSlot) => 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; } & { "onUpdate:modelValue"?: ((val: any) => any) | undefined; } & vue.ShallowUnwrapRef<{ reset: () => void; resetValidation: () => void; validate: () => Promise<string[]>; }> & {} & vue.ComponentCustomProperties & {}, "id" | "name" | "label" | "$children" | "v-slot:default" | "$slots" | "v-slots" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps | "v-slot:append" | "v-slot:prepend" | "modelValue" | "onUpdate:modelValue" | "prependIcon" | "appendIcon" | "onClick:append" | "onClick:prepend" | "validateOn" | "validationValue" | "hideDetails" | ("error" | "direction" | "disabled" | "readonly" | "messages" | "density" | "focused" | "errorMessages" | "maxErrors" | "rules") | "v-slot:details">, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'click:control': (e: MouseEvent) => true; 'mousedown:control': (e: MouseEvent) => true; 'update:focused': (focused: boolean) => true; 'update:modelValue': (val: string) => true; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { reverse: boolean; error: boolean; active: boolean; direction: "horizontal" | "vertical"; autofocus: boolean; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; variant: "filled" | "outlined" | "plain" | "underlined" | "solo"; clearIcon: IconValue; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; persistentHint: boolean; persistentPlaceholder: boolean; persistentCounter: boolean; autoGrow: boolean; noResize: boolean; rows: string | number; } & { id?: string | undefined; name?: string | undefined; color?: string | undefined; loading?: string | boolean | undefined; label?: string | undefined; prefix?: string | undefined; placeholder?: string | undefined; theme?: string | undefined; counter?: string | number | true | undefined; modelValue?: any; bgColor?: string | undefined; prependIcon?: IconValue | undefined; appendIcon?: IconValue | undefined; appendInnerIcon?: IconValue | undefined; prependInnerIcon?: IconValue | undefined; 'onClick:clear'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:appendInner'?: EventProp<(...args: any[]) => any> | undefined; 'onClick:prependInner'?: EventProp<(...args: any[]) => any> | undefined; validateOn?: "input" | "blur" | "submit" | undefined; validationValue?: any; hideDetails?: boolean | "auto" | undefined; hint?: string | undefined; suffix?: string | undefined; counterValue?: ((value: any) => number) | undefined; maxRows?: string | number | undefined; } & { $children?: {} | vue.VNodeChild | { clear?: (() => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; }; $slots?: { clear?: (() => vue.VNodeChild) | undefined; details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { clear?: false | (() => vue.VNodeChild) | undefined; details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; label?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; loader?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; 'prepend-inner'?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; 'append-inner'?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:clear"?: false | (() => vue.VNodeChild) | undefined; "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:label"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined; "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined; "v-slot:prepend-inner"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; "v-slot:append-inner"?: false | ((args_0: DefaultInputSlot & VInputSlot) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((val: string) => any) | undefined; "onUpdate:focused"?: ((focused: boolean) => any) | undefined; "onClick:control"?: ((e: MouseEvent) => any) | undefined; "onMousedown:control"?: ((e: MouseEvent) => any) | undefined; }, { reverse: boolean; error: boolean; active: boolean; direction: "horizontal" | "vertical"; autofocus: boolean; disabled: boolean; readonly: boolean; messages: string | string[]; density: Density; variant: "filled" | "outlined" | "plain" | "underlined" | "solo"; clearIcon: IconValue; focused: boolean; errorMessages: string | string[]; maxErrors: string | number; rules: ValidationRule[]; clearable: boolean; dirty: boolean; persistentClear: boolean; singleLine: boolean; persistentHint: boolean; persistentPlaceholder: boolean; persistentCounter: boolean; autoGrow: boolean; noResize: boolean; rows: string | number; }>; type VTextarea = InstanceType<typeof VTextarea>; export { VTextarea };