1(()=>{var t={5861(t,e,s){"use strict";var n=s.cjs(function(t,e){var s=[];function n(t){for(var e=-1,n=0;n<s.length;n++)if(s[n].identifier===t){e=n;break}return e}function o(t,e){for(var o={},i=[],r=0;r<t.length;r++){var h=t[r],c=e.base?h[0]+e.base:h[0],u=o[c]||0,l="".concat(c," ").concat(u);o[c]=u+1;var p=n(l),d={css:h[1],media:h[2],sourceMap:h[3],supports:h[4],layer:h[5]};if(-1!==p)s[p].references++,s[p].updater(d);else{var m=a(d,e);e.byIndex=r,s.splice(r,0,{identifier:l,updater:m,references:1})}i.push(l)}return i}function a(t,e){var s=e.domAPI(e);return s.update(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;s.update(t=e)}else s.remove()}}t.exports=function(t,e){var a=o(t=t||[],e=e||{});return function(t){t=t||[];for(var i=0;i<a.length;i++){var r=n(a[i]);s[r].references--}for(var h=o(t,e),c=0;c<a.length;c++){var u=n(a[c]);0===s[u].references&&(s[u].updater(),s.splice(u,1))}a=h}}}),o=s.n(n),a=s.cjs(function(t,e){t.exports=function(t){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=t.insertStyleElement(t);return{update:function(s){!function(t,e,s){var n="";s.supports&&(n+="@supports (".concat(s.supports,") {")),s.media&&(n+="@media ".concat(s.media," {"));var o=void 0!==s.layer;o&&(n+="@layer".concat(s.layer.length>0?" ".concat(s.layer):""," {")),n+=s.css,o&&(n+="}"),s.media&&(n+="}"),s.supports&&(n+="}");var a=s.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,s)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}}),i=s.n(a),r=s.cjs(function(t,e){var s={};t.exports=function(t,e){var n=function(t){if(void 0===s[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}s[t]=e}return s[t]}(t);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(e)}}),h=s.n(r),c=s.cjs(function(t,e){t.exports=function(t){var e=s.nc;e&&t.setAttribute("nonce",e)}}),u=s.n(c),l=s.cjs(function(t,e){t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}}),p=s.n(l),d=s.cjs(function(t,e){t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}}),m=s.n(d),f=s(5713),v=s.n(f),g={};g.styleTagTransform=m(),g.setAttributes=u(),g.insert=h().bind(null,"head"),g.domAPI=i(),g.insertStyleElement=p(),o()(v(),g),v()&&v().locals&&v();class y extends HTMLImageElement{constructor(){super(),this.state=this.initState,this.options={maxScale:this.getAttribute("data-max-scale")||2,minScale:this.getAttribute("data-min-scale")||1,zoomOnHover:this.hasAttribute("data-zoom-on-hover"),zoomOnWheel:this.hasAttribute("data-zoom-on-wheel"),zoomOnPinch:this.hasAttribute("data-zoom-on-pinch"),zoomOnDoubleClick:this.hasAttribute("data-zoom-on-double-click")},this.timer=null}get initState(){return new Proxy({scale:1,panning:!1,pointX:0,pointY:0,start:{x:0,y:0,distance:0},last:{x:0,y:0,distance:0},tap:0,zooming:!1},this.stateUpdateHandler())}connectedCallback(){this.attachEvents()}attachEvents(){this.addEventListener("mousedown",this.onMouseDown.bind(this)),this.addEventListener("mousemove",this.onMouseMove.bind(this)),this.addEventListener("mouseup",this.onMouseUp.bind(this)),this.addEventListener("mouseenter",this.onMouseEnter.bind(this)),this.addEventListener("mouseleave",this.onMouseLeave.bind(this)),this.addEventListener("wheel",this.onMouseWheel.bind(this)),this.addEventListener("touchstart",this.onTouchStart.bind(this)),this.addEventListener("touchmove",this.onTouchMove.bind(this)),this.addEventListener("touchend",this.onTouchEnd.bind(this)),this.addEventListener("dblclick",this.onDoubleClick.bind(this))}stateUpdateHandler(){return{set:(t,e,s)=>(t[e]!==s&&(t[e]=s,this.onStateUpdate()),!0)}}onStateUpdate(){this.updateStyle(),this.onZooming()}updateStyle(){this.style.transform=[`translate3d(${this.state.pointX}px, ${this.state.pointY}px, 0px)`,`scale(${this.state.scale})`].join(" ")}onZooming(){this.state.zooming&&this.dispatchEvent(new CustomEvent("zooming"))}reset(){this.state=this.initState,this.updateStyle()}distance(t){return Math.hypot(t.touches[0].pageX-t.touches[1].pageX,t.touches[0].pageY-t.touches[1].pageY)}zoomOnMouse(t,e=this.options.maxScale){let s=0,n=0;if("touchstart"===t.type||"touchmove"===t.type||"touchend"===t.type||"touchcancel"===t.type){const e=t.touches[0]||t.changedTouches[0];s=e.pageX,n=e.pageY}else"mousedown"!==t.type&&"mouseup"!==t.type&&"mousemove"!==t.type&&"mouseover"!==t.type&&"mouseout"!==t.type&&"mouseenter"!==t.type&&"mouseleave"!==t.type&&"click"!==t.type&&"wheel"!==t.type&&"mousewheel"!==t.type&&"dblclick"!==t.type||(s=t.clientX,n=t.clientY);(this.state.panning||this.state.zooming)&&(this.state.scale=e,this.state.pointX=-Math.floor(s*(this.state.scale-1)),this.state.pointY=-Math.floor(n*(this.state.scale-1)),this.state.zooming=!0)}onMouseDown(t){t.preventDefault(),this.state.start={x:t.clientX-this.state.pointX,y:t.clientY-this.state.pointY},this.state.panning=!0}onMouseEnter(t){this.options.zoomOnHover&&(this.state.zooming=!0)}onMouseMove(t){t.preventDefault(),this.options.zoomOnHover&&this.zoomOnMouse(t)}onMouseUp(t){this.state.panning=!1}onMouseLeave(t){this.options.zoomOnHover&&this.reset()}onMouseWheel(t){if(t.preventDefault(),this.options.zoomOnWheel){const e=t.wheelDelta?t.wheelDelta:-t.deltaY;let s=this.state.scale;const n=.1;e>0&&s<this.options.maxScale?s+=n:e<0&&s>=this.options.minScale+n&&(s-=n),s<this.options.minScale+n?this.reset():(this.state.zooming=!0,this.state.scale=s,this.zoomOnMouse(t,s))}}onTouchStart(t){t.preventDefault(),this.options.zoomOnPinch&&(this.state.panning=!1,1===t.touches.length&&this.state.zooming&&(this.state.panning=!0,this.state.start.x=t.touches[0].pageX,this.state.start.y=t.touches[0].pageY),2===t.touches.length&&(this.state.start.x=Math.abs(t.touches[0].pageX-t.touches[1].pageX)/2,this.state.start.y=Math.abs(t.touches[0].pageY-t.touches[1].pageY)/2,this.state.start.distance=this.distance(t),this.state.zooming=!0))}onTouchMove(t){if(t.preventDefault(),this.options.zoomOnPinch){if(2===t.touches.length){0===this.state.last.distance&&(this.state.last.distance=this.distance(t));const e=(this.state.last.distance-this.state.start.distance)/this.state.start.distance,s=t.touches[0].pageX,n=t.touches[0].pageY,o=t.touches[1].pageX,a=t.touches[1].pageY,
1i=Math.abs(s-o)/2+Math.min(s,o),r=Math.abs(n-a)/2+Math.min(n,a);this.state.scale=e<0?Math.max(this.state.scale+e,1):Math.min(this.state.scale+e,props.maxScale),this.state.pointX=-i*(this.state.scale-1),this.state.pointY=-r*(this.state.scale-1),this.state.zooming=!0,this.state.start.distance=this.state.last.distance,this.state.last.distance=this.distance(t)}if(1===t.touches.length&&this.state.panning&&this.state.zooming){const e=this.state.start.y-this.state.last.y;this.state.pointX-=(this.state.start.x-this.state.last.x)*this.state.scale,this.state.pointY-=e*this.state.scale,this.state.start.x=this.state.last.x,this.state.start.y=this.state.last.y,this.state.last.x=t.touches[0].pageX,this.state.last.y=t.touches[0].pageY}}}onTouchEnd(t){this.state.last.distance=0}onDoubleClick(t){t.preventDefault(),this.options.zoomOnDoubleClick&&(this.state.zooming?this.reset():(this.state.zooming=!0,this.zoomOnMouse(t)))}}customElements.define("image-zoom",y,{extends:"img"})},5713(){}};const e={};function s(n){const o=e[n];if(void 0!==o)return o.exports;const a=e[n]={exports:{}};return t[n](a,a.exports,s),a.exports}s.n=t=>{const e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{if(Array.isArray(e))for(var n=0;n<e.length;){var o=e[n++],a=e[n++];s.o(t,o)?0===a&&n++:Object.defineProperty(t,o,0===a?{enumerable:!0,value:e[n++]}:{enumerable:!0,get:a})}else for(var o in e)s.o(e,o)&&!s.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s.cjs=t=>{const e={exports:{}};return t.call(e.exports,e,e.exports),e.exports},s.nc=void 0,s(5861)})(); 2//# sourceMappingURL=module-image-zoom.js.map
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.