From dac97776d39c582d9063a0f3aa0de41b65412571 Mon Sep 17 00:00:00 2001 From: Chris Charabaruk Date: Thu, 13 Aug 2015 11:36:16 -0400 Subject: [PATCH] imagesLoaded (npm, bower: imagesloaded) definitions --- imagesloaded/imagesloaded.d.ts | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 imagesloaded/imagesloaded.d.ts diff --git a/imagesloaded/imagesloaded.d.ts b/imagesloaded/imagesloaded.d.ts new file mode 100644 index 000000000..31cd0b7a6 --- /dev/null +++ b/imagesloaded/imagesloaded.d.ts @@ -0,0 +1,53 @@ +// Type definitions for imagesLoaded 3.1.8+ +// Project: https://github.com/desandro/imagesloaded +// Definitions by: Chris Charabaruk +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module ImagesLoaded { + type ElementSelector = Element | NodeList | Array | string; + + /** interface for an image currently loading or completed */ + interface LoadingImage { + img: HTMLImageElement; + isLoaded: boolean; + } + + interface ImagesLoadedCallback { + (instance?: ImagesLoaded): void; + } + + interface ImagesLoadedListener { + (instance: ImagesLoaded, image?: LoadingImage): void; + } + + interface ImagesLoaded { + new (elem: ElementSelector, callback: ImagesLoadedCallback): ImagesLoaded; + + images: Array; + + // event listeners + on(event: string, listener: ImagesLoadedListener): void; + off(event: string, listener: ImagesLoadedListener): void; + } + + interface ImagesLoadedConstructor { + /** + * Creates a new ImagesLoaded object with the provided callback + * @param elem Element, NodeList, Element array, or selector string for images to watch + * @param callback function triggered after all images have been loaded + */ + (elem: ElementSelector, callback?: ImagesLoadedCallback): ImagesLoaded; + } +} + +declare var imagesLoaded: ImagesLoaded.ImagesLoadedConstructor; + +declare module 'imagesloaded' { + export = imagesLoaded; +} + +interface JQuery { + imagesLoaded(callback?: ImagesLoaded.ImagesLoadedCallback): JQueryDeferred; +}