You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.4 KiB
64 lines
2.4 KiB
import { Plugin } from "../../../shared/Base/Plugin";
|
|
import { Panzoom } from "../../../Panzoom/Panzoom";
|
|
import { OptionsType as PanzoomOptionsType } from "../../../Panzoom/options";
|
|
import { Carousel } from "../../../Carousel/Carousel";
|
|
import { slideType } from "../../../Carousel/types";
|
|
import { Fancybox } from "../../Fancybox";
|
|
export type OptionsType = {
|
|
/**
|
|
* Set custom content per slide
|
|
*/
|
|
content?: (instance: Images, slide: slideType) => string | HTMLElement | HTMLPictureElement;
|
|
/**
|
|
* Initial image zoom level, see Panzoom documentation for more information.
|
|
*/
|
|
initialSize: "fit" | "cover" | "full" | "max" | ((instance: Images) => "fit" | "cover" | "full" | "max");
|
|
/**
|
|
* Custom options for Panzoom instance, see Panzoom documentation for more information.
|
|
*/
|
|
Panzoom: Partial<PanzoomOptionsType>;
|
|
/**
|
|
* If the image download needs to be prevented
|
|
*/
|
|
protected: boolean;
|
|
/**
|
|
* If animate an image with zoom in/out animation when launching/closing Fancybox
|
|
*/
|
|
zoom: boolean;
|
|
/**
|
|
* If zoom animation should animate the opacity when launching/closing Fancybox
|
|
*/
|
|
zoomOpacity: "auto" | boolean;
|
|
};
|
|
export declare const defaultOptions: OptionsType;
|
|
declare module "../../../Carousel/types" {
|
|
interface slideType {
|
|
panzoom?: Panzoom;
|
|
imageEl?: HTMLImageElement | HTMLPictureElement;
|
|
srcset?: string;
|
|
sizes?: string;
|
|
}
|
|
}
|
|
declare module "../../../Fancybox/options" {
|
|
interface PluginsOptionsType {
|
|
Images: Boolean | Partial<ImagesOptionsType>;
|
|
}
|
|
}
|
|
export type ImagesOptionsType = Partial<OptionsType>;
|
|
export declare class Images extends Plugin<Fancybox, ImagesOptionsType, ""> {
|
|
static defaults: OptionsType;
|
|
onCreateSlide(_fancybox: Fancybox, _carousel: Carousel, slide: slideType): void;
|
|
onRemoveSlide(_fancybox: Fancybox, _carousel: Carousel, slide: slideType): void;
|
|
onChange(_fancybox: Fancybox, carousel: Carousel, page: number, _prevPage: number): void;
|
|
onClose(): void;
|
|
setContent(slide: slideType, imageSrc: string): Promise<Panzoom>;
|
|
zoomIn(slide: slideType): Promise<Panzoom>;
|
|
getZoomInfo(slide: slideType): false | {
|
|
x: number;
|
|
y: number;
|
|
scale: number;
|
|
opacity: boolean;
|
|
};
|
|
attach(): void;
|
|
detach(): void;
|
|
}
|
|
|