Refs #169. Pin and verify pristine distribution assets, upgrade to 1.15.2, and add tested maintainer tooling plus desktop and touch browser checks.
10 lines
48 KiB
JavaScript
10 lines
48 KiB
JavaScript
/*!
|
||
* Viewer.js v1.15.2
|
||
* https://fengyuanchen.github.io/viewerjs
|
||
*
|
||
* Copyright 2015-present Chen Fengyuan
|
||
* Released under the MIT license
|
||
*
|
||
* Date: 2026-10-01T05:04:39.019Z
|
||
*/
|
||
((t,e)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Viewer=e()})(this,function(){function o(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,h(n.key),n)}}function n(t,e,i){return(e=h(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function s(e,t){var i,n=Object.keys(e);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(e),t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)),n}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?s(Object(i),!0).forEach(function(t){n(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):s(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function h(t){t=((t,e)=>{if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0===i)return("string"===e?String:Number)(t);if("object"!=typeof(i=i.call(t,e||"default")))return i;throw new TypeError("@@toPrimitive must return a primitive value.")})(t,"string");return"symbol"==typeof t?t:t+""}function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var q={backdrop:!0,button:!0,navbar:!0,navigation:!1,title:!0,toolbar:!0,className:"",container:"body",filter:null,fullscreen:!0,inheritedAttributes:["crossOrigin","decoding","isMap","loading","referrerPolicy","sizes","srcset","useMap"],initialCoverage:.9,initialViewIndex:0,inline:!1,autoplay:!0,interval:5e3,keyboard:!0,focus:!0,loading:!0,loop:!0,preload:!0,minWidth:200,minHeight:100,movable:!0,magnifier:!1,rotatable:!0,rotateOnGesture:!0,rotateOnTouch:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnGesture:!0,zoomOnWheel:!0,slideOnTouch:!0,slideOnWheel:!0,toggleOnDblclick:!0,tooltip:!0,transition:!0,zIndex:2015,zIndexInline:0,zoomRatio:.1,minZoomRatio:.01,maxZoomRatio:100,url:"src",ready:null,show:null,shown:null,hide:null,hidden:null,view:null,viewed:null,move:null,moved:null,rotate:null,rotated:null,scale:null,scaled:null,zoom:null,zoomed:null,play:null,playing:null,stop:null},t="undefined"!=typeof window&&void 0!==window.document,e=t?window:{},c=!(!t||!e.document.documentElement)&&"ontouchstart"in e.document.documentElement,i=t&&"PointerEvent"in e,x="viewer",j="move",V="rotate",H="switch",B="transform",G="zoom",K="".concat(x,"-active"),U="".concat(x,"-close"),Z="".concat(x,"-fade"),$="".concat(x,"-fixed"),_="".concat(x,"-fullscreen"),J="".concat(x,"-fullscreen-exit"),E="".concat(x,"-hide"),Q="".concat(x,"-hide-md-down"),tt="".concat(x,"-hide-sm-down"),et="".concat(x,"-hide-xs-down"),d="".concat(x,"-in"),z="".concat(x,"-invisible"),v="".concat(x,"-loading"),it="".concat(x,"-move"),nt="".concat(x,"-open"),m="".concat(x,"-show"),O="".concat(x,"-transition"),T="click",at="dblclick",ot="dragstart",st="focusin",rt="keydown",f="load",p="error",ht=i?"pointerdown":c?"touchstart":"mousedown",lt=i?"pointerenter":"mouseenter",ct=i?"pointerleave":"mouseleave",ut=i?"pointermove":c?"touchmove":"mousemove",dt=i?"pointerup pointercancel":c?"touchend touchcancel":"mouseup",u="transitionend",mt="gesturestart gesturechange gestureend",b="viewed",gt="rotated",vt="playing",ft="".concat(x,"Action"),pt=/\s+/,bt=["zoom-in","zoom-out","one-to-one","reset","prev","play","next","rotate-left","rotate-right","flip-horizontal","flip-vertical"];function k(t){return"string"==typeof t}var wt={ctrl:"ctrlKey",shift:"shiftKey",alt:"altKey",meta:"metaKey"};function yt(t,e){return!!t&&(!0===t||k(t)&&t.split("+").every(function(t){return e[wt[t.trim().toLowerCase()]]}))}var xt=Number.isNaN||e.isNaN;function D(t){return"number"==typeof t&&!xt(t)}function I(t){return void 0===t}function a(t){return"object"===l(t)&&null!==t}var Et=Object.prototype.hasOwnProperty;function M(t){if(!a(t))return!1;try{var e=t.constructor,i=e.prototype;return e&&i&&Et.call(i,"isPrototypeOf")}catch(t){return!1}}function S(t){return"function"==typeof t}function A(e,i){if(e&&S(i))if(Array.isArray(e)||D(e.length))for(var t=e.length,n=0;n<t&&!1!==i.call(e,e[n],n,e);n+=1);else a(e)&&Object.keys(e).forEach(function(t){i.call(e,e[t],t,e)})}function zt(i,n,t){A(t,function(t){var e=n.getAttribute(t);null!==e&&i.setAttribute(t,e)})}function C(t,e){t=t.transition;return t&&!1!==t[e]}var g=Object.assign||function(i){for(var t=arguments.length,e=new Array(1<t?t-1:0),n=1;n<t;n++)e[n-1]=arguments[n];return a(i)&&0<e.length&&e.forEach(function(e){a(e)&&Object.keys(e).forEach(function(t){i[t]=e[t]})}),i},Ot=/^(?:width|height|left|top|marginLeft|marginTop)$/;function N(t,e){var i=t.style;A(e,function(t,e){Ot.test(e)&&D(t)&&(t+="px"),i[e]=t})}function w(t,e){return t&&e&&(t.classList?t.classList.contains(e):-1<t.className.split(pt).indexOf(e))}function R(t,e){var i;t&&e&&(D(t.length)?A(t,function(t){R(t,e)}):t.classList?t.classList.add(e):(i=t.className.trim())?i.indexOf(e)<0&&(t.className="".concat(i," ").concat(e)):t.className=e)}function y(t,e){var i;t&&e&&(D(t.length)?A(t,function(t){y(t,e)}):t.classList?t.classList.remove(e):(i=t.className)&&0<=i.indexOf(e)&&(t.className=i.split(pt).filter(function(t){return t&&t!==e}).join(" ")))}function L(t,e,i){e&&(D(t.length)?A(t,function(t){L(t,e,i)}):(i?R:y)(t,e))}var Tt=/([a-z\d])([A-Z])/g;function kt(t){return t.replace(Tt,"$1-$2").toLowerCase()}function Y(t,e){return a(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(kt(e)))}function Dt(t,e,i){a(i)?t[e]=i:t.dataset?t.dataset[e]=i:t.setAttribute("data-".concat(kt(e)),i)}Mt=!1,t&&(It=!1,i=function(){},t=Object.defineProperty({},"once",{get:function(){return Mt=!0,It},set:function(t){It=t}}),e.addEventListener("test",i,t),e.removeEventListener("test",i,t));var It,Mt,St=Mt;function X(i,t,n,e){var a=3<arguments.length&&void 0!==e?e:{},o=n;t.trim().split(pt).forEach(function(t){var e;St||(e=i.listeners)&&e[t]&&e[t][n]&&(o=e[t][n],delete e[t][n],0===Object.keys(e[t]).length&&delete e[t],0===Object.keys(e).length)&&delete i.listeners,i.removeEventListener(t,o,a)})}function P(o,t,s,e){var r=3<arguments.length&&void 0!==e?e:{},h=s;t.trim().split(pt).forEach(function(n){var t,a;r.once&&!St&&(t=o.listeners,h=function(){delete a[n][s],o.removeEventListener(n,h,r);for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];s.apply(o,e)},(a=void 0===t?{}:t)[n]||(a[n]={}),a[n][s]&&o.removeEventListener(n,a[n][s],r),a[n][s]=h,o.listeners=a),o.addEventListener(n,h,r)})}function F(t,e,i,n){var a;return S(Event)&&S(CustomEvent)?a=new CustomEvent(e,r({bubbles:!0,cancelable:!0,detail:i},n)):(a=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,i),t.dispatchEvent(a)}function At(t){var e=t.rotate,i=t.scaleX,n=t.scaleY,a=t.translateX,t=t.translateY,o=[],a=(D(a)&&0!==a&&o.push("translateX(".concat(a,"px)")),D(t)&&0!==t&&o.push("translateY(".concat(t,"px)")),D(e)&&0!==e&&o.push("rotate(".concat(e,"deg)")),D(i)&&D(n)&&(1!==i||1!==n)&&(o.push("scaleX(".concat(i,")")),o.push("scaleY(".concat(n,")"))),o.length?o.join(" "):"none");return{WebkitTransform:a,msTransform:a,transform:a}}var Ct=e.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(e.navigator.userAgent);function Nt(t,e,i){var n,a=document.createElement("img");return t.naturalWidth&&!Ct?i(t.naturalWidth,t.naturalHeight):(n=document.body||document.documentElement,a.onload=function(){i(a.width,a.height),Ct||n.removeChild(a)},zt(a,t,e.inheritedAttributes),a.src=t.src,Ct||(a.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",n.appendChild(a))),a}function W(t){switch(t){case 2:return et;case 3:return tt;case 4:return Q;default:return""}}function Rt(t){var e=r({},t),o=[];return A(t,function(a,t){delete e[t],A(e,function(t){var e=Math.abs(a.startX-t.startX),i=Math.abs(a.startY-t.startY),n=Math.abs(a.endX-t.endX),t=Math.abs(a.endY-t.endY),e=Math.sqrt(e*e+i*i),i=Math.sqrt(n*n+t*t);o.push((i-e)/e)})}),o.sort(function(t,e){return Math.abs(t)<Math.abs(e)}),o[0]}function Lt(t){var e=r({},t),n=[];return A(t,function(i,t){delete e[t],A(e,function(t){var e=Math.atan2(t.startY-i.startY,t.startX-i.startX),t=Math.atan2(t.endY-i.endY,t.endX-i.endX)-e;t>Math.PI?t-=2*Math.PI:t<-Math.PI&&(t+=2*Math.PI),n.push(180*t/Math.PI)})}),n.sort(function(t,e){return Math.abs(e)-Math.abs(t)}),n[0]||0}function Yt(t,e){var i=t.pageX,t=t.pageY,n={endX:i,endY:t};return e?n:r({timeStamp:Date.now(),startX:i,startY:t},n)}var Xt,i={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var t=this.ownerDocument,e=t.body||t.documentElement;this.body=e,this.scrollbarWidth=window.innerWidth-t.documentElement.clientWidth,this.initialBodyPaddingRight=e.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(e).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var t,e=this.options,i=this.parent;e.inline&&(t={width:Math.max(i.offsetWidth,e.minWidth),height:Math.max(i.offsetHeight,e.minHeight)},this.parentData=t),!this.fulled&&t||(t=this.containerData),this.viewerData=g({},t)},renderViewer:function(){this.options.inline&&!this.fulled&&N(this.viewer,this.viewerData)},initList:function(){var r=this,t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.index,e=this.element,h=this.options,l=this.list,c=[],i=M(h.navbar)?h.navbar:{},n=document.createElement("li"),a=(this.containerData||this.initContainer(),l.appendChild(n),this.isNavbarVertical?n.offsetHeight+parseInt(window.getComputedStyle(n).marginTop,10):n.offsetWidth+parseInt(window.getComputedStyle(n).marginLeft,10)),u=(l.removeChild(n),D(i.visibleItemCount)?Math.floor(i.visibleItemCount):Math.floor((this.isNavbarVertical?this.containerData.height:this.containerData.width)/a)),d=0<(u=Math.min(u,this.length))?Math.min(Math.max(0,t-Math.floor(u/2)),Math.max(0,this.length-u)):0,m=0<u?Math.min(this.length,d+u):this.length;l.innerHTML="",A(this.images,function(t,e){var i,n,a,o,s;0<u&&(e<d||m<=e)||(i=t.src,n=t.alt||(k(n=i)?decodeURIComponent(n.replace(/^.*\//,"").replace(/[?&#].*$/,"")):""),a=r.getImageURL(t),(i||a)&&(o=document.createElement("li"),zt(s=document.createElement("img"),t,h.inheritedAttributes),h.navbar&&(s.src=i||a),s.alt=n,s.setAttribute("data-original-url",a||i),o.setAttribute("data-index",e),o.setAttribute("data-viewer-action","view"),o.setAttribute("role","button"),h.keyboard&&o.setAttribute("tabindex",0),o.appendChild(s),l.appendChild(o),c.push(o)))}),this.items=c,this.viewed&&(n=this.getItem(this.index))&&(R(n,K),n.setAttribute("aria-selected",!0)),A(c,function(e){var t,i,n=e.firstElementChild;Dt(n,"filled",!0),h.loading&&R(e,v),P(n,f,t=function(t){X(n,p,i),h.loading&&y(e,v),r.loadImage(t)},{once:!0}),P(n,p,i=function(){X(n,f,t),h.loading&&y(e,v)},{once:!0})}),C(h,"view")&&P(e,b,function(){R(l,O)},{once:!0})},getItem:function(e){var i;return A(this.items,function(t){return Number(Y(t,"index"))!==e||(i=t,!1)}),i},renderList:function(){var t,e,i=this.index,i=this.getItem(i);i&&(t=i.nextElementSibling,t=parseInt(window.getComputedStyle(t||i)[this.isNavbarVertical?"marginTop":"marginLeft"],10),e=this.isNavbarVertical?i.offsetHeight:i.offsetWidth,N(this.list,g(n({},this.isNavbarVertical?"height":"width",(e+t)*this.items.length-t),At(n({},this.isNavbarVertical?"translateY":"translateX",((this.isNavbarVertical?this.viewerData.height:this.viewerData.width)-e)/2-(this.isNavbarVertical?i.offsetTop:i.offsetLeft))))))},resetList:function(){var t=this.list;t.innerHTML="",y(t,O),N(t,g(n({},this.isNavbarVertical?"height":"width",0),At(n({},this.isNavbarVertical?"translateY":"translateX",0))))},initImage:function(r){var t,h=this,l=this.options,e=this.image,o=this.viewerData,i=this.title,s=this.toolbar,n=this.navbar,c={top:0,right:0,bottom:0,left:0},u=this.imageData||{},d=(i.offsetHeight&&(c.bottom=o.height-i.offsetTop),A([s,n],function(i){var n=i.offsetWidth,a=i.offsetHeight;(n||a)&&["top","right","bottom","left"].some(function(t){var e;return!!w(i,"".concat(x,"-").concat(i===s?"toolbar":"navbar","-").concat(t))&&(e=i.offsetLeft+n,"top"===t?e=i.offsetTop+a:"right"===t?e=o.width-i.offsetLeft:"bottom"===t&&(e=o.height-i.offsetTop),c[t]=Math.max(c[t],e),!0)})}),Math.max(o.width-c.left-c.right,c.left,c.right)),m=Math.max(o.height-c.top-c.bottom,c.top,c.bottom);this.imageInitializing={abort:function(){t.onload=null}},t=Nt(e,l,function(t,e){var i=t/e,n=Math.max(0,Math.min(1,l.initialCoverage)),a=d,o=m,n=(h.imageInitializing=!1,d<m*i?o=d/i:a=m*i,n=D(n)?n:.9,a=Math.min(a*n,t),o=Math.min(o*n,e),c.left+(d-a)/2),s=c.top+(m-o)/2,n={left:n,top:s,x:n,y:s,width:a,height:o,oldRatio:1,ratio:a/t,aspectRatio:i,naturalWidth:t,naturalHeight:e},s=g({},n);l.rotatable&&(n.rotate=u.rotate||0,s.rotate=0),l.scalable&&(n.scaleX=u.scaleX||1,n.scaleY=u.scaleY||1,s.scaleX=1,s.scaleY=1),h.imageData=n,h.initialImageData=s,r&&r()})},renderImage:function(t){var e,i=this,n=this.image,a=this.imageData;N(n,g({width:a.width,height:a.height,marginLeft:a.x,marginTop:a.y},At(a))),this.magnifierPoint&&this.renderMagnifier(),t&&(a=!1,this.viewing?a="view":this.moving?a="move":this.rotating?a="rotate":this.scaling?a="scale":this.zooming&&(a="zoom"),a&&C(this.options,a)&&w(n,O)?(e=function(){i.imageRendering=!1,t()},this.imageRendering={abort:function(){X(n,u,e)}},P(n,u,e,{once:!0})):t())},resetImage:function(){var t=this.image;t&&(this.viewing&&this.viewing.abort(),t.parentNode.removeChild(t),this.image=null,this.title.innerHTML="")}},t={bind:function(){var t=this.options,e=this.viewer,i=this.canvas,n=this.ownerDocument;P(e,T,this.onClick=this.click.bind(this)),P(e,ot,this.onDragStart=this.dragstart.bind(this)),P(e,lt,this.onMagnifyEnter=this.magnify.bind(this)),P(e,ut,this.onMagnify=this.magnify.bind(this)),P(e,ct,this.onMagnifierLeave=this.hideMagnifier.bind(this)),P(i,ht,this.onPointerDown=this.pointerdown.bind(this)),P(n,ut,this.onPointerMove=this.pointermove.bind(this)),P(n,dt,this.onPointerUp=this.pointerup.bind(this)),P(n,rt,this.onKeyDown=this.keydown.bind(this)),P(window,"resize",this.onResize=this.resize.bind(this)),(t.zoomable&&t.zoomOnWheel||t.slideOnWheel)&&P(e,"wheel",this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),(t.zoomable&&t.zoomOnGesture||t.rotatable&&t.rotateOnGesture)&&P(e,mt,this.onGesture=this.gesture.bind(this),{passive:!1}),t.toggleOnDblclick&&P(i,at,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var t=this.options,e=this.viewer,i=this.canvas,n=this.ownerDocument;X(e,T,this.onClick),X(e,ot,this.onDragStart),X(e,lt,this.onMagnifyEnter),X(e,ut,this.onMagnify),X(e,ct,this.onMagnifierLeave),X(i,ht,this.onPointerDown),X(n,ut,this.onPointerMove),X(n,dt,this.onPointerUp),X(n,rt,this.onKeyDown),X(window,"resize",this.onResize),(t.zoomable&&t.zoomOnWheel||t.slideOnWheel)&&X(e,"wheel",this.onWheel,{passive:!1,capture:!0}),(t.zoomable&&t.zoomOnGesture||t.rotatable&&t.rotateOnGesture)&&X(e,mt,this.onGesture,{passive:!1}),t.toggleOnDblclick&&X(i,at,this.onDblclick)}},Pt={click:function(t){var e=this.options,i=this.imageData,n=t.target,a=Y(n,ft);switch(a||"img"!==n.localName||"li"!==n.parentElement.localName||(a=Y(n=n.parentElement,ft)),c&&t.isTrusted&&n===this.canvas&&clearTimeout(this.clickCanvasTimeout),this.actionEvent=t,a){case"mix":this.played?this.stop():e.inline?this.fulled?this.exit():this.full():this.hide();break;case"hide":this.pointerMoved||this.hide();break;case"view":this.view(Y(n,"index"));break;case"zoom-in":this.zoom(.1,!0);break;case"zoom-out":this.zoom(-.1,!0);break;case"one-to-one":this.toggle();break;case"reset":this.reset();break;case"prev":this.prev(e.loop);break;case"play":this.play(e.fullscreen);break;case"next":this.next(e.loop);break;case"rotate-left":this.rotate(-90);break;case"rotate-right":this.rotate(90);break;case"flip-horizontal":this.scaleX(-i.scaleX||-1);break;case"flip-vertical":this.scaleY(-i.scaleY||-1);break;default:this.played&&this.stop()}},dblclick:function(t){t.preventDefault(),this.viewed&&t.target===this.image&&(c&&t.isTrusted&&clearTimeout(this.doubleClickImageTimeout),this.actionEvent=t.isTrusted?t:t.detail&&t.detail.originalEvent,this.toggle())},load:function(){var t=this,e=(this.timeout&&(clearTimeout(this.timeout),this.timeout=!1),this.element),i=this.options,n=this.image,a=this.index,o=this.viewerData;y(n,z),i.loading&&y(this.canvas,v),n.style.cssText="height:0;"+"margin-left:".concat(o.width/2,"px;")+"margin-top:".concat(o.height/2,"px;")+"max-width:none!important;position:relative;width:0;",this.initImage(function(){L(n,it,i.movable),L(n,O,C(i,"view")),t.renderImage(function(){t.viewed=!0,t.viewing=!1,setTimeout(function(){L(n,O,i.transition)},300),S(i.viewed)&&P(e,b,i.viewed,{once:!0}),F(e,b,{originalImage:t.images[a],index:a,image:n,originalEvent:t.viewOriginalEvent||null},{cancelable:!1}),t.viewOriginalEvent=null})})},loadImage:function(t){var n=t.target,t=n.parentNode,a=t.offsetWidth||30,o=t.offsetHeight||50,s=!!Y(n,"filled");Nt(n,this.options,function(t,e){var t=t/e,e=a,i=o;a<o*t?s?e=o*t:i=a/t:s?i=a/t:e=o*t,N(n,g({width:e,height:i},At({translateX:(a-e)/2,translateY:(o-i)/2})))})},keydown:function(t){var e=this.options;if(e.keyboard){var i=t.keyCode||t.which||t.charCode;if(this.actionEvent=t,13===i&&this.viewer.contains(t.target)&&this.click(t),this.fulled)switch(i){case 27:this.played?this.stop():e.inline?this.fulled&&this.exit():this.hide();break;case 32:this.played&&this.stop();break;case 37:this.played&&this.playing?this.playing.prev():this.prev(e.loop);break;case 38:t.preventDefault(),this.zoom(e.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(e.loop);break;case 40:t.preventDefault(),this.zoom(-e.zoomRatio,!0);break;case 48:case 49:t.ctrlKey&&(t.preventDefault(),this.toggle())}}},dragstart:function(t){"img"===t.target.localName&&t.preventDefault()},magnify:function(t){t.changedTouches||t.pointerType&&"mouse"!==t.pointerType?this.hideMagnifier():(this.magnifierPoint={clientX:t.clientX,clientY:t.clientY},this.renderMagnifier())},renderMagnifier:function(){var t,e,i,n,a,o,s,r,h,l,c,u,d=this.options,m=this.imageData,g=this.magnifier,v=this.magnifierImage,f=this.viewer,p=M(d.magnifier)?d.magnifier:{},b=this.magnifierPoint;!(d.magnifier&&this.fulled&&this.viewed&&g&&v&&b)||(d=Math.max(1,Number(p.size)||100),t=Math.max(1,Number(p.zoomRatio)||2),p=Number(p.opacity),f=f.getBoundingClientRect(),h=b.clientX-f.left,f=b.clientY-f.top,e=this.image.currentSrc||this.image.src,i=this.image.getBoundingClientRect(),b.clientX<i.left)||b.clientX>i.right||b.clientY<i.top||b.clientY>i.bottom||(b=D(m.scaleX)?m.scaleX:1,i=D(m.scaleY)?m.scaleY:1,o=(m.rotate||0)*Math.PI/180,n=(s=Math.cos(o))*b,a=(o=Math.sin(o))*b,o=-o*i,s=s*i,0==(u=b*i))?this.hideMagnifier():(r=(s*(h-(l=m.x+m.width/2))-o*(f-(c=m.y+m.height/2)))/u+m.width/2,h=(-a*(h-l)+n*(f-c))/u+m.height/2,c=n*(r*t-(l=m.width*t)/2)+o*(h*t-(f=m.height*t)/2),u=a*(r*t-l/2)+s*(h*t-f/2),this.magnifierSourcePoint={x:r,y:h},g.style.width="".concat(d,"px"),g.style.height="".concat(d,"px"),g.style.opacity="".concat(Math.max(0,Math.min(1,D(p)?p:1))),v.src=e,v.style.width="".concat(l,"px"),v.style.height="".concat(f,"px"),v.style.left="".concat(d/2-l/2-c,"px"),v.style.top="".concat(d/2-f/2-u,"px"),v.style.transform="rotate(".concat(m.rotate||0,"deg) scaleX(").concat(b,") scaleY(").concat(i,")"),g.removeAttribute("aria-hidden"),R(g,"viewer-show"))},hideMagnifier:function(){this.magnifier&&(y(this.magnifier,"viewer-show"),this.magnifier.setAttribute("aria-hidden",!0),this.magnifierPoint=null)},pointerdown:function(t){var e=this.options,i=this.pointers,n=this.imageData,a=t.buttons,o=t.button,s=0===Object.keys(i).length;this.pointerMoved=!1,!this.viewed||this.showing||this.viewing||this.hiding||("mousedown"===t.type||"pointerdown"===t.type&&"mouse"===t.pointerType)&&(D(a)&&1!==a||D(o)&&0!==o||t.ctrlKey)||(t.preventDefault(),t.changedTouches?A(t.changedTouches,function(t){i[t.identifier]=Yt(t)}):i[t.pointerId||0]=Yt(t),a=!!e.movable&&j,(e.zoomable&&e.zoomOnTouch||e.rotatable&&e.rotateOnTouch)&&1<Object.keys(i).length?a=B:e.slideOnTouch&&("touch"===t.pointerType||"touchstart"===t.type)&&this.isSwitchable()&&(a=H),a&&y(this.image,O),s&&(this.rotateThreshold=0===n.rotate),this.switching=a===H&&{x:n.x,y:n.y},this.action=a)},pointermove:function(t){var e=this.pointers,i=this.action;this.viewed&&i&&(t.preventDefault(),t.changedTouches?A(t.changedTouches,function(t){g(e[t.identifier]||{},Yt(t,!0))}):g(e[t.pointerId||0]||{},Yt(t,!0)),this.change(t),y(this.image,O))},pointerup:function(t){var e,i,n,a,o=this,s=this.options,r=this.action,h=this.pointers,l=this.viewerData;t.changedTouches?A(t.changedTouches,function(t){e=h[t.identifier],delete h[t.identifier]}):(e=h[t.pointerId||0],delete h[t.pointerId||0]),0===Object.keys(h).length&&(this.rotateThreshold&&(i=90*Math.round(this.imageData.rotate/90))!==this.imageData.rotate&&(this.actionEvent=t,this.rotateTo(i)),this.rotateThreshold=!1),r&&(t.preventDefault(),i=r===B?C(s,G)||C(s,V):C(s,r),L(this.image,O,i),r===H&&this.switching&&(i=this.imageData,n=this.switching,a=i.x-n.x,this.switching=!1,this.actionEvent=t,Math.abs(a)>l.width/2?0<a?this.prev(s.loop):this.next(s.loop):i.x===n.x&&i.y===n.y||this.moveTo(n.x,n.y)),this.action=!1,c)&&r!==G&&r!==B&&e&&Date.now()-e.timeStamp<500&&(clearTimeout(this.clickCanvasTimeout),clearTimeout(this.doubleClickImageTimeout),s.toggleOnDblclick&&this.viewed&&t.target===this.image?this.pointerMoved?this.imageClicked=!1:this.imageClicked?(this.imageClicked=!1,this.doubleClickImageTimeout=setTimeout(function(){F(o.image,at,{originalEvent:t})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){o.imageClicked=!1},500)):(this.imageClicked=!1,s.backdrop&&"static"!==s.backdrop&&t.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){F(o.canvas,T,{originalEvent:t})},50))))},resize:function(){var e=this;this.isShown&&!this.hiding&&(this.fulled&&(this.close(),this.initBody(),this.open()),this.initContainer(),this.initViewer(),this.renderViewer(),I((M(this.options.navbar)?this.options.navbar:{}).visibleItemCount)&&this.initList(this.index),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage()}),this.played)&&(this.options.fullscreen&&this.fulled&&!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)?this.stop():A(this.player.getElementsByTagName("img"),function(t){P(t,f,e.loadImage.bind(e),{once:!0}),F(t,f)}))},wheel:function(t){var e,i=this,n=this.options,a=this.navbar;this.viewed&&(t.preventDefault(),this.gesturing||this.wheeling||(this.wheeling=!0,setTimeout(function(){i.wheeling=!1},50),e=1,t.deltaY?e=0<t.deltaY?1:-1:t.wheelDelta?e=-t.wheelDelta/120:t.detail&&(e=0<t.detail?1:-1),!(a&&a.contains(t.target))&&n.zoomable&&yt(n.zoomOnWheel,t)?(a=Number(n.zoomRatio)||.1,this.actionEvent=t,this.zoom(-e*a,!0)):yt(n.slideOnWheel,t)&&(this.actionEvent=t,0<e?this.next(n.loop):e<0&&this.prev(n.loop))))},gesture:function(t){var e=this.options;if(this.viewed&&(e.zoomOnGesture||e.rotateOnGesture))switch(t.preventDefault(),t.type){case"gesturestart":this.gesturing=!0,this.gestureScale=t.scale||1,this.gestureRotation=t.rotation||0;break;case"gesturechange":var i=t.scale||1,n=i/(this.gestureScale||1),a=Number(t.rotation),o=a-(this.gestureRotation||0);this.gestureScale=i,e.zoomable&&e.zoomOnGesture&&1!=n&&(this.actionEvent=t,this.zoom(1<=n?n-1:1-1/n)),e.rotatable&&e.rotateOnGesture&&D(a)&&(this.gestureRotation=a,0!=o)&&(this.actionEvent=t,this.rotate(o));break;case"gestureend":e.rotatable&&e.rotateOnGesture&&(i=90*Math.round(this.imageData.rotate/90))!==this.imageData.rotate&&(this.actionEvent=t,this.rotateTo(i)),this.gesturing=!1,this.gestureScale=1,this.gestureRotation=0}}},Ft={show:function(){var t,e,i,n=0<arguments.length&&void 0!==arguments[0]&&arguments[0],a=this.element,o=this.options;return o.inline||this.showing||this.isShown||this.showing||(this.ready?(t=this.actionEvent||this.showOriginalEvent||this.viewOriginalEvent||null,this.actionEvent=null,this.showOriginalEvent=t,S(o.show)&&P(a,"show",o.show,{once:!0}),!1!==F(a,"show",{originalEvent:t})&&this.ready&&(this.hiding&&this.transitioning.abort(),this.showing=!0,this.open(),y(e=this.viewer,E),e.setAttribute("role","dialog"),e.setAttribute("aria-labelledby",this.title.id),e.setAttribute("aria-modal",!0),e.removeAttribute("aria-hidden"),C(o,"show")&&!n?(i=this.shown.bind(this),this.transitioning={abort:function(){X(e,u,i),y(e,d)}},R(e,O),e.initialOffsetWidth=e.offsetWidth,P(e,u,i,{once:!0}),R(e,d)):(R(e,d),this.shown()))):(this.build(),this.ready&&this.show(n))),this},hide:function(){var t,e,i,n,a,o,s=this,r=0<arguments.length&&void 0!==arguments[0]&&arguments[0],h=this.element,l=this.options;return l.inline||this.hiding||!this.isShown&&!this.showing||(t=this.actionEvent||this.hideOriginalEvent||null,this.actionEvent=null,this.hideOriginalEvent=t,S(l.hide)&&P(h,"hide",l.hide,{once:!0}),!1===F(h,"hide",{originalEvent:t}))||this.destroyed||(this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort(),e=this.viewer,i=this.image,n=function(){y(e,d),s.hidden()},C(l,"hide")&&!r?(a=function(t){t&&t.target===e&&(X(e,u,a),s.hidden())},o=function(){w(e,O)?(P(e,u,a),y(e,d)):n()},this.transitioning={abort:function(){s.viewed&&w(i,O)?X(i,u,o):w(e,O)&&X(e,u,a)}},this.viewed&&w(i,O)?(P(i,u,o,{once:!0}),this.zoomable=!0,this.zoomTo(0,!1)):o()):n()),this},view:function(){var a=this,i=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.options.initialViewIndex,n=this.index,i=Number(i)||0;if(!(this.hiding||this.played||i<0||i>=this.length||this.viewed&&i===n)){var t=this.actionEvent||this.viewOriginalEvent||null;if(this.actionEvent=null,this.viewOriginalEvent=t,!this.isShown)return this.index=i,this.show();this.viewing&&this.viewing.abort();var o,s,r=this.element,h=this.options,l=this.title,e=this.canvas,c=this.getItem(i),u=(c||(this.initList(i),c=this.getItem(i)),c.querySelector("img")),d=Y(u,"originalUrl"),m=u.getAttribute("alt"),g=document.createElement("img");zt(g,u,h.inheritedAttributes),g.src=d,g.alt=m,S(h.view)&&P(r,"view",h.view,{once:!0}),!1===F(r,"view",{originalImage:this.images[i],index:i,image:g,originalEvent:t})||!this.isShown||this.hiding||this.played||(this.hideMagnifier(),(d=this.getItem(n))&&(y(d,K),d.removeAttribute("aria-selected")),R(c,K),c.setAttribute("aria-selected",!0),h.focus&&c.focus(),this.image=g,this.viewed=!1,this.index=i,this.imageData={},R(g,z),h.loading&&R(e,v),e.innerHTML="",e.appendChild(g),this.renderList(),l.innerHTML="",P(r,b,o=function(){var t=a.imageData,e=Array.isArray(h.title)?h.title[1]:h.title;l.innerHTML=k(e=S(e)?e.call(a,g,t):"".concat(m," (").concat(t.naturalWidth," × ").concat(t.naturalHeight,")"))?e.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"):e,h.preload&&(e=(e=i+(t=i<n?-1:1))<0||e>=a.length?h.loop?0<t?0:a.length-1:-1:e)!==i&&(t=a.images[e],zt(e=document.createElement("img"),t,h.inheritedAttributes),e.src=a.getImageURL(t)||t.src)},{once:!0}),(s=function(){function e(){X(g,f,t),X(g,p,i),a.timeout&&(clearTimeout(a.timeout),a.timeout=!1)}var t,i,n=0<arguments.length&&void 0!==arguments[0]&&arguments[0];a.viewing={abort:function(){X(r,b,o),g.complete?a.imageRendering?a.imageRendering.abort():a.imageInitializing&&a.imageInitializing.abort():(g.src="",e())}},g.complete?a.load():(P(g,f,t=function(){e(),a.load()},{once:!0}),P(g,p,i=function(){if(e(),!n){var t=u.src;if(t&&t!==g.src)return g.src=t,void s(!0)}y(g,z),h.loading&&y(a.canvas,v)},{once:!0}),a.timeout&&clearTimeout(a.timeout),a.timeout=setTimeout(function(){y(g,z),a.timeout=!1},1e3))})())}return this},prev:function(){var t=this.index-1;return t<0&&(t=0<arguments.length&&void 0!==arguments[0]&&arguments[0]?this.length-1:0),this.view(t),this},next:function(){var t=this.length-1,e=this.index+1;return this.view(e=t<e?0<arguments.length&&void 0!==arguments[0]&&arguments[0]?0:t:e),this},move:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,i=this.imageData;return this.moveTo(I(t)?t:i.x+Number(t),I(e)?e:i.y+Number(e)),this},moveTo:function(t){var e=this,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=this.element,a=this.options,o=this.imageData;if(t=Number(t),i=Number(i),this.viewed&&!this.played&&a.movable){var s=o.x,r=o.y,h=!1;if(D(t)?h=!0:t=s,D(i)?h=!0:i=r,h){var l=this.actionEvent||null;if(this.actionEvent=null,S(a.move)&&P(n,"move",a.move,{once:!0}),!1===F(n,"move",{x:t,y:i,oldX:s,oldY:r,originalEvent:l}))return this;o.x=t,o.y=i,o.left=t,o.top=i,L(this.image,O,C(a,"move")),this.moving=!0,this.renderImage(function(){e.moving=!1,S(a.moved)&&P(n,"moved",a.moved,{once:!0}),F(n,"moved",{x:t,y:i,oldX:s,oldY:r,originalEvent:l},{cancelable:!1})})}}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t)),this},rotateTo:function(t){var e=this,i=this.element,n=this.options,a=this.imageData;if(D(t=Number(t))&&this.viewed&&!this.played&&n.rotatable){var o=a.rotate,s=this.actionEvent||null;if(this.actionEvent=null,S(n.rotate)&&P(i,"rotate",n.rotate,{once:!0}),!1===F(i,"rotate",{degree:t,oldDegree:o,originalEvent:s}))return this;a.rotate=t,L(this.image,O,C(n,"rotate")),this.rotating=!0,this.renderImage(function(){e.rotating=!1,S(n.rotated)&&P(i,gt,n.rotated,{once:!0}),F(i,gt,{degree:t,oldDegree:o,originalEvent:s},{cancelable:!1})})}return this},scaleX:function(t){return this.scale(t,this.imageData.scaleY),this},scaleY:function(t){return this.scale(this.imageData.scaleX,t),this},scale:function(t){var e=this,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:t,n=this.element,a=this.options,o=this.imageData;if(t=Number(t),i=Number(i),this.viewed&&!this.played&&a.scalable){var s=o.scaleX,r=o.scaleY,h=!1;if(D(t)?h=!0:t=s,D(i)?h=!0:i=r,h){var l=this.actionEvent||null;if(this.actionEvent=null,S(a.scale)&&P(n,"scale",a.scale,{once:!0}),!1===F(n,"scale",{scaleX:t,scaleY:i,oldScaleX:s,oldScaleY:r,originalEvent:l}))return this;o.scaleX=t,o.scaleY=i,L(this.image,O,C(a,"scale")),this.scaling=!0,this.renderImage(function(){e.scaling=!1,S(a.scaled)&&P(n,"scaled",a.scaled,{once:!0}),F(n,"scaled",{scaleX:t,scaleY:i,oldScaleX:s,oldScaleY:r,originalEvent:l},{cancelable:!1})})}}return this},zoom:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=this.imageData;return t=Number(t),this.zoomTo(n.width*(t=t<0?1/(1-t):1+t)/n.naturalWidth,e,i),this},zoomTo:function(t){var i,n,a,e=this,o=1<arguments.length&&void 0!==arguments[1]&&arguments[1],s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,r=this.element,h=this.options,l=this.pointers,c=this.imageData,u=this.zoomable,d=c.x,m=c.y,g=c.width,v=c.height,f=c.naturalWidth,p=c.naturalHeight;if(this.zoomable=!1,D(t=Math.max(0,t))&&this.viewed&&!this.played&&(u||h.zoomable)){u||(u=Math.max(.01,S(h.minZoomRatio)?h.minZoomRatio.call(this,this.image,c):h.minZoomRatio),y=Math.min(100,S(h.maxZoomRatio)?h.maxZoomRatio.call(this,this.image,c):h.maxZoomRatio),t=Math.min(Math.max(t,u),y));var b=this.actionEvent||null;if(this.actionEvent=null,b&&b.type!==T)switch(b.type){case"wheel":.055<=h.zoomRatio&&.95<t&&t<1.05&&(t=1);break;case"pointermove":case"touchmove":case"mousemove":.99<t&&t<1.01&&(t=1)}var w,u=f*t,y=p*t,f=u-g,p=y-v,x=c.ratio;if(S(h.zoom)&&P(r,"zoom",h.zoom,{once:!0}),!1===F(r,"zoom",{ratio:t,oldRatio:x,originalEvent:b}))return this;this.zooming=!0,b&&b.type!==T?(w={left:(w=(w=this.viewer).getBoundingClientRect()).left+(window.pageXOffset-document.documentElement.clientLeft),top:w.top+(window.pageYOffset-document.documentElement.clientTop)},l=l&&0<Object.keys(l).length?(a=n=i=0,A(l,function(t){var e=t.startX;i+=e,n+=t.startY,a+=1}),{pageX:i/=a,pageY:n/=a}):{pageX:b.pageX,pageY:b.pageY},c.x-=(l.pageX-w.left-d)/g*f,c.y-=(l.pageY-w.top-m)/v*p):M(s)&&D(s.x)&&D(s.y)?(c.x-=f*((s.x-d)/g),c.y-=p*((s.y-m)/v)):(c.x-=f/2,c.y-=p/2),c.left=c.x,c.top=c.y,c.width=u,c.height=y,c.oldRatio=x,c.ratio=t,L(this.image,O,C(h,"zoom")),this.renderImage(function(){e.zooming=!1,S(h.zoomed)&&P(r,"zoomed",h.zoomed,{once:!0}),F(r,"zoomed",{ratio:t,oldRatio:x,originalEvent:b},{cancelable:!1})}),o&&this.tooltip()}return this},play:function(){var i,n,t,a,o,s,r,h,l,c,u=this,e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];return this.isShown&&!this.played&&(i=this.element,n=this.options,t=this.actionEvent||null,this.actionEvent=null,S(n.play)&&P(i,"play",n.play,{once:!0}),!1!==F(i,"play",{originalEvent:t})&&(a=this.player,o=this.loadImage.bind(this),s=[],h=r=0,this.played=!0,this.onLoadWhenPlay=o,e&&this.requestFullscreen(e),R(a,m),a.removeAttribute("aria-hidden"),A(this.images,function(t,e){var i=document.createElement("img");i.src=u.getImageURL(t)||t.src,i.alt=t.alt||"",i.referrerPolicy=t.referrerPolicy,r+=1,R(i,Z),L(i,O,C(n,"play")),e===u.index&&(R(i,d),h=e),s.push(i),P(i,f,o,{once:!0}),a.appendChild(i)}),D(n.interval))&&0<n.interval&&(l=function(){clearTimeout(u.playing.timeout);var t=u.actionEvent||null;u.actionEvent=null;var e=0<=(e=h-1)?e:r-1;S(n.playing)&&P(i,vt,n.playing,{once:!0}),!1!==F(i,vt,{originalImage:u.images[e],index:e,image:s[e],originalEvent:t})&&(y(s[h],d),R(s[h=e],d)),u.playing.timeout=n.autoplay?setTimeout(l,n.interval):null},c=function(){clearTimeout(u.playing.timeout);var t=u.actionEvent||null;u.actionEvent=null;var e=(e=h+1)<r?e:0;S(n.playing)&&P(i,vt,n.playing,{once:!0}),!1!==F(i,vt,{originalImage:u.images[e],index:e,image:s[e],originalEvent:t})&&(y(s[h],d),R(s[h=e],d)),u.playing.timeout=n.autoplay?setTimeout(c,n.interval):null},1<r))&&(this.playing={prev:l,next:c,timeout:n.autoplay?setTimeout(c,n.interval):null}),this},stop:function(){var t,e,i,n=this;return this.played&&(t=this.element,i=this.options,e=this.actionEvent||null,this.actionEvent=null,S(i.stop)&&P(t,"stop",i.stop,{once:!0}),!1!==F(t,"stop",{originalEvent:e}))&&(i=this.player,clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,A(i.getElementsByTagName("img"),function(t){X(t,f,n.onLoadWhenPlay)}),y(i,m),i.setAttribute("aria-hidden",!0),i.innerHTML="",this.exitFullscreen()),this},full:function(){var t=this,e=this.options,i=this.viewer,n=this.image,a=this.list;return this.isShown&&!this.played&&!this.fulled&&e.inline&&(this.fulled=!0,this.open(),R(this.button,J),y(a,O),this.viewed&&y(n,O),R(i,$),i.setAttribute("role","dialog"),i.setAttribute("aria-labelledby",this.title.id),i.setAttribute("aria-modal",!0),i.removeAttribute("style"),N(i,{zIndex:e.zIndex}),e.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=g({},this.containerData),this.renderList(),this.viewed)&&this.initImage(function(){t.renderImage()}),this},exit:function(){var t=this,e=this.options,i=this.viewer,n=this.image,a=this.list;return this.isShown&&!this.played&&this.fulled&&e.inline&&(this.fulled=!1,this.close(),y(this.button,J),y(a,O),this.viewed&&y(n,O),e.focus&&this.clearEnforceFocus(),i.removeAttribute("role"),i.removeAttribute("aria-labelledby"),i.removeAttribute("aria-modal"),y(i,$),N(i,{zIndex:e.zIndexInline}),this.viewerData=g({},this.parentData),this.renderViewer(),this.renderList(),this.viewed)&&this.initImage(function(){t.renderImage()}),this},tooltip:function(){var t=this,e=this.options,i=this.tooltipBox,n=this.imageData;return this.viewed&&!this.played&&e.tooltip&&(i.textContent="".concat(Math.round(100*n.ratio),"%"),this.tooltipping?clearTimeout(this.tooltipping):C(e,"tooltip")?(this.fading&&F(i,u),R(i,m),R(i,Z),R(i,O),i.removeAttribute("aria-hidden"),i.initialOffsetWidth=i.offsetWidth,R(i,d)):(R(i,m),i.removeAttribute("aria-hidden")),this.tooltipping=setTimeout(function(){C(e,"tooltip")?(P(i,u,function(){y(i,m),y(i,Z),y(i,O),i.setAttribute("aria-hidden",!0),t.fading=!1},{once:!0}),y(i,d),t.fading=!0):(y(i,m),i.setAttribute("aria-hidden",!0)),t.tooltipping=!1},1e3)),this},toggle:function(){return 1===this.imageData.ratio?this.zoomTo(this.imageData.oldRatio,!0):this.zoomTo(1,!0),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=g({},this.initialImageData),this.renderImage()),this},update:function(t){var n,a,e=this,i=this.element,o=this.options,s=this.isImg;return M(t)&&g(o,t),s&&!i.parentNode?this.destroy():(n=[],A(s?[i]:i.querySelectorAll("img"),function(t){S(o.filter)?o.filter.call(e,t)&&n.push(t):e.getImageURL(t)&&n.push(t)}),n.length&&(this.images=n,this.length=n.length,this.ready?(a=[],A(this.items,function(t){var e=t.querySelector("img"),t=Number(Y(t,"index")),i=n[t];i&&e&&i.src===e.src&&i.alt===e.alt||a.push(t)}),N(this.list,{width:"auto"}),this.initList(),this.isShown&&(this.length?this.viewed&&(0<=(t=a.indexOf(this.index))?(this.viewed=!1,this.view(Math.max(Math.min(this.index-t,this.length-1),0))):(R(s=this.getItem(this.index),K),s.setAttribute("aria-selected",!0))):(this.image=null,this.viewed=!1,this.index=0,this.imageData={},this.canvas.innerHTML="",this.title.innerHTML=""))):this.build()),this)},destroy:function(){var t=this.element,e=this.options;return t[x]&&(this.destroyed=!0,this.ready?(this.played&&this.stop(),e.inline?(this.fulled&&this.exit(),this.unbind()):this.isShown?(this.viewing&&(this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort()),this.hiding&&this.transitioning.abort(),this.hidden()):this.showing&&(this.transitioning.abort(),this.hidden()),this.ready=!1,this.viewer.parentNode.removeChild(this.viewer)):e.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),e.inline||(X(t,T,this.onElementClick),X(t,rt,this.onElementKeyDown)),t[x]=void 0),this}},Wt={getImageURL:function(t){var e=this.options.url;return e=k(e)?t.getAttribute(e):S(e)?e.call(this,t):""},enforceFocus:function(){var n=this;this.clearEnforceFocus(),P(document,st,this.onFocusin=function(t){var e=n.viewer,i=t.target;if(i!==document&&i!==e&&!e.contains(i)){for(;i;){if(null!==i.getAttribute("tabindex")||"true"===i.getAttribute("aria-modal"))return;i=i.parentElement}e.focus()}})},clearEnforceFocus:function(){this.onFocusin&&(X(document,st,this.onFocusin),this.onFocusin=null)},open:function(){var t=this.body;R(t,nt),0<this.scrollbarWidth&&(t.style.paddingRight="".concat(this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0),"px"))},close:function(){var t=this.body;y(t,nt),0<this.scrollbarWidth&&(t.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var t=this.element,e=this.options,i=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,e.focus&&(i.focus(),this.enforceFocus()),S(e.shown)&&P(t,"shown",e.shown,{once:!0}),!1!==F(t,"shown",{originalEvent:this.showOriginalEvent||null})&&(this.showOriginalEvent=null,this.ready)&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var t=this.element,e=this.options,i=this.viewer,n=i.ownerDocument.activeElement;n&&i.contains(n)&&S(n.blur)&&n.blur(),e.focus&&this.clearEnforceFocus(),this.close(),this.unbind(),R(i,E),i.removeAttribute("role"),i.removeAttribute("aria-labelledby"),i.removeAttribute("aria-modal"),i.setAttribute("aria-hidden",!0),this.resetList(),this.resetImage(),this.fulled=!1,this.viewed=!1,this.isShown=!1,this.hiding=!1,this.destroyed||(S(e.hidden)&&P(t,"hidden",e.hidden,{once:!0}),F(t,"hidden",{originalEvent:this.hideOriginalEvent||null},{cancelable:!1}),this.hideOriginalEvent=null)},requestFullscreen:function(t){var e=this.ownerDocument;this.fulled&&!(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)&&((e=e.documentElement).requestFullscreen?M(t)?e.requestFullscreen(t):e.requestFullscreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen())},exitFullscreen:function(){var t=this.ownerDocument;this.fulled&&(t.fullscreenElement||t.webkitFullscreenElement||t.mozFullScreenElement||t.msFullscreenElement)&&(t.exitFullscreen?t.exitFullscreen():t.webkitExitFullscreen?t.webkitExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.msExitFullscreen&&t.msExitFullscreen())},change:function(t){var e=this.options,i=this.pointers,n=i[Object.keys(i)[0]];if(n){var a=n.endX-n.startX,o=n.endY-n.startY;switch(this.action){case j:0==a&&0==o||(this.pointerMoved=!0,this.actionEvent=t,this.move(a,o));break;case G:e.zoomable&&e.zoomOnTouch&&0!==(s=Rt(i))&&(this.actionEvent=t,this.zoom(s));break;case V:e.rotatable&&e.rotateOnTouch&&0!==(s=Lt(i))&&(this.actionEvent=t,this.rotate(s));break;case B:e.zoomable&&e.zoomOnTouch&&0!==(s=Rt(i))&&(this.actionEvent=t,this.zoom(s)),e.rotatable&&e.rotateOnTouch&&0!==(s=Lt(i))&&(this.actionEvent=t,this.rotate(s));break;case H:var s=Math.abs(a);1<s&&s>Math.abs(o)&&(this.pointerMoved=!0,this.actionEvent=t,this.move(a,0))}A(i,function(t){t.startX=t.endX,t.startY=t.endY})}},isSwitchable:function(){var t=this.imageData,e=this.viewerData;return 1<this.length&&0<=t.x&&0<=t.y&&t.width<=e.width&&t.height<=e.height}},qt=e.Viewer,jt=(Xt=-1,function(){return Xt+=1}),e=(()=>{function a(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},i=this,n=a;if(!(i instanceof n))throw new TypeError("Cannot call a class as a function");if(!t||1!==t.nodeType&&11!==t.nodeType)throw new Error("The first argument is required and must be an element.");this.element=t,this.ownerDocument=t.ownerDocument||t.host.ownerDocument,this.options=g({},q,M(e)&&e),this.action=!1,this.actionEvent=null,this.fading=!1,this.fulled=!1,this.hiding=!1,this.imageClicked=!1,this.imageData={},this.index=this.options.initialViewIndex,this.isImg=!1,this.isShown=!1,this.length=0,this.moving=!1,this.played=!1,this.playing=!1,this.pointers={},this.ready=!1,this.rotating=!1,this.scaling=!1,this.showing=!1,this.timeout=!1,this.tooltipping=!1,this.viewed=!1,this.viewing=!1,this.wheeling=!1,this.zoomable=!1,this.zooming=!1,this.pointerMoved=!1,this.id=jt(),this.init()}return t=a,i=[{key:"create",value:function(t,e){return new a(t,e)}},{key:"setDefaults",value:function(t){g(q,M(t)&&t)}},{key:"noConflict",value:function(){return window.Viewer=qt,a}}],(e=[{key:"init",value:function(){var t,e,i,n,a=this,o=this.element,s=this.options;o[x]||(o[x]=this,s.focus&&!s.keyboard&&(s.focus=!1),e=[],A((t="img"===o.localName)?[o]:o.querySelectorAll("img"),function(t){S(s.filter)?s.filter.call(a,t)&&e.push(t):a.getImageURL(t)&&e.push(t)}),this.isImg=t,this.length=e.length,this.images=e,this.initBody(),I(this.ownerDocument.createElement(x).style.transition)&&(s.transition=!1),s.inline?(i=0,n=function(){var t;(i+=1)===a.length&&(a.initializing=!1,a.delaying={abort:function(){clearTimeout(t)}},t=setTimeout(function(){a.delaying=!1,a.build()},0))},this.initializing={abort:function(){A(e,function(t){t.complete||(X(t,f,n),X(t,p,n))})}},A(e,function(t){var e,i;t.complete?n():(P(t,f,e=function(){X(t,p,i),n()},{once:!0}),P(t,p,i=function(){X(t,f,e),n()},{once:!0}))})):(P(o,T,this.onElementClick=function(t){var e=t.target;"img"!==e.localName||S(s.filter)&&!s.filter.call(a,e)||(a.actionEvent=t,a.view(a.images.indexOf(e)))}),P(o,rt,this.onElementKeyDown=function(t){var e=t.target,i=t.key;"img"!==e.localName||"Enter"!==i&&" "!==i||(t.preventDefault(),S(s.filter)&&!s.filter.call(a,e))||(a.actionEvent=t,a.view(a.images.indexOf(e)))})))}},{key:"build",value:function(){var t,o,e,i,n,a,s,r,h,l,c,u,d,m,g,v,f,p,b,w,y=this;this.ready||(t=this.element,o=this.options,e=t.parentNode,(n=document.createElement("div")).innerHTML='<div class="viewer-container" tabindex="-1" touch-action="none"><div class="viewer-canvas"></div><div class="viewer-magnifier" aria-hidden="true"><img class="viewer-magnifier-image" alt=""></div><div class="viewer-navigation" aria-hidden="true"><div class="viewer-prev" data-viewer-action="prev" role="button" aria-label="Previous"></div><div class="viewer-next" data-viewer-action="next" role="button" aria-label="Next"></div></div><div class="viewer-title" aria-hidden="true"></div><div class="viewer-toolbar" aria-hidden="true"></div><div class="viewer-navbar" aria-hidden="true"><ul class="viewer-list" role="navigation"></ul></div><div class="viewer-tooltip" role="alert" aria-hidden="true"></div><div class="viewer-button" data-viewer-action="mix" role="button" aria-hidden="true"></div><div class="viewer-player" aria-hidden="true"></div></div>',n=(i=n.querySelector(".".concat(x,"-container"))).querySelector(".".concat(x,"-title")),a=i.querySelector(".".concat(x,"-toolbar")),b=i.querySelector(".".concat(x,"-navbar")),s=i.querySelector(".".concat(x,"-navigation")),r=i.querySelector(".".concat(x,"-button")),h=i.querySelector(".".concat(x,"-canvas")),this.parent=e,this.viewer=i,this.title=n,this.toolbar=a,this.navbar=b,this.navigation=s,this.button=r,this.canvas=h,this.magnifier=i.querySelector(".".concat(x,"-magnifier")),this.magnifierImage=i.querySelector(".".concat(x,"-magnifier-image")),this.tooltipBox=i.querySelector(".".concat(x,"-tooltip")),this.player=i.querySelector(".".concat(x,"-player")),this.list=i.querySelector(".".concat(x,"-list")),i.id="".concat(x).concat(this.id),n.id="".concat(x,"Title").concat(this.id),R(n,o.title?W(Array.isArray(o.title)?o.title[0]:o.title):E),o.title&&n.removeAttribute("aria-hidden"),w=M(o.navbar)?o.navbar:{},l=o.navbar,c=I(w.size)?o.navbar:w.size,u=-1!==["top","right","bottom","left"].indexOf(w.position)?w.position:"bottom",R(b,(l=M(o.navbar)?!!I(w.show)||w.show:l)?W(l):E),l&&b.removeAttribute("aria-hidden"),-1!==["small","medium","large"].indexOf(c)&&R(b,"".concat(x,"-").concat(c)),this.isNavbarVertical=w="left"===u||"right"===u,R(b,"".concat(x,"-navbar-").concat(u)),l&&(b=w?"navigation":"title",R(g=w?s:n,"".concat(x,"-").concat(b,"-navbar-").concat(u)),w&&R(n,"".concat(x,"-title-navbar-").concat(u)),-1!==["small","large"].indexOf(c))&&(R(g,"".concat(x,"-").concat(b,"-navbar-").concat(w?"".concat(u,"-"):"").concat(c)),w)&&R(n,"".concat(x,"-title-navbar-").concat(u,"-").concat(c)),M(o.navigation)?A(s.querySelectorAll('[role="button"]'),function(t){var e=Y(t,ft),e=o.navigation[e],i=M(e),n=i&&!I(e.show)?e.show:e,i=i&&!I(e.size)?e.size:e;L(t,E,!n),D(n)&&R(t,W(n)),-1!==["small","large"].indexOf(i)&&R(t,"".concat(x,"-").concat(i))}):R(s,o.navigation?W(o.navigation):E),o.navigation&&s.removeAttribute("aria-hidden"),L(r,E,!o.button),o.button&&r.removeAttribute("aria-hidden"),o.keyboard&&(r.setAttribute("tabindex",0),A(s.querySelectorAll('[role="button"]'),function(t){t.setAttribute("tabindex",0)})),o.backdrop&&(R(i,"".concat(x,"-backdrop")),o.inline||"static"===o.backdrop||Dt(h,ft,"hide")),k(o.className)&&o.className&&o.className.split(pt).forEach(function(t){R(i,t)}),o.toolbar?(d=document.createElement("ul"),g=(m=M(o.toolbar))&&-1!==["top","right","bottom","left"].indexOf(o.toolbar.position)?o.toolbar.position:"bottom",v=bt.slice(0,3),f=bt.slice(7,9),p=bt.slice(9),m||R(a,W(o.toolbar)),a.removeAttribute("aria-hidden"),R(a,"".concat(x,"-toolbar-").concat(g)),R(n,"".concat(x,"-title-toolbar-").concat(g)),l&&g===u&&(R(a,"".concat(x,"-toolbar-navbar-").concat(u)),-1!==["small","large"].indexOf(c))&&R(a,"".concat(x,"-toolbar-navbar-").concat(c)),A(m?o.toolbar:bt,function(t,e){var i,n,a;"position"!==e&&(a=m&&M(t),e=m?kt(e):t,i=a&&!I(t.show)?t.show:t)&&(o.zoomable||-1===v.indexOf(e))&&(o.rotatable||-1===f.indexOf(e))&&(o.scalable||-1===p.indexOf(e))&&(n=a&&!I(t.size)?t.size:t,a=a&&!I(t.click)?t.click:t,t=document.createElement("li"),o.keyboard&&t.setAttribute("tabindex",0),t.setAttribute("role","button"),R(t,"".concat(x,"-").concat(e)),S(a)||Dt(t,ft,e),D(i)&&R(t,W(i)),-1!==["small","large"].indexOf(n)?R(t,"".concat(x,"-").concat(n)):"play"===e&&R(t,"".concat(x,"-large")),S(a)&&P(t,T,a.bind(y)),d.appendChild(t))}),a.appendChild(d),"left"!==g&&"right"!==g||R(s,"".concat(x,"-navigation-toolbar-").concat(g))):R(a,E),o.rotatable||(R(b=a.querySelectorAll('li[class*="rotate"]'),z),A(b,function(t){a.appendChild(t)})),o.inline?(R(r,_),N(i,{zIndex:o.zIndexInline}),"static"===window.getComputedStyle(e).position&&N(e,{position:"relative"}),e.insertBefore(i,t.nextSibling)):(R(r,U),R(i,$),R(i,Z),R(i,E),N(i,{zIndex:o.zIndex}),(w=(w=k(w=o.container)?this.ownerDocument.querySelector(w):w)||this.body).appendChild(i)),o.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,S(o.ready)&&P(t,"ready",o.ready,{once:!0}),!1===F(t,"ready")?this.ready=!1:this.ready&&o.inline&&this.view(this.index))}}])&&o(t.prototype,e),i&&o(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,i})();return g(e.prototype,i,t,Pt,Ft,Wt),e}); |