@mhmdhammoud/meritt-utils 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/imagefull.d.ts +23 -0
- package/dist/lib/imagefull.js +43 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +3 -1
- package/imagesloaded.d.ts +66 -0
- package/package.json +3 -2
- package/src/lib/imagefull.ts +41 -0
- package/src/lib/index.ts +1 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare class ImageFull {
|
|
2
|
+
/**
|
|
3
|
+
* @remarks
|
|
4
|
+
* Receives either a className or an id or an element and returns a promise that resolves when all images are loaded
|
|
5
|
+
* @param selector - either a className or an id or an element that contains images
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* .image-container
|
|
9
|
+
* #image-container
|
|
10
|
+
* img //as an element
|
|
11
|
+
*
|
|
12
|
+
* Imagefull.preloadImages('.image-container').then((event) => {
|
|
13
|
+
* do something
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @returns Promise<ImagesLoaded | undefined>
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
preloadImages: (selector: string) => Promise<unknown>;
|
|
21
|
+
}
|
|
22
|
+
declare const imagefull: ImageFull;
|
|
23
|
+
export default imagefull;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const imagesloaded_1 = __importDefault(require("imagesloaded"));
|
|
7
|
+
/*
|
|
8
|
+
Author : Mustafa Halabi https://github.com/mustafahalabi
|
|
9
|
+
Date : 2024-01-29
|
|
10
|
+
Description : Loads images and returns a promise
|
|
11
|
+
Version : 1.0
|
|
12
|
+
*/
|
|
13
|
+
class ImageFull {
|
|
14
|
+
constructor() {
|
|
15
|
+
/**
|
|
16
|
+
* @remarks
|
|
17
|
+
* Receives either a className or an id or an element and returns a promise that resolves when all images are loaded
|
|
18
|
+
* @param selector - either a className or an id or an element that contains images
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* .image-container
|
|
22
|
+
* #image-container
|
|
23
|
+
* img //as an element
|
|
24
|
+
*
|
|
25
|
+
* Imagefull.preloadImages('.image-container').then((event) => {
|
|
26
|
+
* do something
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @returns Promise<ImagesLoaded | undefined>
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
this.preloadImages = (selector) => {
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
(0, imagesloaded_1.default)(document.querySelectorAll(selector), { background: true }, (event) => {
|
|
36
|
+
resolve(event);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const imagefull = new ImageFull();
|
|
43
|
+
exports.default = imagefull;
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Colorful = exports.Pdf = exports.Formatter = exports.Crypto = void 0;
|
|
6
|
+
exports.ImageFull = exports.Colorful = exports.Pdf = exports.Formatter = exports.Crypto = void 0;
|
|
7
7
|
var cypto_1 = require("./cypto");
|
|
8
8
|
Object.defineProperty(exports, "Crypto", { enumerable: true, get: function () { return __importDefault(cypto_1).default; } });
|
|
9
9
|
var formatter_1 = require("./formatter");
|
|
@@ -12,3 +12,5 @@ var formatter_2 = require("./formatter");
|
|
|
12
12
|
Object.defineProperty(exports, "Pdf", { enumerable: true, get: function () { return __importDefault(formatter_2).default; } });
|
|
13
13
|
var colorful_1 = require("./colorful");
|
|
14
14
|
Object.defineProperty(exports, "Colorful", { enumerable: true, get: function () { return __importDefault(colorful_1).default; } });
|
|
15
|
+
var imagefull_1 = require("./imagefull");
|
|
16
|
+
Object.defineProperty(exports, "ImageFull", { enumerable: true, get: function () { return __importDefault(imagefull_1).default; } });
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/// <reference types="jquery" />
|
|
2
|
+
|
|
3
|
+
declare namespace ImagesLoaded {
|
|
4
|
+
type ElementSelector = Element | NodeList | Element[] | string
|
|
5
|
+
|
|
6
|
+
/** interface for an image currently loading or completed */
|
|
7
|
+
interface LoadingImage {
|
|
8
|
+
img: HTMLImageElement
|
|
9
|
+
isLoaded: boolean
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface ImagesLoadedCallback {
|
|
13
|
+
(instance?: ImagesLoaded): void
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface ImagesLoadedListener {
|
|
17
|
+
(instance: ImagesLoaded, image?: LoadingImage): void
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
interface ImagesLoaded {
|
|
21
|
+
new (elem: ElementSelector, callback: ImagesLoadedCallback): ImagesLoaded
|
|
22
|
+
|
|
23
|
+
images: LoadingImage[]
|
|
24
|
+
|
|
25
|
+
// event listeners
|
|
26
|
+
on(event: string, listener: ImagesLoadedListener): void
|
|
27
|
+
off(event: string, listener: ImagesLoadedListener): void
|
|
28
|
+
once(event: string, listener: ImagesLoadedListener): void
|
|
29
|
+
progressedCount: number | undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface ImagesLoadedOptions {
|
|
33
|
+
background: true | string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface ImagesLoadedConstructor {
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new ImagesLoaded object with the provided callback
|
|
39
|
+
* @param elem Element, NodeList, Element array, or selector string for images to watch
|
|
40
|
+
* @param options object that can tell imagesloaded to watch background images as well
|
|
41
|
+
* @param callback function triggered after all images have been loaded
|
|
42
|
+
*/
|
|
43
|
+
(
|
|
44
|
+
elem: ElementSelector,
|
|
45
|
+
options: ImagesLoadedOptions,
|
|
46
|
+
callback?: ImagesLoadedCallback
|
|
47
|
+
): ImagesLoaded
|
|
48
|
+
(elem: ElementSelector, callback?: ImagesLoadedCallback): ImagesLoaded
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare var imagesLoaded: ImagesLoaded.ImagesLoadedConstructor
|
|
53
|
+
|
|
54
|
+
declare module 'imagesloaded' {
|
|
55
|
+
export = imagesLoaded
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface JQuery {
|
|
59
|
+
imagesLoaded(
|
|
60
|
+
callback?: ImagesLoaded.ImagesLoadedCallback
|
|
61
|
+
): JQueryDeferred<ImagesLoaded.ImagesLoaded>
|
|
62
|
+
imagesLoaded(
|
|
63
|
+
options: ImagesLoaded.ImagesLoadedOptions,
|
|
64
|
+
callback?: ImagesLoaded.ImagesLoadedCallback
|
|
65
|
+
): JQueryDeferred<ImagesLoaded.ImagesLoaded>
|
|
66
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mhmdhammoud/meritt-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"author": "Mhmdhammoud",
|
|
40
40
|
"license": "ISC",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"axios": "^1.4.0"
|
|
42
|
+
"axios": "^1.4.0",
|
|
43
|
+
"imagesloaded": "^5.0.0"
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import imagesLoaded from 'imagesloaded'
|
|
2
|
+
/*
|
|
3
|
+
Author : Mustafa Halabi https://github.com/mustafahalabi
|
|
4
|
+
Date : 2024-01-29
|
|
5
|
+
Description : Loads images and returns a promise
|
|
6
|
+
Version : 1.0
|
|
7
|
+
*/
|
|
8
|
+
class ImageFull {
|
|
9
|
+
/**
|
|
10
|
+
* @remarks
|
|
11
|
+
* Receives either a className or an id or an element and returns a promise that resolves when all images are loaded
|
|
12
|
+
* @param selector - either a className or an id or an element that contains images
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* .image-container
|
|
16
|
+
* #image-container
|
|
17
|
+
* img //as an element
|
|
18
|
+
*
|
|
19
|
+
* Imagefull.preloadImages('.image-container').then((event) => {
|
|
20
|
+
* do something
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @returns Promise<ImagesLoaded | undefined>
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
preloadImages = (selector: string) => {
|
|
28
|
+
return new Promise((resolve) => {
|
|
29
|
+
imagesLoaded(
|
|
30
|
+
document.querySelectorAll(selector),
|
|
31
|
+
{background: true},
|
|
32
|
+
(event) => {
|
|
33
|
+
resolve(event)
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const imagefull = new ImageFull()
|
|
41
|
+
export default imagefull
|
package/src/lib/index.ts
CHANGED