({890:function(){var e=this&&this.__spreadArray||function(e,t,i){if(i||2===arguments.length)for(var s,n=0,a=t.length;n<a;n++)!s&&n in t||(s||(s=Array.prototype.slice.call(t,0,n)),s[n]=t[n]);return e.concat(s||Array.prototype.slice.call(t))},t=function(){function t(t){this.settings={images:".gallery--image",loop:!0,next:void 0,prev:void 0,dots:void 0,close:void 0,loader:void 0,counter:void 0,counterDivider:"/",keyboardNavigation:!0,hiddenElements:[]},Object.assign(this.settings,t),this.gallery=null,this.index=0,this.items=e([],Array.from(document.querySelectorAll(this.settings.images)),!0),this.addedItems={},this.touch={endX:0,startX:0},this.init()}return Object.defineProperty(t.prototype,"loading",{get:function(){return!this.settings.hiddenElements.includes("loader")},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dotsVisible",{get:function(){return!this.settings.hiddenElements.includes("dots")},enumerable:!1,configurable:!0}),t.prototype.init=function(){this.createElements(),this.bindEvents()},t.prototype.clearUncomplete=function(){this.items=this.items.filter((function(e){return!e.src||""==e.src}))},t.prototype.createElements=function(){var e=this;this.gallery=document.createElement("div"),this.gallery.classList.add("aaa-gallery"),this.createSingleElement({element:"prev",type:"BUTTON",event:"click",func:this.getPrevious}),this.createSingleElement({element:"next",type:"BUTTON",event:"click",func:this.getNext}),this.createSingleElement({element:"close",type:"BUTTON",event:"click",func:this.closeGallery}),this.createSingleElement({element:"loader",type:"SPAN",text:"Loading..."}),this.createSingleElement({element:"counter",type:"SPAN",text:"0/0"}),this.createSingleElement({element:"dots",type:"UL",text:""}),this.settings.hiddenElements.includes("dots")||this.items.forEach((function(t,i){var s=document.createElement("LI");s.dataset.index=i.toString();var n=document.createElement("BUTTON");n.innerHTML=i.toString(),n.addEventListener("click",(function(){e.index=i,e.getItem(i)})),s.append(n),e.dots.append(s)})),window.document.body.append(this.gallery)},t.prototype.createSingleElement=function(e){var t=e.element,i=e.type,s=e.event,n=void 0===s?"click":s,a=e.func,l=void 0===a?null:a,r=e.text,d=void 0===r?void 0:r;this.settings.hiddenElements.includes(t)||(this.settings[t]?(this[t]=document.querySelector(this.settings[t]),this.gallery.append(this[t])):(this[t]=document.createElement(i),this[t].classList.add("aaa-gallery--".concat(t.toLowerCase())),this[t].innerHTML=void 0!==d?d:t,this.gallery.append(this[t])),l&&this[t].addEventListener(n,l.bind(this)))},t.prototype.getItem=function(e,t){var i=this;void 0===t&&(t=null);var s=t;if(null===s&&((s={}).src=this.items[e].src,s.description=this.items[e].getAttribute("title")),this.settings.hiddenElements.includes("counter")||(this.counter.innerHTML='\n            <span class="aaa-gallery--current">'.concat(this.index+1,"</span>").concat(this.settings.counterDivider,'<span class="aaa-gallery--current">').concat(this.items.length,"</span>\n            ")),this.addedItems.hasOwnProperty(e))this.clearVisible(),this.addedItems[this.index].loaded?(this.addedItems[this.index].classList.add("is-visible"),this.loading&&this.loader.classList.remove("is-visible")):this.loading&&this.loader.classList.add("is-visible"),this.dotsVisible&&this.gallery.querySelector('.aaa-gallery--dots li[data-index="'.concat(e,'"]')).classList.add("is-active");else{var n=document.createElement("IMG"),a=document.createElement("DIV");a.classList.add("aaa-gallery--item"),this.loading&&this.loader.classList.add("is-visible"),this.clearVisible(),this.dotsVisible&&this.gallery.querySelector('.aaa-gallery--dots li[data-index="'.concat(e,'"]')).classList.add("is-active"),n.src=s.src,n.alt=s.description?s.description:"",a.innerHTML='\n            <div class="aaa-gallery--item-image">\n              '.concat(n.outerHTML,"\n            </div>\n            "),s.description&&(a.innerHTML+='\n              <div class="aaa-gallery--item-description">\n                <p>'.concat(s.description,"</p>\n              </div>\n              ")),this.gallery.append(a),this.addedItems[e]=a,n.addEventListener("load",(function(){i.addedItems[e].loaded=!0,i.gallery.querySelector(".aaa-gallery--item.is-visible")||i.addedItems[e].classList.add("is-visible"),i.loading&&i.loader.classList.remove("is-visible")}))}this.settings.loop||(0===this.index?this.prev.setAttribute("disabled",!0):this.prev.removeAttribute("disabled"),this.index===this.items.length-1?this.next.setAttribute("disabled",!0):this.next.removeAttribute("disabled"))},t.prototype.clearVisible=function(){this.gallery.querySelector(".aaa-gallery--item.is-visible")&&this.gallery.querySelector(".aaa-gallery--item.is-visible").classList.remove("is-visible"),this.gallery.querySelector(".aaa-gallery--dots li.is-active")&&this.gallery.querySelector(".aaa-gallery--dots li.is-active").classList.remove("is-active")},t.prototype.closeGallery=function(){this.gallery.classList.remove("is-visible"),this.clearVisible()},t.prototype.handleGesure=function(){this.touch.endX>this.touch.startX+20?this.getPrevious():this.touch.endX<this.touch.startX-20&&this.getNext()},t.prototype.getPrevious=function(){this.settings.loop?(this.index--,-1===this.index&&(this.index=this.items.length-1),this.getItem(this.index)):this.index>0&&(this.index--,this.getItem(this.index))},t.prototype.getNext=function(){this.settings.loop?(this.index++,this.index===this.items.length&&(this.index=0),this.getItem(this.index)):this.index<this.items.length-1&&(this.index++,this.getItem(this.index))},t.prototype.bindEvents=function(){var e=this;this.items.forEach((function(t,i){t.addEventListener("click",(function(t){e.gallery.classList.add("is-visible"),e.index=i,e.getItem(i,{src:t.target.src,description:t.target.getAttribute("title")})}))})),document.addEventListener("keyup",(function(t){e.gallery.classList.contains("is-visible")&&("Escape"===t.key&&e.closeGallery(),e.settings.keyboardNavigation&&(39===t.keyCode?e.getNext():37===t.keyCode&&e.getPrevious()))})),this.gallery.addEventListener("touchstart",(function(t){e.touch.startX=t.changedTouches[0].screenX}),!1),this.gallery.addEventListener("touchend",(function(t){e.touch.endX=t.changedTouches[0].screenX,e.handleGesure()}),!1)},t}();window.AAAGallery=t}})[890]();