vendor: 5,200 bytes, line 1
1function createElement(t,e,i){const s=document.createElement(e);return t&&(s.className=t),i&&i.appendChild(s),s}function toTransformString(t,e,i){let s=`translate3d(${t}px,${e||0}px,0)`;return void 0!==i&&(s+=` scale3d(${i},${i},1)`),s}function setWidthHeight(t,e,i){t.style.width="number"==typeof e?`${e}px`:e,t.style.height="number"==typeof i?`${i}px`:i}const LOAD_STATE={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function specialKeyUsed(t){return"button"in t&&1===t.button||t.ctrlKey||t.metaKey||t.altKey||t.shiftKey}function getElementsFromOption(t,e,i=document){let s=[];if(t instanceof Element)s=[t];else if(t instanceof NodeList||Array.isArray(t))s=Array.from(t);else{const n="string"==typeof t?t:e;n&&(s=Array.from(i.querySelectorAll(n)))}return s}function isPswpClass(t){return"function"==typeof t&&t.prototype&&t.prototype.goTo}function isSafari(){return!(!navigator.vendor||!navigator.vendor.match(/apple/i))}class PhotoSwipeEvent{constructor(t,e){this.type=t,this.defaultPrevented=!1,e&&Object.assign(this,e)}preventDefault(){this.defaultPrevented=!0}}class Eventable{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,e,i=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),null===(s=this._filters[t])||void 0===s||s.push({fn:e,priority:i}),null===(n=this._filters[t])||void 0===n||n.sort(((t,e)=>t.priority-e.priority)),null===(o=this.pswp)||void 0===o||o.addFilter(t,e,i)}removeFilter(t,e){this._filters[t]&&(this._filters[t]=this._filters[t].filter((t=>t.fn!==e))),this.pswp&&this.pswp.removeFilter(t,e)}applyFilters(t,...e){var i;return null===(i=this._filters[t])||void 0===i||i.forEach((t=>{e[0]=t.fn.apply(this,e)})),e[0]}on(t,e){var i,s;this._listeners[t]||(this._listeners[t]=[]),null===(i=this._listeners[t])||void 0===i||i.push(e),null===(s=this.pswp)||void 0===s||s.on(t,e)}off(t,e){var i;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter((t=>e!==t))),null===(i=this.pswp)||void 0===i||i.off(t,e)}dispatch(t,e){var i;if(this.pswp)return this.pswp.dispatch(t,e);const s=new PhotoSwipeEvent(t,e);return null===(i=this._listeners[t])||void 0===i||i.forEach((t=>{t.call(this,s)})),s}}class Placeholder{constructor(t,e){if(this.element=createElement("pswp__img pswp__img--placeholder",t?"img":"div",e),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,e){this.element&&("IMG"===this.element.tagName?(setWidthHeight(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=toTransformString(0,0,t/250)):setWidthHeight(this.element,t,e))}destroy(){var t;null!==(t=this.element)&&void 0!==t&&t.parentNode&&this.element.remove(),this.element=null}}class Content{constructor(t,e,i){this.instance=e,this.data=t,this.index=i,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=LOAD_STATE.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout((()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)}),1e3)}load(t,e){if(this.slide&&this.usePlaceholder())if(this.placeholder){const t=this.placeholder.element;t&&!t.parentElement&&this.slide.container.prepend(t)}else{const t=this.instance.applyFilters("placeholderSrc",!(!this.data.msrc||!this.slide.isFirstSlide)&&this.data.msrc,this);this.placeholder=new Placeholder(t,this.slide.container)}this.element&&!e||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=createElement("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=createElement("pswp__content","div"),this.element.innerHTML=this.data.html||""),e&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var e,i;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=null!==(e=this.data.src)&&void 0!==e?e:"",s.alt=null!==(i=this.data.alt)&&void 0!==i?i:"",this.state=LOAD_STATE.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=LOAD_STATE.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),this.state!==LOAD_STATE.LOADED&&this.state!==LOAD_STATE.ERROR||this.removePlaceholder())}onError(){this.state=LOAD_STATE.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,
vendor: 5,624 bytes, line 1
1content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===LOAD_STATE.LOADING,this)}isError(){return this.state===LOAD_STATE.ERROR}isImageContent(){return"image"===this.type}setDisplayedSize(t,e){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,e),!this.instance.dispatch("contentResize",{content:this,width:t,height:e}).defaultPrevented&&(setWidthHeight(this.element,t,e),this.isImageContent()&&!this.isError()))){const i=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=e,i?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:e,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==LOAD_STATE.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,e=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||e>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=e+"px",t.dataset.largestUsedSize=String(e))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented||(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,e;let i=createElement("pswp__error-msg","div");i.innerText=null!==(t=null===(e=this.instance.options)||void 0===e?void 0:e.errorMsg)&&void 0!==t?t:"",i=this.instance.applyFilters("contentErrorElement",i,this),this.element=createElement("pswp__content pswp__error-msg-container","div"),this.element.appendChild(i),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===LOAD_STATE.ERROR)return void this.displayError();if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||isSafari())?(this.isDecoding=!0,this.element.decode().catch((()=>{})).finally((()=>{this.isDecoding=!1,this.appendImage()}))):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){!this.instance.dispatch("contentActivate",{content:this}).defaultPrevented&&this.slide&&(this.isImageContent()&&this.isDecoding&&!isSafari()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,this.instance.dispatch("contentRemove",{content:this}).defaultPrevented||(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),this.state!==LOAD_STATE.LOADED&&this.state!==LOAD_STATE.ERROR||this.removePlaceholder()))}}function getViewportSize(t,e){if(t.getViewportSizeFn){const i=t.getViewportSizeFn(t,e);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function parsePaddingOption(t,e,i,s,n){let o=0;if(e.paddingFn)o=e.paddingFn(i,s,n)[t];else if(e.padding)o=e.padding[t];else{const i="padding"+t[0].toUpperCase()+t.slice(1);e[i]&&(o=e[i])}return Number(o)||0}function getPanAreaSize(t,e,i,s){return{x:e.x-parsePaddingOption("left",t,e,i,s)-parsePaddingOption("right",t,e,i,s),y:e.y-parsePaddingOption("top",t,e,i,s)-parsePaddingOption("bottom",t,e,i,s)}}const MAX_IMAGE_WIDTH=4e3;class ZoomLevel{constructor(t,e,i,s){this.pswp=s,this.options=t,this.itemData=e,this.index=i,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,e,i){const s={x:t,y:e};this.elementSize=s,this.panAreaSize=i;const n=i.x/s.x,o=i.y/s.y;this.fit=Math.min(1,n<o?n:o),this.fill=Math.min(1,n>o?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const e=t+"ZoomLevel",i=this.options[e];if(i)return"function"==typeof i?i(this):"fill"===i?this.fill:"fit"===i?this.fit:Number(i)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,3*this.fit),this.elementSize&&t*this.elementSize.x>4e3&&(t=4e3/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,4*this.fit)}}
vendor: 4,176 bytes, line 1
1function lazyLoadData(t,e,i){const s=e.createContentFromData(t,i);let n;const{options:o}=e;if(o){let h;n=new ZoomLevel(o,t,-1),h=e.pswp?e.pswp.viewportSize:getViewportSize(o,e);const l=getPanAreaSize(o,h,t,i);n.update(s.width,s.height,l)}return s.lazyLoad(),n&&s.setDisplayedSize(Math.ceil(s.width*n.initial),Math.ceil(s.height*n.initial)),s}function lazyLoadSlide(t,e){const i=e.getItemData(t);if(!e.dispatch("lazyLoadSlide",{index:t,itemData:i}).defaultPrevented)return lazyLoadData(i,e,t)}class PhotoSwipeBase extends Eventable{getNumItems(){var t;let e=0;const i=null===(t=this.options)||void 0===t?void 0:t.dataSource;i&&"length"in i?e=i.length:i&&"gallery"in i&&(i.items||(i.items=this._getGalleryDOMElements(i.gallery)),i.items&&(e=i.items.length));const s=this.dispatch("numItems",{dataSource:i,numItems:e});return this.applyFilters("numItems",s.numItems,i)}createContentFromData(t,e){return new Content(t,this,e)}getItemData(t){var e;const i=null===(e=this.options)||void 0===e?void 0:e.dataSource;let s={};Array.isArray(i)?s=i[t]:i&&"gallery"in i&&(i.items||(i.items=this._getGalleryDOMElements(i.gallery)),s=i.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var e,i;return null!==(e=this.options)&&void 0!==e&&e.children||null!==(i=this.options)&&void 0!==i&&i.childSelector?getElementsFromOption(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const e={element:t},i="A"===t.tagName?t:t.querySelector("a");if(i){e.src=i.dataset.pswpSrc||i.href,i.dataset.pswpSrcset&&(e.srcset=i.dataset.pswpSrcset),e.width=i.dataset.pswpWidth?parseInt(i.dataset.pswpWidth,10):0,e.height=i.dataset.pswpHeight?parseInt(i.dataset.pswpHeight,10):0,e.w=e.width,e.h=e.height,i.dataset.pswpType&&(e.type=i.dataset.pswpType);const n=t.querySelector("img");var s;if(n)e.msrc=n.currentSrc||n.src,e.alt=null!==(s=n.getAttribute("alt"))&&void 0!==s?s:"";(i.dataset.pswpCropped||i.dataset.cropped)&&(e.thumbCropped=!0)}return this.applyFilters("domItemData",e,t,i)}lazyLoadData(t,e){return lazyLoadData(t,this,e)}}class PhotoSwipeLightbox extends PhotoSwipeBase{constructor(t){super(),this.options=t||{},this._uid=0,this.shouldOpen=!1,this._preloadedContent=void 0,this.onThumbnailsClick=this.onThumbnailsClick.bind(this)}init(){getElementsFromOption(this.options.gallery,this.options.gallerySelector).forEach((t=>{t.addEventListener("click",this.onThumbnailsClick,!1)}))}onThumbnailsClick(t){if(specialKeyUsed(t)||window.pswp)return;let e={x:t.clientX,y:t.clientY};e.x||e.y||(e=null);let i=this.getClickedIndex(t);i=this.applyFilters("clickedIndex",i,t,this);const s={gallery:t.currentTarget};i>=0&&(t.preventDefault(),this.loadAndOpen(i,s,e))}getClickedIndex(t){if(this.options.getClickedIndexFn)return this.options.getClickedIndexFn.call(this,t);const e=t.target,i=getElementsFromOption(this.options.children,this.options.childSelector,t.currentTarget).findIndex((t=>t===e||t.contains(e)));return-1!==i?i:this.options.children||this.options.childSelector?-1:0}loadAndOpen(t,e,i){if(window.pswp||!this.options)return!1;if(!e&&this.options.gallery&&this.options.children){const t=getElementsFromOption(this.options.gallery);t[0]&&(e={gallery:t[0]})}return this.options.index=t,this.options.initialPointerPos=i,this.shouldOpen=!0,this.preload(t,e),!0}preload(t,e){const{options:i}=this;e&&(i.dataSource=e);const s=[],n=typeof i.pswpModule;if(isPswpClass(i.pswpModule))s.push(Promise.resolve(i.pswpModule));else{if("string"===n)throw new Error("pswpModule as string is no longer supported");if("function"!==n)throw new Error("pswpModule is not valid");s.push(i.pswpModule())}"function"==typeof i.openPromise&&s.push(i.openPromise()),!1!==i.preloadFirstSlide&&t>=0&&(this._preloadedContent=lazyLoadSlide(t,this));const o=++this._uid;Promise.all(s).then((t=>{if(this.shouldOpen){const e=t[0];this._openPhotoswipe(e,o)}}))}_openPhotoswipe(t,e){if(e!==this._uid&&this.shouldOpen)return;if(this.shouldOpen=!1,window.pswp)return;const i="object"==typeof t?new t.default(this.options):new t(this.options);
1this.pswp=i,window.pswp=i,Object.keys(this._listeners).forEach((t=>{var e;null===(e=this._listeners[t])||void 0===e||e.forEach((e=>{i.on(t,e)}))})),Object.keys(this._filters).forEach((t=>{var e;null===(e=this._filters[t])||void 0===e||e.forEach((e=>{i.addFilter(t,e.fn,e.priority)}))})),this._preloadedContent&&(i.contentLoader.addToCache(this._preloadedContent),this._preloadedContent=void 0),i.on("destroy",(()=>{this.pswp=void 0,delete window.pswp})),i.init()}destroy(){var t;null===(t=this.pswp)||void 0===t||t.destroy(),this.shouldOpen=!1,this._listeners={},getElementsFromOption(this.options.gallery,this.options.gallerySelector).forEach((t=>{t.removeEventListener("click",this.onThumbnailsClick,!1)}))}}const HAS_DOM_2="object"==typeof HTMLElement;function isDOMElement(t){return HAS_DOM_2?t instanceof HTMLElement:t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName}function addClasses(t,e){e.forEach((function(e){t.classList.add(e)}))}function removeClasses(t,e){e.forEach((function(e){t.classList.remove(e)}))}const RULES=".drift-bounding-box,.drift-zoom-pane{position:absolute;pointer-events:none}@keyframes noop{0%{zoom:1}}@-webkit-keyframes noop{0%{zoom:1}}.drift-zoom-pane.drift-open{display:block}.drift-zoom-pane.drift-closing,.drift-zoom-pane.drift-opening{animation:noop 1ms;-webkit-animation:noop 1ms}.drift-zoom-pane{overflow:hidden;width:100%;height:100%;top:0;left:0}.drift-zoom-pane-loader{display:none}.drift-zoom-pane img{position:absolute;display:block;max-width:none;max-height:none}";function injectBaseStylesheet(){if(document.querySelector(".drift-base-styles"))return;const t=document.createElement("style");t.type="text/css",t.classList.add("drift-base-styles"),t.appendChild(document.createTextNode(RULES));const e=document.head;e.insertBefore(t,e.firstChild)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var s=e[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function throwIfMissing(){throw new Error("Missing parameter")}class BoundingBox{constructor(t){this.isShowing=!1;const{namespace:e=null,zoomFactor:i=throwIfMissing(),containerEl:s=throwIfMissing()}=t;this.settings={namespace:e,zoomFactor:i,containerEl:s},this.openClasses=this._buildClasses("open"),this._buildElement()}_buildClasses(t){const e=[`drift-${t}`],i=this.settings.namespace;return i&&e.push(`${i}-${t}`),e}_buildElement(){this.el=document.createElement("div"),addClasses(this.el,this._buildClasses("bounding-box"))}show(t,e){this.isShowing=!0,this.settings.containerEl.appendChild(this.el);const i=this.el.style;i.width=`${Math.round(t/this.settings.zoomFactor)}px`,i.height=`${Math.round(e/this.settings.zoomFactor)}px`,addClasses(this.el,this.openClasses)}hide(){this.isShowing&&this.settings.containerEl.removeChild(this.el),this.isShowing=!1,removeClasses(this.el,this.openClasses)}setPosition(t,e,i){const s=window.pageXOffset,n=window.pageYOffset;let o=i.left+t*i.width-this.el.clientWidth/2+s,h=i.top+e*i.height-this.el.clientHeight/2+n;o<i.left+s?o=i.left+s:o+this.el.clientWidth>i.left+i.width+s&&(o=i.left+i.width-this.el.clientWidth+s),h<i.top+n?h=i.top+n:h+this.el.clientHeight>i.top+i.height+n&&(h=i.top+i.height-this.el.clientHeight+n),this.el.style.left=`${o}px`,this.el.style.top=`${h}px`}}var Trigger=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,t),this._show=this._show.bind(this),this._hide=this._hide.bind(this),this._handleEntry=this._handleEntry.bind(this),this._handleMovement=this._handleMovement.bind(this);var i=e.el,s=void 0===i?throwIfMissing():i,n=e.zoomPane,o=void 0===n?throwIfMissing():n,h=e.sourceAttribute,l=void 0===h?throwIfMissing():h,a=e.handleTouch,r=void 0===a?throwIfMissing():a,d=e.onShow,c=void 0===d?null:d,p=e.onHide,m=void 0===p?null:p,u=e.hoverDelay,g=void 0===u?0:u,f=e.touchDelay,v=void 0===f?0:f,y=e.hoverBoundingBox,w=void 0===y?throwIfMissing():y,_=e.touchBoundingBox,E=void 0===_?throwIfMissing():_,C=e.namespace,S=void 0===C?null:C,b=e.zoomFactor,D=void 0===b?throwIfMissing():b,L=e.boundingBoxContainer,A=void 0===L?throwIfMissing():L,z=e.passive,I=void 0!==z&&z;this.settings={el:s,zoomPane:o,sourceAttribute:l,handleTouch:r,onShow:c,onHide:m,hoverDelay:g,touchDelay:v,hoverBoundingBox:w,touchBoundingBox:E,namespace:S,zoomFactor:D,boundingBoxContainer:A,passive:I},(this.settings.hoverBoundingBox||this.settings.touchBoundingBox)&&(this.boundingBox=new BoundingBox({namespace:this.settings.namespace,zoomFactor:this.settings.zoomFactor,containerEl:this.settings.boundingBoxContainer})),this.enabled=!0,this._bindEvents()}return _createClass(t,[{key:"_preventDefault",value:function(t){t.preventDefault()}},{key:"_preventDefaultAllowTouchScroll",value:function(t){this.settings.touchDelay&&this._isTouchEvent(t)&&!this.isShowing||t.preventDefault()}},{key:"_isTouchEvent",value:function(t){return!!t.touches}},{key:"_bindEvents",value:function(){this.settings.el.addEventListener("mouseenter",this._handleEntry),this.settings.el.addEventListener("mouseleave",this._hide),this.settings.el.addEventListener("mousemove",this._handleMovement);var t={passive:this.settings.passive};this.settings.handleTouch?(this.settings.el.addEventListener("touchstart",this._handleEntry,t),this.settings.el.addEventListener("touchend",this._hide),this.settings.el.addEventListener("touchmove",this._handleMovement,t)):(this.settings.el.addEventListener("touchstart",this._preventDefault,t),this.settings.el.addEventListener("touchend",this._preventDefault),this.settings.el.addEventListener("touchmove",this._preventDefault,t))}},{key:"_unbindEvents",value:function(){this.settings.el.removeEventListener("mouseenter",this._handleEntry),this.settings.el.removeEventListener("mouseleave",this._hide),this.settings.el.removeEventListener("mousemove",this._handleMovement),this.settings.handleTouch?(this.settings.el.removeEventListener("touchstart",this._handleEntry),this.settings.el.removeEventListener("touchend",this._hide),this.settings.el.removeEventListener("touchmove",this._handleMovement)):(this.settings.el.removeEventListener("touchstart",this._preventDefault),this.settings.el.removeEventListener("touchend",this._preventDefault),this.settings.el.removeEventListener("touchmove",this._preventDefault))}},{key:"_handleEntry",value:function(t){this._preventDefaultAllowTouchScroll(t),this._lastMovement=t,"mouseenter"
1==t.type&&this.settings.hoverDelay?this.entryTimeout=setTimeout(this._show,this.settings.hoverDelay):this.settings.touchDelay?this.entryTimeout=setTimeout(this._show,this.settings.touchDelay):this._show()}},{key:"_show",value:function(){if(this.enabled){var t=this.settings.onShow;if(t&&"function"==typeof t&&t(),this.settings.zoomPane.show(this.settings.el.getAttribute(this.settings.sourceAttribute),this.settings.el.clientWidth,this.settings.el.clientHeight),this._lastMovement){var e=this._lastMovement.touches;(e&&this.settings.touchBoundingBox||!e&&this.settings.hoverBoundingBox)&&this.boundingBox.show(this.settings.zoomPane.el.clientWidth,this.settings.zoomPane.el.clientHeight)}this._handleMovement()}}},{key:"_hide",value:function(t){t&&this._preventDefaultAllowTouchScroll(t),this._lastMovement=null,this.entryTimeout&&clearTimeout(this.entryTimeout),this.boundingBox&&this.boundingBox.hide();var e=this.settings.onHide;e&&"function"==typeof e&&e(),this.settings.zoomPane.hide()}},{key:"_handleMovement",value:function(t){if(t)this._preventDefaultAllowTouchScroll(t),this._lastMovement=t;else{if(!this._lastMovement)return;t=this._lastMovement}var e,i;if(t.touches){var s=t.touches[0];e=s.clientX,i=s.clientY}else e=t.clientX,i=t.clientY;var n=this.settings.el.getBoundingClientRect(),o=e-n.left,h=i-n.top,l=o/this.settings.el.clientWidth,a=h/this.settings.el.clientHeight;this.boundingBox&&this.boundingBox.setPosition(l,a,n),this.settings.zoomPane.setPosition(l,a,n)}},{key:"isShowing",get:function(){return this.settings.zoomPane.isShowing}}]),t}();class ZoomPane{constructor(t={}){if(this.HAS_ANIMATION=!1,"undefined"!=typeof document){const t=document.createElement("div").style;this.HAS_ANIMATION="animation"in t||"webkitAnimation"in t}this._completeShow=this._completeShow.bind(this),this._completeHide=this._completeHide.bind(this),this._handleLoad=this._handleLoad.bind(this),this.isShowing=!1;const{container:e=null,zoomFactor:i=throwIfMissing(),inline:s=throwIfMissing(),namespace:n=null,showWhitespaceAtEdges:o=throwIfMissing(),containInline:h=throwIfMissing(),inlineOffsetX:l=0,inlineOffsetY:a=0,inlineContainer:r=document.body}=t;this.settings={container:e,zoomFactor:i,inline:s,namespace:n,showWhitespaceAtEdges:o,containInline:h,inlineOffsetX:l,inlineOffsetY:a,inlineContainer:r},this.openClasses=this._buildClasses("open"),this.openingClasses=this._buildClasses("opening"),this.closingClasses=this._buildClasses("closing"),this.inlineClasses=this._buildClasses("inline"),this.loadingClasses=this._buildClasses("loading"),this._buildElement()}_buildClasses(t){const e=[`drift-${t}`],i=this.settings.namespace;return i&&e.push(`${i}-${t}`),e}_buildElement(){this.el=document.createElement("div"),addClasses(this.el,this._buildClasses("zoom-pane"));const t=document.createElement("div");addClasses(t,this._buildClasses("zoom-pane-loader")),this.el.appendChild(t),this.imgEl=document.createElement("img"),this.el.appendChild(this.imgEl)}
1_setImageURL(t){this.imgEl.setAttribute("src",t)}_setImageSize(t,e){this.imgEl.style.width=t*this.settings.zoomFactor+"px",this.imgEl.style.height=e*this.settings.zoomFactor+"px"}setPosition(t,e,i){const s=this.imgEl.offsetWidth,n=this.imgEl.offsetHeight,o=this.el.offsetWidth,h=this.el.offsetHeight;let l=o/2-s*t,a=h/2-n*e;const r=o-s,d=h-n,c=r>0,p=d>0,m=c?r/2:0,u=p?d/2:0,g=c?r/2:r,f=p?d/2:d;if(this.el.parentElement===this.settings.inlineContainer){const s=window.pageXOffset,n=window.pageYOffset;let l=i.left+t*i.width-o/2+this.settings.inlineOffsetX+s,a=i.top+e*i.height-h/2+this.settings.inlineOffsetY+n;this.settings.containInline&&(l<i.left+s?l=i.left+s:l+o>i.left+i.width+s&&(l=i.left+i.width-o+s),a<i.top+n?a=i.top+n:a+h>i.top+i.height+n&&(a=i.top+i.height-h+n)),this.el.style.left=`${l}px`,this.el.style.top=`${a}px`}this.settings.showWhitespaceAtEdges||(l>m?l=m:l<g&&(l=g),a>u?a=u:a<f&&(a=f)),this.imgEl.style.transform=`translate(${l}px, ${a}px)`,this.imgEl.style.webkitTransform=`translate(${l}px, ${a}px)`}get _isInline(){const t=this.settings.inline;return!0===t||"number"==typeof t&&window.innerWidth<=t}_removeListenersAndResetClasses(){this.el.removeEventListener("animationend",this._completeShow),this.el.removeEventListener("animationend",this._completeHide),this.el.removeEventListener("webkitAnimationEnd",this._completeShow),this.el.removeEventListener("webkitAnimationEnd",this._completeHide),removeClasses(this.el,this.openClasses),removeClasses(this.el,this.closingClasses)}show(t,e,i){this._removeListenersAndResetClasses(),this.isShowing=!0,addClasses(this.el,this.openClasses),this.imgEl.getAttribute("src")!=t&&(addClasses(this.el,this.loadingClasses),this.imgEl.addEventListener("load",this._handleLoad),this._setImageURL(t)),this._setImageSize(e,i),this._isInline?this._showInline():this._showInContainer(),this.HAS_ANIMATION&&(this.el.addEventListener("animationend",this._completeShow),this.el.addEventListener("webkitAnimationEnd",this._completeShow),addClasses(this.el,this.openingClasses))}_showInline(){this.settings.inlineContainer.appendChild(this.el),addClasses(this.el,this.inlineClasses)}_showInContainer(){this.settings.container.appendChild(this.el)}hide(){this._removeListenersAndResetClasses(),this.isShowing=!1,this.HAS_ANIMATION?(this.el.addEventListener("animationend",this._completeHide),this.el.addEventListener("webkitAnimationEnd",this._completeHide),addClasses(this.el,this.closingClasses)):(removeClasses(this.el,this.openClasses),removeClasses(this.el,this.inlineClasses))}_completeShow(){this.el.removeEventListener("animationend",this._completeShow),this.el.removeEventListener("webkitAnimationEnd",this._completeShow),removeClasses(this.el,this.openingClasses)}_completeHide(){this.el.removeEventListener("animationend",this._completeHide),this.el.removeEventListener("webkitAnimationEnd",this._completeHide),removeClasses(this.el,this.openClasses),removeClasses(this.el,this.closingClasses),removeClasses(this.el,this.inlineClasses),this.el.style.left="",this.el.style.top="",this.el.parentElement===this.settings.container?this.settings.container.removeChild(this.el):this.el.parentElement===this.settings.inlineContainer&&this.settings.inlineContainer.removeChild(this.el)}_handleLoad(){this.imgEl.removeEventListener("load",this._handleLoad),removeClasses(this.el,this.loadingClasses)}}class Drift{constructor(t,e={}){if(this.VERSION="1.5.1",this.triggerEl=t,this.destroy=this.destroy.bind(this),!isDOMElement(this.triggerEl))throw new TypeError("`new Drift` requires a DOM element as its first argument.");const i=e.namespace||null,s=e.showWhitespaceAtEdges||!1,n=e.containInline||!1,o=e.inlineOffsetX||0,h=e.inlineOffsetY||0,l=e.inlineContainer||document.body,a=e.sourceAttribute||"data-zoom",r=e.zoomFactor||3,d=void 0===e.paneContainer?document.body:e.paneContainer,c=e.inlinePane||375,p=!("handleTouch"in e)||!!e.handleTouch,m=e.onShow||null,u=e.onHide||null,g=!("injectBaseStyles"in e)||!!e.injectBaseStyles,f=e.hoverDelay||0,v=e.touchDelay||0,y=e.hoverBoundingBox||!1,w=e.touchBoundingBox||!1,_=e.boundingBoxContainer||document.body,E=e.passive||!1;if(!0!==c&&!isDOMElement(d))throw new TypeError("`paneContainer` must be a DOM element when `inl
1inePane !== true`");if(!isDOMElement(l))throw new TypeError("`inlineContainer` must be a DOM element");this.settings={namespace:i,showWhitespaceAtEdges:s,containInline:n,inlineOffsetX:o,inlineOffsetY:h,inlineContainer:l,sourceAttribute:a,zoomFactor:r,paneContainer:d,inlinePane:c,handleTouch:p,onShow:m,onHide:u,injectBaseStyles:g,hoverDelay:f,touchDelay:v,hoverBoundingBox:y,touchBoundingBox:w,boundingBoxContainer:_,passive:E},this.settings.injectBaseStyles&&injectBaseStylesheet(),this._buildZoomPane(),this._buildTrigger()}get isShowing(){return this.zoomPane.isShowing}get zoomFactor(){return this.settings.zoomFactor}set zoomFactor(t){this.settings.zoomFactor=t,this.zoomPane.settings.zoomFactor=t,this.trigger.settings.zoomFactor=t,this.boundingBox.settings.zoomFactor=t}_buildZoomPane(){this.zoomPane=new ZoomPane({container:this.settings.paneContainer,zoomFactor:this.settings.zoomFactor,showWhitespaceAtEdges:this.settings.showWhitespaceAtEdges,containInline:this.settings.containInline,inline:this.settings.inlinePane,namespace:this.settings.namespace,inlineOffsetX:this.settings.inlineOffsetX,inlineOffsetY:this.settings.inlineOffsetY,inlineContainer:this.settings.inlineContainer})}_buildTrigger(){this.trigger=new Trigger({el:this.triggerEl,zoomPane:this.zoomPane,handleTouch:this.settings.handleTouch,onShow:this.settings.onShow,onHide:this.settings.onHide,sourceAttribute:this.settings.sourceAttribute,hoverDelay:this.settings.hoverDelay,touchDelay:this.settings.touchDelay,hoverBoundingBox:this.settings.hoverBoundingBox,touchBoundingBox:this.settings.touchBoundingBox,namespace:this.settings.namespace,zoomFactor:this.settings.zoomFactor,boundingBoxContainer:this.settings.boundingBoxContainer,passive:this.settings.passive})}setZoomImageURL(t){this.zoomPane._setImageURL(t)}disable(){this.trigger.enabled=!1}enable(){this.trigger.enabled=!0}destroy(){this.trigger._hide(),this.trigger._unbindEvents()}}Object.defineProperty(Drift.prototype,"isShowing",{get:function(){return this.isShowing}}),Object.defineProperty(Drift.prototype,"zoomFactor",{get:function(){return this.zoomFactor},set:function(t){this.zoomFactor=t}}),Drift.prototype.setZoomImageURL=Drift.prototype.setZoomImageURL,Drift.prototype.disable=Drift.prototype.disable,Drift.prototype.enable=Drift.prototype.enable,Drift.prototype.destroy=Drift.prototype.destroy;export{PhotoSwipeLightbox as Lightbox,Drift as Zoom};
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.