/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/imgviewer@1.0.0/src/imgViewer.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var waitForFinalEvent=function(){var t={};return function(e,i,o){o||(o="Don't call this twice without a uniqueId"),t[o]&&clearTimeout(t[o]),t[o]=setTimeout(e,i)}}();!function(t){t.widget("wgm.imgViewer",{options:{zoomStep:.1,zoom:1,zoomMax:void 0,zoomable:!0,dragable:!0,onReady:t.noop,onClick:t.noop,onUpdate:t.noop},_create:function(){var e=this;this.element.is("img")||t.error("imgviewer plugin can only be applied to img elements"),e.img=e.element[0];var i=t(e.img);e.zimg=t("<img />",{src:e.img.src}).appendTo("body").wrap("<div class='viewport' />");var o=t(e.zimg);e.view=t(e.zimg).parent();var n=t(e.view);e.vCenter={},e.drag=!1,e.pinch=!1,e.ready=!1,i.one("load",(function(){e.ready=!0;var t=i.width(),r=i.height(),s=i.offset();e.offsetPadding={top:parseInt(i.css("padding-top"),10),left:parseInt(i.css("padding-left"),10),right:parseInt(i.css("padding-right"),10),bottom:parseInt(i.css("padding-bottom"),10)},e.offsetBorder={x:Math.round((i.outerWidth()-i.innerWidth())/2),y:Math.round((i.outerHeight()-i.innerHeight())/2)};var a=s.top+e.offsetBorder.y+e.offsetPadding.top,h=s.left+e.offsetBorder.x+e.offsetPadding.left;n.css({position:"absolute",overflow:"hidden",top:a+"px",left:h+"px",width:t+"px",height:r+"px"}),o.css({position:"relative",top:"0px",left:"0px",width:t+"px",height:r+"px","-webkit-tap-highlight-color":"transparent"}),e.vCenter={x:t/2,y:r/2},e.update()})).each((function(){this.complete&&t(this).load()})),e.render=!1,o.hammer(),e.options.zoomable&&e._bind_zoom_events(),e.options.dragable&&e._bind_drag_events(),o.on("tap",(function(t){if(t.preventDefault(),!e.dragging){var i=e._get_scroll_offset();t.pageX=t.gesture.center.x+i.x,t.pageY=t.gesture.center.y+i.y,e.options.onClick.call(e,t)}})),t(window).resize((function(){e._view_resize(),waitForFinalEvent((function(){e._view_resize()}),300,i[0].id)})),e._view_resize(),e.options.onReady.call(e)},_get_scroll_offset:function(){var t,e;return void 0===window.scrollX?void 0===window.pageXOffset?(t=document.documentElement.scrollLeft,e=document.documentElement.scrollTop):(t=window.pageXOffset,e=window.pageYOffset):(t=window.scrollX,e=window.scrollY),{x:t,y:e}},_view_resize:function(){if(this.ready){var e=t(this.view),i=t(this.img),o=i.width(),n=i.height(),r=i.offset(),s=Math.round(r.top+this.offsetBorder.y+this.offsetPadding.top),a=Math.round(r.left+this.offsetBorder.x+this.offsetPadding.left);this.vCenter.x*=i.width()/e.width(),this.vCenter.y*=i.height()/e.height(),e.css({top:s+"px",left:a+"px",width:o+"px",height:n+"px"}),this.update()}},_bind_zoom_events:function(){var e=this,i=t(e.zimg);function o(){e.render&&(window.requestAnimationFrame(o),e.update())}i.on("mousewheel",(function(t){t.preventDefault();var i=t.deltaY;e.options.zoom-=i*e.options.zoomStep,e.update()})),i.on("touchmove",(function(t){t.preventDefault()})),i.data("hammer").recognizers[1].options.enable=!0,i.on("pinchstart",(function(){})),i.on("pinch",(function(t){if(t.preventDefault(),e.pinch){e.options.zoom=t.gesture.scale*e.pinchstart_scale;var i=e.imgToCursor(e.pinchstartrelpos.x,e.pinchstartrelpos.y);e.vCenter.x=e.vCenter.x+(i.x-e.pinchstart.x)/e.options.zoom,e.vCenter.y=e.vCenter.y+(i.y-e.pinchstart.y)/e.options.zoom}else{var n=e._get_scroll_offset();e.pinchstart={x:t.gesture.center.x+n.x,y:t.gesture.center.y+n.y},e.pinchstartrelpos=e.cursorToImg(e.pinchstart.x,e.pinchstart.y),e.pinchstart_scale=e.options.zoom,e.render||(e.render=!0,o()),e.pinch=!0}})),i.on("pinchend",(function(t){t.preventDefault(),e.pinch&&(e.render=!1,e.update(),e.pinch=!1)}))},_bind_drag_events:function(){var e=this,i=t(e.zimg);function o(){e.render&&(window.requestAnimationFrame(o),e.update())}i.on("mousedown",(function(t){t.preventDefault()})),i.on("panstart",(function(){})),i.on("panmove",(function(t){t.preventDefault(),e.drag?(e.vCenter.x=e.dragXorg-t.gesture.deltaX/e.options.zoom,e.vCenter.y=e.dragYorg-t.gesture.deltaY/e.options.zoom):(e.drag=!0,e.dragXorg=e.vCenter.x,e.dragYorg=e.vCenter.y,e.render||(e.render=!0,o()))})),i.on("panend",(function(t){t.preventDefault(),e.drag&&(e.drag=!1,e.render=!1,e.update())}))},_unbind_zoom_events:function(){var e=t(this.zimg);e.data("hammer").recognizers[1].options.enable=!1,e.off("mousewheel"),e.off("pinchstart"),e.off("pinch"),e.off("pinchend")},_unbind_drag_events:function(){var e=t(this.zimg);e.off("pan"),e.off("panend")},destroy:function(){var e=t(this.zimg);e.unbind("click"),t(window).unbind("resize"),e.remove(),t(this.view).remove(),t.Widget.prototype.destroy.call(this)},_setOption:function(e,i){switch(e){case"zoom":case"zoomMax":if(parseFloat(i)<1||isNaN(parseFloat(i)))return;break;case"zoomStep":if(parseFloat(i)<=0||isNaN(parseFloat(i)))return}var o=t.ui.version.split(".");switch(o[0]>1||o[1]>8?this._super(e,i):t.Widget.prototype._setOption.apply(this,arguments),e){case"zoom":this.ready&&this.update();break;case"zoomable":this.options.zoomable?this._bind_zoom_events():this._unbind_zoom_events();break;case"dragable":this.options.dragable?this._bind_drag_events():this._unbind_drag_events();break;case"zoomMax":this.ready&&(this._view_resize(),this.update())}},addElem:function(e){t(this.view).append(e)},isVisible:function(t,e){var i=this.getView();return!!i&&(t>=i.left&&t<=i.right&&e>=i.top&&e<=i.bottom)},getView:function(){if(this.ready){var e=t(this.img),i=e.width(),o=e.height(),n=this.options.zoom;return{top:this.vCenter.y/o-.5/n,left:this.vCenter.x/i-.5/n,bottom:this.vCenter.y/o+.5/n,right:this.vCenter.x/i+.5/n}}return null},panTo:function(e,i){if(this.ready&&e>=0&&e<=1&&i>=0&&i<=1){var o=t(this.img),n=o.width(),r=o.height();return this.vCenter.x=e*n,this.vCenter.y=i*r,this.update(),{x:this.vCenter.x/n,y:this.vCenter.y/r}}return null},imgToView:function(e,i){if(this.ready&&e>=0&&e<=1&&i>=0&&i<=1){var o=t(this.img),n=o.width(),r=o.height(),s=n/2-this.vCenter.x*this.options.zoom,a=r/2-this.vCenter.y*this.options.zoom,h=e*n*this.options.zoom+s,d=i*r*this.options.zoom+a;return{x:Math.round(h),y:Math.round(d)}}return null},imgToCursor:function(e,i){var o=this.imgToView(e,i);if(o){var n=t(this.img).offset();return o.x+=n.left+this.offsetBorder.x+this.offsetPadding.left,o.y+=n.top+this.offsetBorder.y+this.offsetPadding.top,o}return null},viewToImg:function(e,i){if(this.ready){var o=t(this.img),n=o.width(),r=o.height(),s=n/2-this.vCenter.x*this.options.zoom,a=r/2-this.vCenter.y*this.options.zoom,h=(e-s)/(n*this.options.zoom),d=(i-a)/(r*this.options.zoom);return h>=0&&h<=1&&d>=0&&d<=1?{x:h,y:d}:null}return null},cursorToImg:function(e,i){if(this.ready){var o=t(this.img),n=o.width(),r=o.height(),s=o.offset(),a=n/2-this.vCenter.x*this.options.zoom,h=r/2-this.vCenter.y*this.options.zoom,d=(e-s.left-this.offsetBorder.x-this.offsetPadding.left-a)/(n*this.options.zoom),p=(i-s.top-this.offsetBorder.y-this.offsetPadding.top-h)/(r*this.options.zoom);return d>=0&&d<=1&&p>=0&&p<=1?{x:d,y:p}:null}return null},relposToImage:function(t){if(this.ready){var e=this.img,i=e.naturalWidth,o=e.naturalHeight;return{x:Math.round(t.x*i),y:Math.round(t.y*o)}}return null},update:function(){if(this.ready){var e,i,o,n,r=t(this.img),s=r.width(),a=r.height(),h=this.options.zoom,d=this.options.zoomMax,p=s/2,f=a/2;h=void 0===d?h:Math.min(h,d),this.options.zoom=h,h<=1?(e=0,i=0,o=s,n=a,this.vCenter={x:p,y:f},this.options.zoom=1,h=1):(e=Math.round(f-this.vCenter.y*h),i=Math.round(p-this.vCenter.x*h),o=Math.round(s*h),n=Math.round(a*h),i>0?(this.vCenter.x=p/h,i=0):i+o<s&&(this.vCenter.x=s-p/h,i=s-o),e>0?(this.vCenter.y=f/h,e=0):e+n<a&&(this.vCenter.y=a-f/h,e=a-n)),t(this.zimg).css({width:s+"px",height:a+"px"});var u=-(this.vCenter.x-p)*h,l=-(this.vCenter.y-f)*h;t(this.zimg).css({transform:"translate("+u+"px,"+l+"px) scale("+h+","+h+")"}),this.options.onUpdate.call(this)}}})}(jQuery);
//# sourceMappingURL=/sm/19bcf4f8b2e91ced4c49dd36ca4e0970bb7f762929a880a180d14fb15eff32c6.map