1/**! 2 * lightgallery.js | 1.4.0 | October 13th 2020 3 * http://sachinchoolur.github.io/lightgallery.js/ 4 * Copyright (c) 2016 Sachin N; 5 * @license GPLv3 6 */ 7!(function(e) { 8 if ("object" == typeof exports && "undefined" != typeof module) 9 module.exports = e(); 10 else if ("function" == typeof define && define.amd) define([], e); 11 else { 12 var t; 13 (t = 14 "undefined" != typeof window ? 15 window : 16 "undefined" != typeof global ? 17 global : 18 "undefined" != typeof self ? 19 self : 20 this), 21 (t.Lightgallery = e()); 22 } 23})(function() { 24 var e, t, s; 25 return (function() { 26 function e(t, s, l) { 27 function i(r, a) { 28 if (!s[r]) { 29 if (!t[r]) { 30 var d = "function" == typeof require && require; 31 if (!a && d) return d(r, !0); 32 if (o) return o(r, !0); 33 var n = new Error("Cannot find module '" + r + "'"); 34 throw ((n.code = "MODULE_NOT_FOUND"), n); 35 } 36 var u = (s[r] = { exports: {} }); 37 t[r][0].call( 38 u.exports, 39 function(e) { 40 return i(t[r][1][e] || e); 41 }, 42 u, 43 u.exports, 44 e, 45 t, 46 s, 47 l 48 ); 49 } 50 return s[r].exports; 51 } 52 for ( 53 var o = "function" == typeof require && require, r = 0; r < l.length; r++ 54 ) 55 i(l[r]); 56 return i; 57 } 58 return e; 59 })()({ 60 1: [ 61 function(t, s, l) { 62 !(function(t, s) { 63 if ("function" == typeof e && e.amd) e(["exports"], s); 64 else if (void 0 !== l) s(l); 65 else { 66 var i = { exports: {} }; 67 s(i.exports), (t.lgUtils = i.exports); 68 } 69 })(this, function(e) { 70 "use strict"; 71 Object.defineProperty(e, "__esModule", { value: !0 }); 72 var t = { 73 getAttribute: function e(t, s) { 74 return t[s]; 75 }, 76 setAttribute: function e(t, s, l) { 77 t[s] = l; 78 }, 79 wrap: function e(t, s) { 80 if (t) { 81 var l = document.createElement("div"); 82 (l.className = s), 83 t.parentNode.insertBefore(l, t), 84 t.parentNode.removeChild(t), 85 l.appendChild(t); 86 } 87 }, 88 addClass: function e(t, s) { 89 t && 90 (t.classList ? t.classList.add(s) : (t.className += " " + s)); 91 }, 92 removeClass: function e(t, s) { 93 t && 94 (t.classList ? 95 t.classList.remove(s) : 96 (t.className = t.className.replace( 97 new RegExp( 98 "(^|\\b)" + s.split(" ").join("|") + "(\\b|$)", 99 "gi" 100 ), 101 " " 102 ))); 103 }, 104 hasClass: function e(t, s) { 105 return t.classList ? 106 t.classList.contains(s) : 107 new RegExp("(^| )" + s + "( |$)", "gi").test(t.className); 108 }, 109 setVendor: function e(t, s, l) { 110 t && 111 ((t.style[s.charAt(0).toLowerCase() + s.slice(1)] = l), 112 (t.style["webkit" + s] = l), 113 (t.style["moz" + s] = l), 114 (t.style["ms" + s] = l), 115 (t.style["o" + s] = l)); 116 }, 117 trigger: function e(t, s) { 118 var l = 119 arguments.length > 2 && void 0 !== arguments[2] ? 120 arguments[2] : 121 null; 122 if (t) { 123 var i = new CustomEvent(s, { detail: l }); 124 t.dispatchEvent(i); 125 } 126 }, 127 Listener: { uid: 0 }, 128 on: function e(s, l, i) { 129 var o = this; 130 s && 131 l.split(" ").forEach(function(e) { 132 var l = o.getAttribute(s, "lg-event-uid") || ""; 133 t.Listener.uid++, 134 (l += "&" + t.Listener.uid), 135 o.setAttribute(s, "lg-event-uid", l), 136 (t.Listener[e + t.Listener.uid] = i), 137 s.addEventListener(e.split(".")[0], i, !1); 138 }); 139 }, 140 off: function e(s, l) { 141 if (s) { 142 var i = this.getAttribute(s, "lg-event-uid"); 143 if (i) { 144 i = i.split("&"); 145 for (var o = 0; o < i.length; o++) 146 if (i[o]) { 147 var r = l + i[o]; 148 if ("." === r.substring(0, 1)) 149 for (var a in t.Listener) 150 t.Listener.hasOwnProperty(a) && 151 a.split(".").indexOf(r.split(".")[1]) > -1 && 152 (s.removeEventListener( 153 a.split(".")[0], 154 t.Listener[a] 155 ), 156 this.setAttribute( 157 s, 158 "lg-event-uid", 159 this.getAttribute(s, "lg-event-uid").replace( 160 "&" + i[o], 161 "" 162 ) 163 ), 164 delete t.Listener[a]); 165 else 166 s.removeEventListener(r.split(".")[0], t.Listener[r]), 167 this.setAttribute( 168 s, 169 "lg-event-uid", 170 this.getAttribute(s, "lg-event-uid").replace( 171 "&" + i[o], 172 "" 173 ) 174 ), 175 delete t.Listener[r]; 176 } 177 } 178 } 179 }, 180 param: function e(t) { 181 return Object.keys(t) 182 .map(function(e) { 183 return ( 184 encodeURIComponent(e) + "=" + encodeURIComponent(t[e]) 185 ); 186 }) 187 .join("&"); 188 }, 189 }; 190 e.default = t; 191 }); 192 }, 193 {}, 194 ], 195 2: [ 196 function(t, s, l) { 197 !(function(s, i) { 198 if ("function" == typeof e && e.amd) e(["./lg-utils"], i); 199 else if (void 0 !== l) i(t("./lg-utils")); 200 else { 201 var o = { exports: {} }; 202 i(s.lgUtils), (s.lightgallery = o.exports
202); 203 } 204 })(this, function(e) { 205 "use strict"; 206 207 function t(e) { 208 return e && e.__esModule ? e : { default: e }; 209 } 210 211 function s(e, t) { 212 if ( 213 ((this.el = e), 214 (this.s = i({}, o, t)), 215 this.s.dynamic && 216 "undefined" !== this.s.dynamicEl && 217 this.s.dynamicEl.constructor === Array && 218 !this.s.dynamicEl.length) 219 ) 220 throw "When using dynamic mode, you must also define dynamicEl as an Array."; 221 return ( 222 (this.modules = {}), 223 (this.lGalleryOn = !1), 224 (this.lgBusy = !1), 225 (this.hideBartimeout = !1), 226 (this.isTouch = "ontouchstart" in document.documentElement), 227 this.s.slideEndAnimatoin && (this.s.hideControlOnEnd = !1), 228 (this.items = []), 229 this.s.dynamic ? 230 (this.items = this.s.dynamicEl) : 231 "this" === this.s.selector ? 232 this.items.push(this.el) : 233 "" !== this.s.selector ? 234 this.s.selectWithin ? 235 (this.items = document 236 .querySelector(this.s.selectWithin) 237 .querySelectorAll(this.s.selector)) : 238 (this.items = this.el.querySelectorAll(this.s.selector)) : 239 (this.items = this.el.children), 240 (this.___slide = ""), 241 (this.outer = ""), 242 this.init(), 243 this 244 ); 245 } 246 var l = t(e), 247 i = 248 Object.assign || 249 function(e) { 250 for (var t = 1; t < arguments.length; t++) { 251 var s = arguments[t]; 252 for (var l in s) 253 Object.prototype.hasOwnProperty.call(s, l) && 254 (e[l] = s[l]); 255 } 256 return e; 257 }; 258 !(function() { 259 function e(e, t) { 260 t = t || { bubbles: !1, cancelable: !1, detail: void 0 }; 261 var s = document.createEvent("CustomEvent"); 262 return ( 263 s.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), s 264 ); 265 } 266 if ("function" == typeof window.CustomEvent) return !1; 267 (e.prototype = window.Event.prototype), (window.CustomEvent = e); 268 })(), 269 (window.utils = l.default), 270 (window.lgData = { uid: 0 }), 271 (window.lgModules = {}); 272 var o = { 273 mode: "lg-slide", 274 cssEasing: "ease", 275 easing: "linear", 276 speed: 600, 277 height: "100%", 278 width: "100%", 279 addClass: "", 280 startClass: "lg-start-zoom", 281 backdropDuration: 150, 282 hideBarsDelay: 6e3, 283 useLeft: !1, 284 ariaLabelledby: "", 285 ariaDescribedby: "", 286 closable: !0, 287 loop: !0, 288 escKey: !0, 289 keyPress: !0, 290 controls: !0, 291 slideEndAnimatoin: !0, 292 hideControlOnEnd: !1, 293 mousewheel: !1, 294 getCaptionFromTitleOrAlt: !0, 295 appendSubHtmlTo: ".lg-sub-html", 296 subHtmlSelectorRelative: !1, 297 preload: 1, 298 showAfterLoad: !0, 299 selector: "", 300 selectWithin: "", 301 nextHtml: "", 302 prevHtml: "", 303 index: !1, 304 iframeMaxWidth: "100%", 305 download: !0, 306 counter: !0, 307 appendCounterTo: ".lg-toolbar", 308 swipeThreshold: 50, 309 enableSwipe: !0, 310 enableDrag: !0, 311 dynamic: !1, 312 dynamicEl: [], 313 galleryId: 1, 314 supportLegacyBrowser: !0, 315 }; 316 (s.prototype.init = function() { 317 var e = this; 318 e.s.preload > e.items.length && (e.s.preload = e.items.length); 319 var t = window.location.hash; 320 if ( 321 (t.indexOf("lg=" + this.s.galleryId) > 0 && 322 ((e.index = parseInt(t.split("&slide=")[1], 10)), 323 l.default.addClass(document.body, "lg-from-hash"), 324 l.default.hasClass(document.body, "lg-on") || 325 (l.default.addClass(document.body, "lg-on"), 326 setTimeout(function() { 327 e.build(e.index); 328 }))), 329 e.s.dynamic) 330 ) 331 l.default.trigger(this.el, "onBeforeOpen"), 332 (e.index = e.s.index || 0), 333 l.default.hasClass(document.body, "lg-on") || 334 (l.default.addClass(document.body, "lg-on"), 335 setTimeout(function() { 336 e.build(e.index); 337 })); 338 else 339 for (var s = 0; s < e.items.length; s++) 340 !(function(t) { 341 l.default.on(e.items[t], "click.lgcustom", function(s) { 342 s.preventDefault(), 343 l.default.trigger(e.el, "onBeforeOpen"), 344 (e.index = e.s.index || t), 345 l.default.hasClass(document.body, "lg-on") || 346 (e.build(e.index), 347 l.default.addClass(document.body, "lg-on")); 348 }); 349 })(s); 350 }), 351 (s.prototype.build = function(e) { 352 var t = this; 353 t.structure(); 354 for (var s in window.lgModules) 355 t.modules[s] = new window.lgModules[s](t.el); 356 if ( 357 (t.slide(e, !1, !1), 358 t.s.keyPress && t.keyPress(), 359 t.items.length > 1 && 360 (t.arrow(), 361 setTimeout(function() { 362 t.enableDrag(), t.enableSwipe(); 363 }, 50), 364 t.s.mousewheel && t.mousewheel()), 365 t.counter(), 366 t.closeGallery(), 367 l.default.trigger(t.el, "onAfterOpen"), 368 t.s.hideBarsDelay > 0) 369 ) { 370 var i = setTimeout(function() { 371 l.default.addClass(t.outer, "lg-hide-items"); 372 }, t.s.hideBarsDelay); 373 l.default.on( 374 t.outer,
375 "mousemove.lg click.lg touchstart.lg", 376 function() { 377 clearTimeout(i), 378 l.default.removeClass(t.outer, "lg-hide-items"), 379 clearTimeout(t.hideBartimeout), 380 (t.hideBartimeout = setTimeout(function() { 381 l.default.addClass(t.outer, "lg-hide-items"); 382 }, t.s.hideBarsDelay)); 383 } 384 ); 385 } 386 }), 387 (s.prototype.structure = function() { 388 var e = "", 389 t = "", 390 s = 0, 391 i = "", 392 o, 393 r = this; 394 for ( 395 document.body.insertAdjacentHTML( 396 "beforeend", 397 '<div class="lg-backdrop"></div>' 398 ), 399 l.default.setVendor( 400 document.querySelector(".lg-backdrop"), 401 "TransitionDuration", 402 this.s.backdropDuration + "ms" 403 ), 404 s = 0; s < this.items.length; s++ 405 ) 406 e += '<div class="lg-item"></div>'; 407 if ( 408 (this.s.controls && 409 this.items.length > 1 && 410 (t = 411 '<div class="lg-actions"><button type="button" aria-label="Previous slide" class="lg-prev lg-icon">' + 412 this.s.prevHtml + 413 '</button><button type="button" aria-label="Next slide" class="lg-next lg-icon">' + 414 this.s.nextHtml + 415 "</button></div>"), 416 ".lg-sub-html" === this.s.appendSubHtmlTo && 417 (i = 418 '<div role="status" aria-live="polite" class="lg-sub-html"></div>'), 419 (o = 420 '<div tabindex="-1" aria-modal="true" ' + 421 (this.s.ariaLabelledby ? 422 'aria-labelledby="' + this.s.ariaLabelledby + '"' : 423 "") + 424 " " + 425 (this.s.ariaDescribedby ? 426 'aria-describedby="' + this.s.ariaDescribedby + '"' : 427 "") + 428 ' role="dialog" class="lg-outer ' + 429 this.s.addClass + 430 " " + 431 this.s.startClass + 432 '"><div class="lg" style="width:' + 433 this.s.width + 434 "; height:" + 435 this.s.height + 436 '"><div class="lg-inner">' + 437 e + 438 '</div><div class="lg-toolbar lg-group"><button type="button" aria-label="Close gallery" class="lg-close lg-icon"></button></div>' + 439 t + 440 i + 441 "</div></div>"), 442 document.body.insertAdjacentHTML("beforeend", o), 443 (this.outer = document.querySelector(".lg-outer")), 444 this.outer.focus(), 445 (this.___slide = this.outer.querySelectorAll(".lg-item")), 446 this.s.useLeft ? 447 (l.default.addClass(this.outer, "lg-use-left"), 448 (this.s.mode = "lg-slide")) : 449 l.default.addClass(this.outer, "lg-use-css3"), 450 r.setTop(), 451 l.default.on( 452 window, 453 "resize.lg orientationchange.lg", 454 function() { 455 setTimeout(function() { 456 r.setTop(); 457 }, 100); 458 } 459 ), 460 l.default.addClass(this.___slide[this.index], "lg-current"), 461 this.doCss() ? 462 l.default.addClass(this.outer, "lg-css3") : 463 (l.default.addClass(this.outer, "lg-css"), 464 (this.s.speed = 0)), 465 l.default.addClass(this.outer, this.s.mode), 466 this.s.enableDrag && 467 this.items.length > 1 && 468 l.default.addClass(this.outer, "lg-grab"), 469 this.s.showAfterLoad && 470 l.default.addClass(this.outer, "lg-show-after-load"), 471 this.doCss()) 472 ) { 473 var a = this.outer.querySelector(".lg-inner"); 474 l.default.setVendor( 475 a, 476 "TransitionTimingFunction", 477 this.s.cssEasing 478 ), 479 l.default.setVendor( 480 a, 481 "TransitionDuration", 482 this.s.speed + "ms"
483 ); 484 } 485 setTimeout(function() { 486 l.default.addClass( 487 document.querySelector(".lg-backdrop"), 488 "in" 489 ); 490 }), 491 setTimeout(function() { 492 l.default.addClass(r.outer, "lg-visible"); 493 }, this.s.backdropDuration), 494 this.s.download && 495 this.outer 496 .querySelector(".lg-toolbar") 497 .insertAdjacentHTML( 498 "beforeend", 499 '<a id="lg-download" aria-label="Download" target="_blank" download class="lg-download lg-icon"></a>' 500 ), 501 (this.prevScrollTop = 502 document.documentElement.scrollTop || 503 document.body.scrollTop); 504 }), 505 (s.prototype.setTop = function() { 506 if ("100%" !== this.s.height) { 507 var e = window.innerHeight, 508 t = (e - parseInt(this.s.height, 10)) / 2, 509 s = this.outer.querySelector(".lg"); 510 e >= parseInt(this.s.height, 10) ? 511 (s.style.top = t + "px") : 512 (s.style.top = "0px"); 513 } 514 }), 515 (s.prototype.doCss = function() { 516 return !!(function e() { 517 var t = [ 518 "transition", 519 "MozTransition", 520 "WebkitTransition", 521 "OTransition", 522 "msTransition", 523 "KhtmlTransition", 524 ], 525 s = document.documentElement, 526 l = 0; 527 for (l = 0; l < t.length; l++) 528 if (t[l] in s.style) return !0; 529 })(); 530 }), 531 (s.prototype.isVideo = function(e, t) { 532 var s; 533 if ( 534 ((s = this.s.dynamic ? 535 this.s.dynamicEl[t].html : 536 this.items[t].getAttribute("data-html")), !e && s) 537 ) 538 return { html5: !0 }; 539 var l = e.match( 540 /\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i 541 ), 542 i = e.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i), 543 o = e.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i), 544 r = e.match( 545 /\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i 546 ); 547 return l ? 548 { youtube: l } : 549 i ? 550 { vimeo: i } : 551 o ? 552 { dailymotion: o } : 553 r ? 554 { vk: r } : 555 void 0; 556 }), 557 (s.prototype.counter = function() { 558 this.s.counter && 559 this.outer 560 .querySelector(this.s.appendCounterTo) 561 .insertAdjacentHTML( 562 "beforeend", 563 '<div id="lg-counter" role="status" aria-l
563ive="polite"><span id="lg-counter-current">' + 564 (parseInt(this.index, 10) + 1) + 565 '</span> / <span id="lg-counter-all">' + 566 this.items.length + 567 "</span></div>" 568 ); 569 }), 570 (s.prototype.addHtml = function(e) { 571 var t = null, 572 s; 573 if ( 574 (this.s.dynamic ? 575 (t = this.s.dynamicEl[e].subHtml) : 576 ((s = this.items[e]), 577 (t = s.getAttribute("data-sub-html")), 578 this.s.getCaptionFromTitleOrAlt && 579 !t && 580 (t = s.getAttribute("title")) && 581 s.querySelector("img") && 582 (t = s.querySelector("img").getAttribute("alt"))), 583 void 0 !== t && null !== t) 584 ) { 585 var i = t.substring(0, 1); 586 ("." !== i && "#" !== i) || 587 (t = 588 this.s.subHtmlSelectorRelative && !this.s.dynamic ? 589 s.querySelector(t).innerHTML : 590 document.querySelector(t).innerHTML); 591 } else t = ""; 592 ".lg-sub-html" === this.s.appendSubHtmlTo ? 593 (this.outer.querySelector( 594 this.s.appendSubHtmlTo 595 ).innerHTML = t) : 596 this.___slide[e].insertAdjacentHTML("beforeend", t), 597 void 0 !== t && 598 null !== t && 599 ("" === t ? 600 l.default.addClass( 601 this.outer.querySelector(this.s.appendSubHtmlTo), 602 "lg-empty-html" 603 ) : 604 l.default.removeClass( 605 this.outer.querySelector(this.s.appendSubHtmlTo), 606 "lg-empty-html" 607 )), 608 l.default.trigger(this.el, "onAfterAppendSubHtml", { 609 index: e, 610 }); 611 }), 612 (s.prototype.preload = function(e) { 613 var t = 1, 614 s = 1; 615 for ( 616 t = 1; t <= this.s.preload && !(t >= this.items.length - e); t++ 617 ) 618 this.loadContent(e + t, !1, 0); 619 for (s = 1; s <= this.s.preload && !(e - s < 0); s++) 620 this.loadContent(e - s, !1, 0); 621 }), 622 (s.prototype.loadContent = function(e, t, s) { 623 var i = this, 624 o = !1, 625 r, 626 a, 627 d, 628 n, 629 u, 630 c, 631 g, 632 f = function e(t) { 633 for (var s = [], l = [], i = 0; i < t.length; i++) { 634 var o = t[i].split(" "); 635 "" === o[0] && o.splice(0, 1), l.push(o[0]), s.push(o[1]); 636 } 637 for (var r = window.innerWidth, d = 0; d < s.length; d++) 638 if (parseInt(s[d], 10) > r) { 639 a = l[d]; 640 break; 641 } 642 }; 643 if (i.s.dynamic) { 644 if ( 645 (i.s.dynamicEl[e].poster && 646 ((o = !0), (d = i.s.dynamicEl[e].poster)), 647 (c = i.s.dynamicEl[e].html), 648 (a = i.s.dynamicEl[e].src), 649 (g = i.s.dynamicEl[e].alt), 650 i.s.dynamicEl[e].responsive) 651 ) { 652 f(i.s.dynamicEl[e].responsive.split(",")); 653 } 654 (n = i.s.dynamicEl[e].srcset), (u = i.s.dynamicEl[e].sizes); 655 } else { 656 if ( 657 (i.items[e].getAttribute("data-poster") && 658 ((o = !0), (d = i.items[e].getAttribute("data-poster"))), 659 (c = i.items[e].getAttribute("data-html")), 660 (a = 661 i.items[e].getAttribute("href") || 662 i.items[e].getAttribute("data-src")), 663 (g = i.items[e].getAttribute("title")), 664 i.items[e].querySelector("img") && 665 (g = 666 g || 667 i.items[e].querySelector("img").getAttribute("alt")), 668 i.items[e].getAttribute("data-responsive")) 669 ) { 670 f(i.items[e].getAttribute("data-responsive").split(",")); 671 } 672 (n = i.items[e].getAttribute("data-srcset")), 673 (u = i.items[e].getAttribute("data-sizes")); 674 } 675 var h = !1; 676 i.s.dynamic ? 677 i.s.dynamicEl[e].iframe && (h = !0) : 678 "true" === i.items[e].getAttribute("data-iframe") && 679 (h = !0); 680 var m = i.isVideo(a, e); 681 if (!l.default.hasClass(i.___slide[e], "lg-loaded")) { 682 if (h) 683 i.___slide[e].insertAdjacentHTML( 684 "afterbegin", 685 '<div class="lg-video-cont" style="max-width:' + 686 i.s.iframeMaxWidth + 687 '"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="' + 688 a + 689 '" allowfullscreen="true"></iframe></div></div>' 690 ); 691 else if (o) { 692 var p = ""; 693 (p = 694 m && m.youtube ? 695 "lg-has-youtube" : 696 m && m.vimeo ? 697 "lg-has-vimeo" : 698 "lg-has-html5"), 699 i.___slide[e].insertAdjacentHTML( 700 "beforeend", 701 '<div class="lg-video-cont ' + 702 p + 703 ' "><div class="lg-video"><span class="lg-video-play"></span><img class="lg-object lg-has-poster" src="' + 704 d + 705 '" /></div></div>' 706 ); 707 } else 708 m ? 709 (i.___slide[e].insertAdjacentHTML( 710 "beforeend", 711 '<div class="lg-video-cont "><div class="lg-video"></div></div>' 712 ), 713 l.default.trigger(i.el, "hasVideo", { 714 index: e, 715 src: a, 716 html: c, 717 })) : 718 ((g = g ? 'alt="' + g + '"' : ""), 719 i.___slide[e].insertAdjacentHTML( 720 "beforeend", 721 '<div class="lg-img-wrap"><img class="lg-object lg-image" ' + 722 g + 723 ' src="' + 724 a + 725 '" /></div>' 726 )); 727 if ( 728 (l.default.trigger(i.el, "onAferAppendSlide", { index: e }), 729 (r = i.___slide[e].querySelector(".lg-object")), 730 u && r.setAttribute("sizes", u), 731 n && 732 (r.setAttribute("srcset", n), 733 this.s.supportLegacyBrowser)) 734 ) 735 try { 736 picturefill({ elements: [r[0]] }); 737 } catch (e) { 738 console.warn( 739 "If you want srcset to be supported for older browsers, please include picturefil javascript library in your document." 740 ); 741 } 742 ".lg-sub-html" !== this.s.appendSubHtmlTo && i.addHtml(e), 743 l.default.addClass(i.___slide[e], "lg-loaded"); 744 } 745 l.default.on( 746 i.___slide[e].querySelector(".lg-object"), 747 "load.lg error.lg", 748 function() { 749 var t = 0; 750 s && 751 !l.default.hasClass(document.body, "lg-from-hash") && 752 (t = s), 753 setTimeout(function() { 754 l.default.addClass(i.___slide[e], "lg-complete"), 755 l.default.trigger(i.el, "onSlideItemLoad", { 756 index: e, 757 delay: s || 0, 758 }); 759 }, t); 760 } 761 ), 762 m && 763 m.html5 && 764 !o && 765 l.default.addClass(i.___slide[e], "lg-complete"), !0 === t && 766 (l.default.hasClass(i.___slide[e], "lg-complete") ? 767 i.preload(e) : 768 l.default.on( 769 i.___slide[e].querySelector(".lg-object"), 770 "load.lg error.lg", 771 function() { 772 i.preload(e); 773 } 774 )); 775 }), 776 (s.prototype.slide = function(e, t, s) { 777 for (var i = 0, o = 0; o < this.___slide.length; o++) 778 if (l.default.hasClass(this.___slide[o], "lg-current")) { 779 i = o; 780 break; 781 } 782 var r = this; 783 if (!r.lGalleryOn || i !== e) { 784 var a = this.___slide.length, 785 d = r.lGalleryOn ? this.s.speed : 0, 786 n = !1, 787 u = !1; 788 if (!r.lgBusy) { 789 if (this.s.download) { 790 var c; 791 (c = r.s.dynamic ? 792 !1 !== r.s.dynamicEl[e].downloadUrl && 793 (r.s.dynamicEl[e].downloadUrl || r.s.dynamicEl[e].src) : 794 "false" !== 795 r.items[e].getAttribute("data-download-url") && 796 (r.items[e].getAttribute("data-download-url") || 797 r.items[e].getAttribute("href") || 798 r.items[e].getAttribute("data-src"))), 799 c 800 ? 801 (document 802 .getElementById("lg-
802download") 803 .setAttribute("href", c), 804 l.default.removeClass(r.outer, "lg-hide-download")) : 805 l.default.addClass(r.outer, "lg-hide-download"); 806 } 807 if ( 808 (l.default.trigger(r.el, "onBeforeSlide", { 809 prevIndex: i, 810 index: e, 811 fromTouch: t, 812 fromThumb: s, 813 }), 814 (r.lgBusy = !0), 815 clearTimeout(r.hideBartimeout), 816 ".lg-sub-html" === this.s.appendSubHtmlTo && 817 setTimeout(function() { 818 r.addHtml(e); 819 }, d), 820 this.arrowDisable(e), 821 t) 822 ) { 823 var g = e - 1, 824 f = e + 1; 825 0 === e && i === a - 1 ? 826 ((f = 0), (g = a - 1)) : 827 e === a - 1 && 0 === i && ((f = 0), (g = a - 1)), 828 l.default.removeClass( 829 r.outer.querySelector(".lg-prev-slide"), 830 "lg-prev-slide" 831 ), 832 l.default.removeClass( 833 r.outer.querySelector(".lg-current"), 834 "lg-current" 835 ), 836 l.default.removeClass( 837 r.outer.querySelector(".lg-next-slide"), 838 "lg-next-slide" 839 ), 840 l.default.addClass(r.___slide[g], "lg-prev-slide"), 841 l.default.addClass(r.___slide[f], "lg-next-slide"), 842 l.default.addClass(r.___slide[e], "lg-current"); 843 } else { 844 l.default.addClass(r.outer, "lg-no-trans"); 845 for (var h = 0; h < this.___slide.length; h++) 846 l.default.removeClass( 847 this.___slide[h], 848 "lg-prev-slide" 849 ), 850 l.default.removeClass( 851 this.___slide[h], 852 "lg-next-slide" 853 ); 854 e < i ? 855 ((u = !0), 856 0 !== e || i !== a - 1 || s || ((u = !1), (n = !0))) : 857 e > i && 858 ((n = !0), 859 e !== a - 1 || 0 !== i || s || ((u = !0), (n = !1))), 860 u ? 861 (l.default.addClass( 862 this.___slide[e], 863 "lg-prev-slide" 864 ), 865 l.default.addClass( 866 this.___slide[i], 867 "lg-next-slide" 868 )) : 869 n && 870 (l.default.addClass( 871 this.___slide[e], 872 "lg-next-slide" 873 ), 874 l.default.addClass( 875 this.___slide[i], 876 "lg-prev-slide" 877 )), 878 setTimeout(function() { 879 l.default.removeClass( 880 r.outer.querySelector(".lg-current"), 881 "lg-current" 882 ), 883 l.default.addClass(r.___slide[e], "lg-current"), 884 l.default.removeClass(r.outer, "lg-no-trans"); 885 }, 50); 886 } 887 r.lGalleryOn ? 888 (setTimeout(function() { 889 r.loadContent(e, !0, 0); 890 }, this.s.speed + 50), 891 setTimeout(function() { 892 (r.lgBusy = !1), 893 l.default.trigger(r.el, "onAfterSlide", { 894 prevIndex: i, 895 index: e, 896 fromTouch: t, 897 fromThumb: s, 898 }); 899 }, this.s.speed)) : 900 (r.loadContent(e, !0, r.s.backdropDuration), 901 (r.lgBusy = !1), 902 l.default.trigger(r.el, "onAfterSlide", { 903 prevIndex: i, 904 index: e, 905 fromTouch: t, 906 fromThumb: s, 907 })), 908 (r.lGalleryOn = !0), 909 this.s.counter && 910 document.getElementById("lg-counter-current") && 911 (document.getElementById( 912 "lg-counter-current" 913 ).innerHTML = e + 1); 914 } 915 } 916 }), 917 (s.prototype.goToNextSlide = function(e) { 918 var t = this; 919 t.lgBusy || 920 (t.index + 1 < t.___slide.length ? 921 (t.index++, 922 l.default.trigger(t.el, "onBeforeNextSlide", { 923 index: t.index, 924 }), 925 t.slide(t.index, e, !1)) : 926 t.s.loop ? 927 ((t.index = 0), 928 l.default.trigger(t.el, "onBeforeNextSlide", { 929 index: t.index, 930 }), 931 t.slide(t.index, e, !1)) : 932 t.s.slideEndAnimatoin && 933 (l.default.addClass(t.outer, "lg-right-end"), 934 setTimeout(function() { 935 l.default.removeClass(t.outer, "lg-right-end"); 936 }, 400))); 937 }), 938 (s.prototype.goToPrevSlide = function(e) { 939 var t = this; 940 t.lgBusy || 941 (t.index > 0 ? 942 (t.index--, 943 l.default.trigger(t.el, "onBeforePrevSlide", { 944 index: t.index, 945 fromTouch: e, 946 }), 947 t.slide(t.index, e, !1)) : 948 t.s.loop ? 949 ((t.index = t.items.length - 1), 950 l.default.trigger(t.el, "onBeforePrevSlide", { 951 index: t.index, 952 fromTouch: e, 953 }), 954 t.slide(t.index, e, !1)) : 955 t.s.slideEndAnimatoin && 956 (l.default.addClass(t.outer, "lg-left-end"), 957 setTimeout(function() { 958 l.default.removeClass(t.outer, "lg-left-end"); 959 }, 400))); 960 }), 961 (s.prototype.keyPress = function() { 962 var e = this; 963 this.items.length > 1 && 964 l.default.on(window, "keyup.lg", function(t) { 965 e.items.length > 1 && 966 (37 === t.keyCode && 967 (t.preventDefault(), e.goToPrevSlide()), 968 39 === t.keyCode && 969 (t.preventDefault(), e.goToNextSlide())); 970 }), 971 l.default.on(window, "keydown.lg", function(t) { 972 !0 === e.s.escKey && 973 27 === t.keyCode && 974 (t.preventDefault(), 975 l.default.hasClass(e.outer, "lg-thumb-open") ? 976 l.default.removeClass(e.outer, "lg-thumb-open") : 977 e.destroy()); 978 }); 979 }), 980 (s.prototype.arrow = function() { 981 var e = this; 982 l.default.on( 983 this.outer.querySelector(".lg-prev"), 984 "click.lg", 985 function() { 986 e.goToPrevSlide(); 987 } 988 ), 989 l.default.on( 990 this.outer.querySelector(".lg-next"), 991 "click.lg", 992 function() { 993 e.goToNextSlide(); 994 } 995 ); 996 }), 997 (s.prototype.arrowDisable = function(e) { 998 if (!this.s.loop && this.s.hideControlOnEnd) { 999 var t = this.outer.querySelector(".lg-next"), 1000 s = this.outer.querySelector(".lg-prev"); 1001 e + 1 < this.___slide.length ? 1002 (t.removeAttribute("disabled"), 1003 l.default.removeClass(t, "disabled")) : 1004 (t.setAttribute("disabled", "disabled"), 1005 l.default.addClass(t, "disabled")), 1006 e > 0 ? 1007 (s.removeAttribute("disabled"), 1008 l.default.removeClass(s, "disabled")) : 1009 (s.setAttribute("disabled", "disabled"), 1010 l.default.addClass(s, "disabled")); 1011 } 1012 }), 1013 (s.prototype.setTranslate = function(e, t, s) { 1014 this.s.useLeft ? 1015 (e.style.left = t) : 1016 l.default.setVendor( 1017 e, 1018 "Transform", 1019 "translate3d(" + t + "px, " + s + "px, 0px)" 1020 ); 1021 }), 1022 (s.prototype.touchMove = function(e, t) { 1023 var s = t - e; 1024 Math.abs(s) > 15 && 1025 (l.default.addClass(this.outer, "lg-dragging"), 1026 this.setTranslate(this.___slide[this.index], s, 0), 1027 this.setTranslate( 1028 document.querySelector(".lg-prev-slide"), -this.___slide[this.index].clientWidth + s, 1029 0 1030 ), 1031 this.setTranslate( 1032 document.querySelector(".lg-next-slide"), 1033 this.___slide[this.index].clientWidth + s, 1034 0 1035 )); 1036 }), 1037 (s.prototype.touchEnd = function(e) { 1038 var t = this; 1039 "lg-slide" !== t.s.mode && 1040 l.default.addClass(t.outer, "lg-slide"); 1041 for (var s = 0; s < this.___slide.length; s++) 1042 l.default.hasClass(this.___slide[s], "lg-current") || 1043 l.default.hasClass(this.___slide[s], "lg-prev-slide") || 1044 l.default.hasClass(this.___slide[s], "lg-next-slide") || 1045 (this.___slide[s].style.opacity = "0"); 1046 setTimeout(function() { 1047 l.default.removeClass(t.outer, "lg-dragging"), 1048 e < 0 && Math.abs(e) > t.s.swipeThreshold ? 1049 t.goToNextSlide(!0) : 1050 e > 0 && Math.abs(e) > t.s.swipeThreshold ? 1051 t.goToPrevSlide(!0) : 1052 Math.abs(e) < 5 && 1053 l.default.trigger(t.el, "onSlideClick"); 1054 for (var s = 0; s < t.___slide.length; s++) 1055 t.___slide[s].removeAttribute("style"); 1056 }), 1057 setTimeout(function() { 1058 l.default.hasClass(t.outer, "lg-dragging") || 1059 "lg-slide" === t.s.mode || 1060 l.default.removeClass(t.outer, "lg-slide"); 1061 }, t.s.speed + 100); 1062 }), 1063 (s.prototype.enableSwipe = function() { 1064 var e = this, 1065 t = 0, 1066 s = 0, 1067 i = !1; 1068 if (e.s.enableSwipe && e.isTouch && e.doCss()) { 1069 for (var o = 0; o < e.___slide.length; o++) 1070 l.default.on(e.___slide[o], "touchstart.lg", function(s) { 1071 l.default.hasClass(e.outer, "lg-zoomed") || 1072 e.lgBusy || 1073 (s.preventDefault(), 1074 e.manageSwipeClass(), 1075 (t = s.targetTouches[0].pageX)); 1076 }); 1077 for (var r = 0; r < e.___slide.length; r++) 1078 l.default.on(e.___slide[r], "touchmove.lg", function(o) { 1079 l.default.hasClass(e.outer, "lg-zoomed") || 1080 (o.pr
1080eventDefault(), 1081 (s = o.targetTouches[0].pageX), 1082 e.touchMove(t, s), 1083 (i = !0)); 1084 }); 1085 for (var a = 0; a < e.___slide.length; a++) 1086 l.default.on(e.___slide[a], "touchend.lg", function() { 1087 l.default.hasClass(e.outer, "lg-zoomed") || 1088 (i ? 1089 ((i = !1), e.touchEnd(s - t)) : 1090 l.default.trigger(e.el, "onSlideClick")); 1091 }); 1092 } 1093 }), 1094 (s.prototype.enableDrag = function() { 1095 var e = this, 1096 t = 0, 1097 s = 0, 1098 i = !1, 1099 o = !1; 1100 if (e.s.enableDrag && !e.isTouch && e.doCss()) { 1101 for (var r = 0; r < e.___slide.length; r++) 1102 l.default.on(e.___slide[r], "mousedown.lg", function(s) { 1103 l.default.hasClass(e.outer, "lg-zoomed") || 1104 ((l.default.hasClass(s.target, "lg-object") || 1105 l.default.hasClass(s.target, "lg-video-play")) && 1106 (s.preventDefault(), 1107 e.lgBusy || 1108 (e.manageSwipeClass(), 1109 (t = s.pageX), 1110 (i = !0), 1111 (e.outer.scrollLeft += 1), 1112 (e.outer.scrollLeft -= 1), 1113 l.default.removeClass(e.outer, "lg-grab"), 1114 l.default.addClass(e.outer, "lg-grabbing"), 1115 l.default.trigger(e.el, "onDragstart")))); 1116 }); 1117 l.default.on(window, "mousemove.lg", function(r) { 1118 i && 1119 ((o = !0), 1120 (s = r.pageX), 1121 e.touchMove(t, s), 1122 l.default.trigger(e.el, "onDragmove")); 1123 }), 1124 l.default.on(window, "mouseup.lg", function(r) { 1125 o 1126 ? 1127 ((o = !1), 1128 e.touchEnd(s - t), 1129 l.default.trigger(e.el, "onDragend")) : 1130 (l.default.hasClass(r.target, "lg-object") || 1131 l.default.hasClass(r.target, "lg-video-play")) && 1132 l.default.trigger(e.el, "onSlideClick"), 1133 i && 1134 ((i = !1), 1135 l.default.removeClass(e.outer, "lg-grabbing"), 1136 l.default.addClass(e.outer, "lg-grab")); 1137 }); 1138 } 1139 }), 1140 (s.prototype.manageSwipeClass = function() { 1141 var e = this.index + 1, 1142 t = this.index - 1, 1143 s = this.___slide.length; 1144 this.s.loop && 1145 (0 === this.index ? 1146 (t = s - 1) : 1147 this.index === s - 1 && (e = 0)); 1148 for (var i = 0; i < this.___slide.length; i++) 1149 l.default.removeClass(this.___slide[i], "lg-next-slide"), 1150 l.default.removeClass(this.___slide[i], "lg-prev-slide"); 1151 t > -1 && l.default.addClass(this.___slide[t], "lg-prev-slide"), 1152 l.default.addClass(this.___slide[e], "lg-next-slide"); 1153 }), 1154 (s.prototype.mousewheel = function() { 1155 var e = this; 1156 l.default.on(e.outer, "mousewheel.lg", function(t) { 1157 t.deltaY && 1158 (t.deltaY > 0 ? e.goToPrevSlide() : e.goToNextSlide(), 1159 t.preventDefault()); 1160 }); 1161 }), 1162 (s.prototype.closeGallery = function() { 1163 var e = this, 1164 t = !1; 1165 l.default.on( 1166 this.outer.querySelector(".lg-close"), 1167 "click.lg", 1168 function() { 1169 e.destroy(); 1170 } 1171 ), 1172 e.s.closable && 1173 (l.default.on(e.outer, "mousedown.lg", function(e) { 1174 t = !!( 1175 l.default.hasClass(e.target, "lg-outer") || 1176 l.default.hasClass(e.target, "lg-item") || 1177 l.default.hasClass(e.target, "lg-img-wrap") 1178 ); 1179 }), 1180 l.default.on(e.outer, "mouseup.lg", function(s) { 1181 (l.default.hasClass(s.target, "lg-outer") || 1182 l.default.hasClass(s.target, "lg-item") || 1183 (l.default.hasClass(s.target, "lg-img-wrap") && t)) && 1184 (l.default.hasClass(e.outer, "lg-dragging") || 1185 e.destroy()); 1186 })); 1187 }), 1188 (s.prototype.destroy = function(e) { 1189 var t = this; 1190 if ( 1191 (e || l.default.trigger(t.el, "onBeforeClose"), 1192 (document.body.scrollTop = t.prevScrollTop), 1193 (document.documentElement.scrollTop = t.prevScrollTop), 1194 e) 1195 ) { 1196 if (!t.s.dynamic) 1197 for (var s = 0; s < this.items.length; s++) 1198 l.default.off(this.items[s], ".lg"), 1199 l.default.off(this.items[s], ".lgcustom"); 1200 var i = t.el.getAttribute("lg-uid"); 1201 delete window.lgData[i], t.el.removeAttribute("lg-uid"); 1202 } 1203 l.default.off(this.el, ".lgtm"); 1204 for (var o in window.lgModules) 1205 t.modules[o] && t.modules[o].destroy(e); 1206 (this.lGalleryOn = !1), 1207 clearTimeout(t.hideBartimeout), 1208 (this.hideBartimeout = !1), 1209 l.default.off(window, ".lg"), 1210 l.default.removeClass(document.body, "lg-on"), 1211 l.default.removeClass(document.body, "lg-from-hash"), 1212 t.outer && l.default.removeClass(t.outer, "lg-visible"), 1213 l.default.removeClass( 1214 document.querySelector(".lg-backdrop"), 1215 "in" 1216 ), 1217 setTimeout(function() { 1218 try { 1219 t.outer && t.outer.parentNode.removeChild(t.outer), 1220 document.querySelector(".lg-backdrop") && 1221 document 1222 .querySelector(".lg-backdrop") 1223 .parentNode.removeChild( 1224 document.querySelector(".lg-backdrop") 1225 ), 1226 e || l.default.trigger(t.el, "onCloseAfter"), 1227 t.el.focus(); 1228 } catch (e) {} 1229 }, t.s.backdropDuration + 50); 1230 }), 1231 (window.lightGallery = function(e, t) { 1232 if (e) 1233 try { 1234 if (e.getAttribute("lg-uid")) 1235 window.lgData[e.getAttribute("lg-uid")].init(); 1236 else { 1237 var l = "lg" + window.lgData.uid++; 1238 (window.lgData[l] = new s(e, t)), 1239 e.setAttribute("lg-uid", l); 1240 } 1241 } catch (e) { 1242 console.error("lightGallery has not initiated properly", e); 1243 } 1244 }); 1245 }); 1246 }, 1247 { "./lg-utils": 1 }, 1248 ], 1249 }, {}, [2])(2); 1250});
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.