UNPKG

vuetify

Version:

Vue Material Component Framework

281 lines (274 loc) 8.55 kB
import * as vue from 'vue'; import { ComponentInternalInstance, Ref, ComputedRef, JSXComponent, PropType } from 'vue'; interface GroupItem { id: number; value: Ref<unknown>; disabled: Ref<boolean | undefined>; } interface GroupProvide { register: (item: GroupItem, cmp: ComponentInternalInstance) => void; unregister: (id: number) => void; select: (id: number, value: boolean) => void; selected: Ref<Readonly<number[]>>; isSelected: (id: number) => boolean; prev: () => void; next: () => void; selectedClass: Ref<string | undefined>; items: ComputedRef<{ id: number; value: unknown; disabled: boolean | undefined; }[]>; disabled: Ref<boolean | undefined>; getItemIndex: (value: unknown) => number; } type IconValue = string | JSXComponent; declare const IconValue: PropType<IconValue>; interface TouchHandlers { start?: (wrapperEvent: { originalEvent: TouchEvent; } & TouchData) => void; end?: (wrapperEvent: { originalEvent: TouchEvent; } & TouchData) => void; move?: (wrapperEvent: { originalEvent: TouchEvent; } & TouchData) => void; left?: (wrapper: TouchData) => void; right?: (wrapper: TouchData) => void; up?: (wrapper: TouchData) => void; down?: (wrapper: TouchData) => void; } interface TouchData { touchstartX: number; touchstartY: number; touchmoveX: number; touchmoveY: number; touchendX: number; touchendY: number; offsetX: number; offsetY: number; } type ControlProps = { icon: IconValue; class: string; onClick: () => void; ariaLabel: string; }; declare const VWindow: vue.DefineComponent<{ reverse: boolean; direction: string; disabled: boolean; tag: string; mandatory: "force"; selectedClass: string; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; } & { touch?: boolean | TouchHandlers | undefined; theme?: string | undefined; modelValue?: any; showArrows?: string | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; "v-slot:additional"?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; "v-slot:next"?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; }, { group: GroupProvide; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (v: any) => boolean; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { reverse: boolean; direction: string; disabled: boolean; tag: string; mandatory: "force"; selectedClass: string; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; } & { touch?: boolean | TouchHandlers | undefined; theme?: string | undefined; modelValue?: any; showArrows?: string | boolean | undefined; } & { $children?: {} | vue.VNodeChild | { default?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; }; $slots?: { default?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; additional?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; prev?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; next?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; "v-slot:additional"?: false | ((args_0: { group: GroupProvide; }) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; "v-slot:next"?: false | ((args_0: { props: ControlProps; }) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((v: any) => any) | undefined; }, { reverse: boolean; direction: string; disabled: boolean; tag: string; mandatory: "force"; touch: boolean | TouchHandlers; selectedClass: string; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; }>; type VWindow = InstanceType<typeof VWindow>; declare const VWindowItem: vue.DefineComponent<{ eager: boolean; disabled: boolean; } & { transition?: string | boolean | undefined; value?: any; selectedClass?: string | undefined; reverseTransition?: string | boolean | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'group:selected': (val: { value: boolean; }) => boolean; }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, { eager: boolean; disabled: boolean; } & { transition?: string | boolean | undefined; value?: any; selectedClass?: string | undefined; reverseTransition?: string | boolean | undefined; } & { $children?: vue.VNodeChild | (() => vue.VNodeChild) | { default?: (() => vue.VNodeChild) | undefined; }; $slots?: { default?: (() => vue.VNodeChild) | undefined; } | undefined; 'v-slots'?: { default?: false | (() => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | (() => vue.VNodeChild) | undefined; } & { "onGroup:selected"?: ((val: { value: boolean; }) => any) | undefined; }, { transition: string | boolean; eager: boolean; disabled: boolean; reverseTransition: string | boolean; }>; type VWindowItem = InstanceType<typeof VWindowItem>; export { VWindow, VWindowItem };