vue3-zoomer
Version:
A Vue 3 component for zooming images.
223 lines (214 loc) • 6.53 kB
TypeScript
import { App } from 'vue';
import { ComponentOptionsMixin } from 'vue';
import { ComponentProvideOptions } from 'vue';
import { CreateComponentPublicInstanceWithMixins } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { GlobalComponents } from 'vue';
import { GlobalDirectives } from 'vue';
import { PublicProps } from 'vue';
import { Ref } from 'vue';
import { ShallowRef } from 'vue';
import { ZoomImgCoreProps } from '../types';
import { ZoomImgProps } from '../types';
declare const __VLS_component: DefineComponent<ZoomImgProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
error: (...args: any[]) => void;
load: (...args: any[]) => void;
}, string, PublicProps, Readonly<ZoomImgProps> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
}>, {
zoomType: "move" | "drag";
}, {}, {}, {}, string, ComponentProvideOptions, false, {
zoomComponent: CreateComponentPublicInstanceWithMixins<Readonly<{
currentScale?: number;
zoomedImgOffset?: {
left: number;
top: number;
};
} & ZoomImgCoreProps> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
"onUpdate:currentScale"?: ((value: number) => any) | undefined;
"onUpdate:zoomedImgOffset"?: ((value: {
left: number;
top: number;
}) => any) | undefined;
}>, {
zoomDir: Ref<"IN" | "OUT", "IN" | "OUT">;
vzImgRef: Readonly<ShallowRef<HTMLImageElement | null>>;
multiZoom: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
error: (...args: any[]) => void;
load: (...args: any[]) => void;
"update:currentScale": (value: number) => void;
"update:zoomedImgOffset": (value: {
left: number;
top: number;
}) => void;
}, PublicProps, {
zoomScale: number;
trigger: "click" | "hover";
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
container: HTMLDivElement;
vzImg: HTMLImageElement;
}, HTMLDivElement, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
currentScale?: number;
zoomedImgOffset?: {
left: number;
top: number;
};
} & ZoomImgCoreProps> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
"onUpdate:currentScale"?: ((value: number) => any) | undefined;
"onUpdate:zoomedImgOffset"?: ((value: {
left: number;
top: number;
}) => any) | undefined;
}>, {
zoomDir: Ref<"IN" | "OUT", "IN" | "OUT">;
vzImgRef: Readonly<ShallowRef<HTMLImageElement | null>>;
multiZoom: () => void;
}, {}, {}, {}, {
zoomScale: number;
trigger: "click" | "hover";
}> | null;
}, HTMLDivElement>;
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: {
loading?(_: {}): any;
error?(_: {}): any;
};
refs: {
zoomComponent: CreateComponentPublicInstanceWithMixins<Readonly<{
currentScale?: number;
zoomedImgOffset?: {
left: number;
top: number;
};
} & ZoomImgCoreProps> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
"onUpdate:currentScale"?: ((value: number) => any) | undefined;
"onUpdate:zoomedImgOffset"?: ((value: {
left: number;
top: number;
}) => any) | undefined;
}>, {
zoomDir: Ref<"IN" | "OUT", "IN" | "OUT">;
vzImgRef: Readonly<ShallowRef<HTMLImageElement | null>>;
multiZoom: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
error: (...args: any[]) => void;
load: (...args: any[]) => void;
"update:currentScale": (value: number) => void;
"update:zoomedImgOffset": (value: {
left: number;
top: number;
}) => void;
}, PublicProps, {
zoomScale: number;
trigger: "click" | "hover";
}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
container: HTMLDivElement;
vzImg: HTMLImageElement;
}, HTMLDivElement, ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{
currentScale?: number;
zoomedImgOffset?: {
left: number;
top: number;
};
} & ZoomImgCoreProps> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
"onUpdate:currentScale"?: ((value: number) => any) | undefined;
"onUpdate:zoomedImgOffset"?: ((value: {
left: number;
top: number;
}) => any) | undefined;
}>, {
zoomDir: Ref<"IN" | "OUT", "IN" | "OUT">;
vzImgRef: Readonly<ShallowRef<HTMLImageElement | null>>;
multiZoom: () => void;
}, {}, {}, {}, {
zoomScale: number;
trigger: "click" | "hover";
}> | null;
};
rootEl: HTMLDivElement;
};
declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
declare const _default: {
install: (app: App) => void;
};
export default _default;
export declare const Magnifier: DefineComponent<ExtractPropTypes< {
src: {
type: StringConstructor;
required: true;
};
alt: {
type: StringConstructor;
default: string;
};
zoomScale: {
type: NumberConstructor;
default: number;
};
size: {
type: NumberConstructor;
default: number;
};
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
error: (...args: any[]) => void;
load: (...args: any[]) => void;
}, string, PublicProps, Readonly<ExtractPropTypes< {
src: {
type: StringConstructor;
required: true;
};
alt: {
type: StringConstructor;
default: string;
};
zoomScale: {
type: NumberConstructor;
default: number;
};
size: {
type: NumberConstructor;
default: number;
};
}>> & Readonly<{
onError?: ((...args: any[]) => any) | undefined;
onLoad?: ((...args: any[]) => any) | undefined;
}>, {
alt: string;
zoomScale: number;
size: number;
}, {}, {}, {}, string, ComponentProvideOptions, true, {
container: HTMLDivElement;
}, HTMLDivElement>;
export declare const ZoomImg: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export { }