1!(function (n, t) { 2 'object' == typeof exports && 'undefined' != typeof module 3 ? (module.exports = t()) 4 : 'function' == typeof define && define.amd 5 ? define(t) 6 : ((n = 7 'undefined' != typeof globalThis ? globalThis : n || self).LazyLoad = 8 t()); 9})(this, function () { 10 'use strict'; 11 function n() { 12 return ( 13 (n = 14 Object.assign || 15 function (n) { 16 for (var t = 1; t < arguments.length; t++) { 17 var e = arguments[t]; 18 for (var i in e) 19 Object.prototype.hasOwnProperty.call(e, i) && (n[i] = e[i]); 20 } 21 return n; 22 }), 23 n.apply(this, arguments) 24 ); 25 } 26 var t = 'undefined' != typeof window, 27 e = 28 (t && !('onscroll' in window)) || 29 ('undefined' != typeof navigator && 30 /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent)), 31 i = t && 'IntersectionObserver' in window, 32 o = t && 'classList' in document.createElement('p'), 33 a = t && window.devicePixelRatio > 1, 34 r = { 35 elements_selector: '.lazy', 36 container: e || t ? document : null, 37 threshold: 300, 38 thresholds: null, 39 data_src: 'src', 40 data_srcset: 'srcset', 41 data_sizes: 'sizes', 42 data_bg: 'bg', 43 data_bg_hidpi: 'bg-hidpi', 44 data_bg_multi: 'bg-multi', 45 data_bg_multi_hidpi: 'bg-multi-hidpi', 46 data_bg_set: 'bg-set', 47 data_poster: 'poster', 48 class_applied: 'applied', 49 class_loading: 'loading', 50 class_loaded: 'loaded', 51 class_error: 'error', 52 class_entered: 'entered', 53 class_exited: 'exited', 54 unobserve_completed: !0, 55 unobserve_entered: !1, 56 cancel_on_exit: !0, 57 callback_enter: null, 58 callback_exit: null, 59 callback_applied: null, 60 callback_loading: null, 61 callback_loaded: null, 62 callback_error: null, 63 callback_finish: null, 64 callback_cancel: null, 65 use_native: !1, 66 restore_on_error: !1, 67 }, 68 c = function (t) { 69 return n({}, r, t); 70 }, 71 l = function (n, t) { 72 var e, 73 i = 'LazyLoad::Initialized', 74 o = new n(t);
75 try { 76 e = new CustomEvent(i, { detail: { instance: o } }); 77 } catch (n) { 78 (e = document.createEvent('CustomEvent')).initCustomEvent(i, !1, !1, { 79 instance: o, 80 }); 81 } 82 window.dispatchEvent(e); 83 }, 84 u = 'src', 85 s = 'srcset', 86 d = 'sizes', 87 f = 'poster', 88 _ = 'llOriginalAttrs', 89 g = 'data', 90 v = 'loading', 91 b = 'loaded', 92 p = 'applied', 93 m = 'error', 94 h = 'native', 95 E = 'data-', 96 I = 'll-status', 97 y = function (n, t) { 98 return n.getAttribute(E + t); 99 }, 100 k = function (n) { 101 return y(n, I); 102 }, 103 w = function (n, t) { 104 return (function (n, t, e) { 105 var i = 'data-ll-status'; 106 null !== e ? n.setAttribute(i, e) : n.removeAttribute(i); 107 })(n, 0, t); 108 }, 109 A = function (n) { 110 return w(n, null); 111 }, 112 L = function (n) { 113 return null === k(n); 114 }, 115 O = function (n) { 116 return k(n) === h; 117 }, 118 x = [v, b, p, m], 119 C = function (n, t, e, i) { 120 n && 121 'function' == typeof n && 122 (void 0 === i ? (void 0 === e ? n(t) : n(t, e)) : n(t, e, i)); 123 }, 124 N = function (n, t) { 125 o ? n.classList.add(t) : (n.className += (n.className ? ' ' : '') + t); 126 }, 127 M = function (n, t) { 128 o 129 ? n.classList.remove(t) 130 : (n.className = n.className 131 .replace(new RegExp('(^|\\s+)' + t + '(\\s+|$)'), ' ') 132 .replace(/^\s+/, '') 133 .replace(/\s+$/, '')); 134 }, 135 z = function (n) { 136 return n.llTempImage; 137 }, 138 T = function (n, t) { 139 if (t) { 140 var e = t._observer; 141 e && e.unobserve(n); 142 } 143 }, 144 R = function (n, t) { 145 n && (n.loadingCount += t); 146 }, 147 G = function (n, t) { 148 n && (n.toLoadCount = t); 149 }, 150 j = function (n) { 151 for (var t, e = [], i = 0; (t = n.children[i]); i += 1) 152 'SOURCE' === t.tagName && e.push(t); 153 return e; 154 }, 155 D = function (n, t) { 156 var e = n.parentNode; 157 e && 'PICTURE' === e.tagName && j(e).forEach(t); 158 }, 159 H = function (n, t) { 160 j(n).forEach(t); 161 }, 162 V = [u], 163 F = [u, f], 164 B = [u, s, d], 165 J = [g], 166 P = function (n) { 167 return !!n[_]; 168 }, 169 S = function (n) { 170 return n[_]; 171 }, 172 U = function (n) { 173 return delete n[_]; 174 }, 175 $ = function (n, t) { 176 if (!P(n)) { 177 var e = {}; 178 t.forEach(function (t) { 179 e[t] = n.getAttribute(t); 180 }), 181 (n[_] = e); 182 } 183 }, 184 q = function (n, t) { 185 if (P(n)) { 186 var e = S(n); 187 t.forEach(function (t) { 188 !(function (n, t, e) { 189 e ? n.setAttribute(t, e) : n.removeAttribute(t); 190 })(n, t, e[t]); 191 }); 192 } 193 }, 194 K = function (n, t, e) { 195 N(n, t.class_applied), 196 w(n, p), 197 e && (t.unobserve_completed && T(n, t), C(t.callback_applied, n, e)); 198 }, 199 Q = function (n, t, e) { 200 N(n, t.class_loading), 201 w(n, v), 202 e && (R(e, 1), C(t.callback_loading, n, e)); 203 }, 204 W = function (n, t, e) { 205 e && n.setAttribute(t, e); 206 }, 207 X = function (n, t) { 208 W(n, d, y(n, t.data_sizes)), 209 W(n, s, y(n, t.data_srcset)), 210 W(n, u, y(n, t.data_src)); 211 }, 212 Y = { 213 IMG: function (n, t) { 214 D(n, function (n) { 215 $(n, B), X(n, t); 216 }), 217 $(n, B), 218 X(n, t); 219 }, 220 IFRAME: function (n, t) { 221 $(n, V), W(n, u, y(n, t.data_src)); 222 }, 223 VIDEO: function (n, t) { 224 H(n, function (n) { 225 $(n, V), W(n, u, y(n, t.data_src)); 226 }), 227 $(n, F), 228 W(n, f, y(n, t.data_poster)), 229 W(n, u, y(n, t.data_src)), 230 n.load(); 231 }, 232 OBJECT: function (n, t) { 233 $(n, J), W(n, g, y(n, t.data_src)); 234 }, 235 }, 236 Z = ['IMG', 'IFRAME', 'VIDEO', 'OBJECT'], 237 nn = function (n, t) { 238 !t || 239 (function (n) { 240 return n.loadingCount > 0; 241 })(t) || 242 (function (n) { 243 return n.toLoadCount > 0; 244 })(t) || 245 C(n.callback_finish, t); 246 }, 247 tn = function (n, t, e) { 248 n.addEventListener(t, e), (n.llEvLisnrs[t] = e); 249 }, 250 en = function (n, t, e) { 251 n.removeEventListener(t, e); 252 }, 253 on = function (n) { 254 return !!n.llEvLisnrs; 255 }, 256 an = function (n) { 257 if (on(n)) { 258 var t = n.llEvLisnrs; 259 for (var e in t) { 260 var i = t[e]; 261 en(n, e, i); 262 } 263 delete n.llEvLisnrs; 264 } 265 }, 266 rn = function (n, t, e) { 267 !(function (n) { 268 delete n.llTempImage; 269 })(n), 270 R(e, -1), 271 (function (n) { 272 n && (n.toLoadCount -= 1); 273 })(e), 274 M(n, t.class_loading), 275 t.unobserve_completed && T(n, e); 276 }, 277 cn = function (n, t, e) { 278 var i = z(n) || n; 279 on(i) || 280 (function (n, t, e) { 281 on(n) || (n.llEvLisnrs = {}); 282 var i = 'VIDEO' === n.tagName ? 'loadeddata' : 'load'; 283 tn(n, i, t), tn(n, 'error', e); 284 })( 285 i, 286 function (o) { 287 !(function (n, t, e, i) { 288 var o = O(t); 289 rn(t, e, i), 290 N(t, e.class_loaded), 291 w(t, b), 292 C(e.callback_loaded, t, i), 293 o || nn(e, i); 294 })(0, n, t, e), 295 an(i); 296 }, 297 function (o) { 298 !(function (n, t, e, i) { 299 var o = O(t); 300 rn(t, e, i), 301 N(t, e.class_error), 302 w(t, m), 303 C(e.callback_error, t, i), 304 e.restore_on_error && q(t, B), 305 o || nn(e, i); 306 })(0, n, t, e), 307 an(i); 308 } 309 ); 310 }, 311 ln = function (n, t, e) { 312 !(function (n) { 313 return Z.indexOf(n.tagName) > -1; 314 })(n) 315 ? (function (n, t, e) { 316 !(function (n) { 317 n.llTempImage = document.createElement('IMG'); 318 })(n), 319 cn(n, t, e), 320 (function (n) { 321 P(n) || (n[_] = { backgroundImage: n.style.backgroundImage }); 322 })(n), 323 (function (n, t, e) { 324 var i = y(n, t.data_bg), 325 o = y(n, t.data_bg_hidpi), 326 r = a && o ? o : i; 327 r && 328 ((n.style.backgroundImage = 'url("'.concat(r, '")')), 329 z(n).setAttribute(u, r), 330 Q(n, t, e)); 331 })(n, t, e), 332 (function (n, t, e) { 333 var i = y(n, t.data_bg_multi), 334 o = y(n, t.data_bg_multi_hidpi), 335 r = a && o ? o : i; 336 r && ((n.style.backgroundImage = r), K(n, t, e)); 337 })(n, t, e), 338 (function (n, t, e) { 339 var i = y(n, t.data_bg_set); 340 if (i) { 341 var o = i.split('|'), 342 a = o.map(function (n) { 343 return 'image-set('.concat(n, ')'); 344 }); 345 (n.style.backgroundImage = a.join()), 346 '' === n.style.backgroundImage && 347 ((a = o.map(function (n) { 348 return '-webkit-image-set('.concat(n, ')'); 349 })), 350 (n.style.backgroundImage = a.join())), 351 K(n, t, e); 352 } 353 })(n, t, e); 354 })(n, t, e) 355 : (function (n, t, e) { 356 cn(n, t, e), 357 (function (n, t, e) { 358 var i = Y[n.tagName]; 359 i && (i(n, t), Q(n, t, e)); 360 })(n, t, e); 361 })(n, t, e); 362 }, 363 un = function (n) { 364 n.removeAttribute(u), n.removeAttribute(s), n.removeAttribute(d); 365 }, 366 sn = function (n) { 367 D(n, function (n) { 368 q(n, B); 369 }), 370 q(n, B); 371 }, 372 dn = { 373 IMG: sn, 374 IFRAME: function (n) { 375 q(n, V); 376 }, 377 VIDEO: function (n) { 378 H(n, function (n) { 379 q(n, V); 380 }), 381 q(n, F), 382 n.load(); 383 }, 384 OBJECT: function (n) { 385 q(n, J); 386 }, 387 }, 388 fn = function (n, t) { 389 (function (n) { 390 var t = dn[n.tagName]; 391 t 392 ? t(n) 393 : (function (n) { 394 if (P(n)) { 395 var t = S(n); 396 n.style.backgroundImage = t.backgroundImage; 397 } 398 })(n); 399 })(n), 400 (function (n, t) { 401 L(n) || 402 O(n) || 403 (M(n, t.class_entered), 404 M(n, t.class_exited), 405 M(n, t.class_applied), 406 M(n, t.class_loading), 407 M(n, t.class_loaded), 408 M(n, t.class_error)); 409 })(n, t), 410 A(n), 411 U(n); 412 }, 413 _n = ['IMG', 'IFRAME', 'VIDEO'], 414 gn = function (n) { 415 return n.use_native && 'loading' in HTMLImageElement.prototype; 416 }, 417 vn = function (n, t, e) {
418 n.forEach(function (n) { 419 return (function (n) { 420 return n.isIntersecting || n.intersectionRatio > 0; 421 })(n) 422 ? (function (n, t, e, i) { 423 var o = (function (n) { 424 return x.indexOf(k(n)) >= 0; 425 })(n); 426 w(n, 'entered'), 427 N(n, e.class_entered), 428 M(n, e.class_exited), 429 (function (n, t, e) { 430 t.unobserve_entered && T(n, e); 431 })(n, e, i), 432 C(e.callback_enter, n, t, i), 433 o || ln(n, e, i); 434 })(n.target, n, t, e) 435 : (function (n, t, e, i) { 436 L(n) || 437 (N(n, e.class_exited), 438 (function (n, t, e, i) { 439 e.cancel_on_exit && 440 (function (n) { 441 return k(n) === v; 442 })(n) && 443 'IMG' === n.tagName && 444 (an(n), 445 (function (n) { 446 D(n, function (n) { 447 un(n); 448 }), 449 un(n); 450 })(n), 451 sn(n), 452 M(n, e.class_loading), 453 R(i, -1), 454 A(n), 455 C(e.callback_cancel, n, t, i)); 456 })(n, t, e, i), 457 C(e.callback_exit, n, t, i)); 458 })(n.target, n, t, e); 459 }); 460 }, 461 bn = function (n) { 462 return Array.prototype.slice.call(n); 463 }, 464 pn = function (n) { 465 return n.container.querySelectorAll(n.elements_selector); 466 }, 467 mn = function (n) { 468 return (function (n) { 469 return k(n) === m; 470 })(n); 471 }, 472 hn = function (n, t) { 473 return (function (n) { 474 return bn(n).filter(L); 475 })(n || pn(t)); 476 }, 477 En = function (n, e) { 478 var o = c(n); 479 (this._settings = o), 480 (this.loadingCount = 0), 481 (function (n, t) { 482 i && 483 !gn(n) && 484 (t._observer = new IntersectionObserver( 485 function (e) { 486 vn(e, n, t); 487 }, 488 (function (n) { 489 return { 490 root: n.container === document ? null : n.container, 491 rootMargin: n.thresholds || n.threshold + 'px', 492 }; 493 })(n) 494 )); 495 })(o, this), 496 (function (n, e) { 497 t && 498 ((e._onlineHandler = function () { 499 !(function (n, t) { 500 var e; 501 ((e = pn(n)), bn(e).filter(mn)).forEach(function (t) { 502 M(t, n.class_error), A(t); 503 }), 504 t.update(); 505 })(n, e); 506 }), 507 window.addEventListener('online', e._onlineHandler)); 508 })(o, this), 509 this.update(e); 510 }; 511 return ( 512 (En.prototype = { 513 update: function (n) { 514 var t, 515 o, 516 a = this._settings, 517 r = hn(n, a); 518 G(this, r.length), 519 !e && i 520 ? gn(a) 521 ? (function (n, t, e) { 522 n.forEach(function (n) { 523 -1 !== _n.indexOf(n.tagName) && 524 (function (n, t, e) { 525 n.setAttribute('loading', 'lazy'), 526 cn(n, t, e), 527 (function (n, t) { 528 var e = Y[n.tagName]; 529 e && e(n, t); 530 })(n, t), 531 w(n, h); 532 })(n, t, e); 533 }), 534 G(e, 0); 535 })(r, a, this) 536 : ((o = r), 537 (function (n) { 538 n.disconnect(); 539 })((t = this._observer)), 540 (function (n, t) { 541 t.forEach(function (t) { 542 n.observe(t); 543 }); 544 })(t, o)) 545 : this.loadAll(r); 546 }, 547 destroy: function () { 548 this._observer && this._observer.disconnect(), 549 t && window.removeEventListener('online', this._onlineHandler),
550 pn(this._settings).forEach(function (n) { 551 U(n); 552 }), 553 delete this._observer, 554 delete this._settings, 555 delete this._onlineHandler, 556 delete this.loadingCount, 557 delete this.toLoadCount; 558 }, 559 loadAll: function (n) { 560 var t = this, 561 e = this._settings; 562 hn(n, e).forEach(function (n) { 563 T(n, t), ln(n, e, t); 564 }); 565 }, 566 restoreAll: function () { 567 var n = this._settings; 568 pn(n).forEach(function (t) { 569 fn(t, n); 570 }); 571 }, 572 }), 573 (En.load = function (n, t) { 574 var e = c(t); 575 ln(n, e); 576 }), 577 (En.resetStatus = function (n) { 578 A(n); 579 }), 580 t && 581 (function (n, t) { 582 if (t) 583 if (t.length) for (var e, i = 0; (e = t[i]); i += 1) l(n, e); 584 else l(n, t); 585 })(En, window.lazyLoadOptions), 586 En 587 ); 588});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.