Files
doormile-site/assets/js/imagesloaded.min.js
2026-04-07 17:29:58 +05:30

256 lines
7.7 KiB
JavaScript

/*! This file is auto-generated */
/*!
* imagesLoaded PACKAGED v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
!function(t, e) {
"object" == typeof module && module.exports ? module.exports = e() : t.EvEmitter = e()
}("undefined" != typeof window ? window : this, (function() {
function t() {}
let e = t.prototype;
return e.on = function(t, e) {
if (!t || !e)
return this;
let i = this._events = this._events || {}
, s = i[t] = i[t] || [];
return s.includes(e) || s.push(e),
this
}
,
e.once = function(t, e) {
if (!t || !e)
return this;
this.on(t, e);
let i = this._onceEvents = this._onceEvents || {};
return (i[t] = i[t] || {})[e] = !0,
this
}
,
e.off = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length)
return this;
let s = i.indexOf(e);
return -1 != s && i.splice(s, 1),
this
}
,
e.emitEvent = function(t, e) {
let i = this._events && this._events[t];
if (!i || !i.length)
return this;
i = i.slice(0),
e = e || [];
let s = this._onceEvents && this._onceEvents[t];
for (let n of i) {
s && s[n] && (this.off(t, n),
delete s[n]),
n.apply(this, e)
}
return this
}
,
e.allOff = function() {
return delete this._events,
delete this._onceEvents,
this
}
,
t
}
)),
/*!
* imagesLoaded v5.0.0
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
function(t, e) {
"object" == typeof module && module.exports ? module.exports = e(t, require("ev-emitter")) : t.imagesLoaded = e(t, t.EvEmitter)
}("undefined" != typeof window ? window : this, (function(t, e) {
let i = t.jQuery
, s = t.console;
function n(t, e, o) {
if (!(this instanceof n))
return new n(t,e,o);
let r = t;
var h;
("string" == typeof t && (r = document.querySelectorAll(t)),
r) ? (this.elements = (h = r,
Array.isArray(h) ? h : "object" == typeof h && "number" == typeof h.length ? [...h] : [h]),
this.options = {},
"function" == typeof e ? o = e : Object.assign(this.options, e),
o && this.on("always", o),
this.getImages(),
i && (this.jqDeferred = new i.Deferred),
setTimeout(this.check.bind(this))) : s.error(`Bad element for imagesLoaded ${r || t}`)
}
n.prototype = Object.create(e.prototype),
n.prototype.getImages = function() {
this.images = [],
this.elements.forEach(this.addElementImages, this)
}
;
const o = [1, 9, 11];
n.prototype.addElementImages = function(t) {
"IMG" === t.nodeName && this.addImage(t),
!0 === this.options.background && this.addElementBackgroundImages(t);
let {nodeType: e} = t;
if (!e || !o.includes(e))
return;
let i = t.querySelectorAll("img");
for (let t of i)
this.addImage(t);
if ("string" == typeof this.options.background) {
let e = t.querySelectorAll(this.options.background);
for (let t of e)
this.addElementBackgroundImages(t)
}
}
;
const r = /url\((['"])?(.*?)\1\)/gi;
function h(t) {
this.img = t
}
function d(t, e) {
this.url = t,
this.element = e,
this.img = new Image
}
return n.prototype.addElementBackgroundImages = function(t) {
let e = getComputedStyle(t);
if (!e)
return;
let i = r.exec(e.backgroundImage);
for (; null !== i; ) {
let s = i && i[2];
s && this.addBackground(s, t),
i = r.exec(e.backgroundImage)
}
}
,
n.prototype.addImage = function(t) {
let e = new h(t);
this.images.push(e)
}
,
n.prototype.addBackground = function(t, e) {
let i = new d(t,e);
this.images.push(i)
}
,
n.prototype.check = function() {
if (this.progressedCount = 0,
this.hasAnyBroken = !1,
!this.images.length)
return void this.complete();
let t = (t, e, i) => {
setTimeout(( () => {
this.progress(t, e, i)
}
))
}
;
this.images.forEach((function(e) {
e.once("progress", t),
e.check()
}
))
}
,
n.prototype.progress = function(t, e, i) {
this.progressedCount++,
this.hasAnyBroken = this.hasAnyBroken || !t.isLoaded,
this.emitEvent("progress", [this, t, e]),
this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, t),
this.progressedCount === this.images.length && this.complete(),
this.options.debug && s && s.log(`progress: ${i}`, t, e)
}
,
n.prototype.complete = function() {
let t = this.hasAnyBroken ? "fail" : "done";
if (this.isComplete = !0,
this.emitEvent(t, [this]),
this.emitEvent("always", [this]),
this.jqDeferred) {
let t = this.hasAnyBroken ? "reject" : "resolve";
this.jqDeferred[t](this)
}
}
,
h.prototype = Object.create(e.prototype),
h.prototype.check = function() {
this.getIsImageComplete() ? this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image,
this.img.crossOrigin && (this.proxyImage.crossOrigin = this.img.crossOrigin),
this.proxyImage.addEventListener("load", this),
this.proxyImage.addEventListener("error", this),
this.img.addEventListener("load", this),
this.img.addEventListener("error", this),
this.proxyImage.src = this.img.currentSrc || this.img.src)
}
,
h.prototype.getIsImageComplete = function() {
return this.img.complete && this.img.naturalWidth
}
,
h.prototype.confirm = function(t, e) {
this.isLoaded = t;
let {parentNode: i} = this.img
, s = "PICTURE" === i.nodeName ? i : this.img;
this.emitEvent("progress", [this, s, e])
}
,
h.prototype.handleEvent = function(t) {
let e = "on" + t.type;
this[e] && this[e](t)
}
,
h.prototype.onload = function() {
this.confirm(!0, "onload"),
this.unbindEvents()
}
,
h.prototype.onerror = function() {
this.confirm(!1, "onerror"),
this.unbindEvents()
}
,
h.prototype.unbindEvents = function() {
this.proxyImage.removeEventListener("load", this),
this.proxyImage.removeEventListener("error", this),
this.img.removeEventListener("load", this),
this.img.removeEventListener("error", this)
}
,
d.prototype = Object.create(h.prototype),
d.prototype.check = function() {
this.img.addEventListener("load", this),
this.img.addEventListener("error", this),
this.img.src = this.url,
this.getIsImageComplete() && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"),
this.unbindEvents())
}
,
d.prototype.unbindEvents = function() {
this.img.removeEventListener("load", this),
this.img.removeEventListener("error", this)
}
,
d.prototype.confirm = function(t, e) {
this.isLoaded = t,
this.emitEvent("progress", [this, this.element, e])
}
,
n.makeJQueryPlugin = function(e) {
(e = e || t.jQuery) && (i = e,
i.fn.imagesLoaded = function(t, e) {
return new n(this,t,e).jqDeferred.promise(i(this))
}
)
}
,
n.makeJQueryPlugin(),
n
}
));