PageSourceSearch

https://www.elliniko-argyroupoli.gr/wp-content/cache/min/1/wp-cont…/front/js/panzoom/panzoom.js?ver=1789642265

js elliniko-argyroupoli.gr collected 2026-10-02 03:06:57 UTC 15,321 bytes, 91 lines download raw bytes

1(function(){var __assign=(this&&this.__assign)||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))
2t[p]=s[p]}
3return t};return __assign.apply(this,arguments)};if(typeof window!=='undefined'){if(window.NodeList&&!NodeList.prototype.forEach){NodeList.prototype.forEach=Array.prototype.forEach}
4if(typeof window.CustomEvent!=='function'){window.CustomEvent=function CustomEvent(event,params){params=params||{bubbles:!1,cancelable:!1,detail:null}
5var evt=document.createEvent('CustomEvent')
6evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail)
7return evt}}}
8function findEventIndex(pointers,event){var i=pointers.length;while(i--){if(pointers[i].pointerId===event.pointerId){return i}}
9return-1}
10function addPointer(pointers,event){var i;if(event.touches){i=0;for(var _i=0,_a=event.touches;_i<_a.length;_i++){var touch=_a[_i];touch.pointerId=i++;addPointer(pointers,touch)}
11return}
12i=findEventIndex(pointers,event);if(i>-1){pointers.splice(i,1)}
13pointers.push(event)}
14function removePointer(pointers,event){if(event.touches){while(pointers.length){pointers.pop()}
15return}
16var i=findEventIndex(pointers,event);if(i>-1){pointers.splice(i,1)}}
17function getMiddle(pointers){pointers=pointers.slice(0);var event1=pointers.pop();var event2;while((event2=pointers.pop())){event1={clientX:(event2.clientX-event1.clientX)/2+event1.clientX,clientY:(event2.clientY-event1.clientY)/2+event1.clientY}}
18return event1}
19function getDistance(pointers){if(pointers.length<2){return 0}
20var event1=pointers[0];var event2=pointers[1];return Math.sqrt(Math.pow(Math.abs(event2.clientX-event1.clientX),2)+Math.pow(Math.abs(event2.clientY-event1.clientY),2))}
21if(typeof window!=='undefined'){if(typeof events==='undefined'){var events={}}
22if(typeof window.PointerEvent==='function'){events={down:'pointerdown',move:'pointermove',up:'pointerup pointerleave pointercancel'}}else if(typeof window.TouchEvent==='function'){events={down:'touchstart',move:'touchmove',up:'touchend touchcancel'}}}
23function onPointer(event,elem,handler,eventOpts){events[event].split(' ').forEach(function(name){;elem.addEventListener(name,handler,eventOpts)})}
24function destroyPointer(event,elem,handler){events[event].split(' ').forEach(function(name){;elem.removeEventListener(name,handler)})}
25var isIE=typeof document!=='undefined'&&!!document.documentMode;var divStyle;function createStyle(){if(divStyle){return divStyle}
26return(divStyle=document.createElement('div').style)}
27var prefixes=['webkit','moz','ms'];var prefixCache={};function getPrefixedName(name){if(prefixCache[name]){return prefixCache[name]}
28var divStyle=createStyle();if(name in divStyle){return(prefixCache[name]=name)}
29var capName=name[0].toUpperCase()+name.slice(1);var i=prefixes.length;while(i--){var prefixedName=""+prefixes[i]+capName;if(prefixedName in divStyle){return(prefixCache[name]=prefixedName)}}}
30function getCSSNum(name,style){return parseFloat(style[getPrefixedName(name)])||0}
31function getBoxStyle(elem,name,style){if(style===void 0){style=window.getComputedStyle(elem)}
32var suffix=name==='border'?'Width':'';return{left:getCSSNum(name+"Left"+suffix,style),right:getCSSNum(name+"Right"+suffix,style),top:getCSSNum(name+"Top"+suffix,style),bottom:getCSSNum(name+"Bottom"+suffix,style)}}
33function setStyle(elem,name,value){elem.style[getPrefixedName(name)]=value}
34function setTransition(elem,options){var transform=getPrefixedName('transform');setStyle(elem,'transition',transform+" "+options.duration+"ms "+options.easing)}
35function setTransform(elem,_a,_options){var x=_a.x,y=_a.y,scale=_a.scale,isSVG=_a.isSVG;setStyle(elem,'transform',"scale("+scale+") translate("+x+"px, "+y+"px)");if(isSVG&&isIE){var matrixValue=window.getComputedStyle(elem).getPropertyValue('transform');elem.setAttribute('transform',matrixValue)}}
36function getDimensions(elem){var parent=elem.parentNode;var style=window.getComputedStyle(elem);var parentStyle=window.getComputedStyle(parent);var rectElem=elem.getBoundingClientRect();var rectParent=parent.getBoundingClientRect();return{elem:{style:style,width:rectElem.width,height:rectElem.height,top:rectElem.top,bottom:rectElem.bottom,left:rectElem.left,right:rectElem.right,margin:getBoxStyle(elem,'margin',style),border:getBoxStyle(elem,'border',style)}
36,parent:{style:parentStyle,width:rectParent.width,height:rectParent.height,top:rectParent.top,bottom:rectParent.bottom,left:rectParent.left,right:rectParent.right,padding:getBoxStyle(parent,'padding',parentStyle),border:getBoxStyle(parent,'border',parentStyle)}}}
37function isAttached(elem){var doc=elem.ownerDocument;var parent=elem.parentNode;return(doc&&parent&&doc.nodeType===9&&parent.nodeType===1&&doc.documentElement.contains(parent))}
38function getClass(elem){return(elem.getAttribute('class')||'').trim()}
39function hasClass(elem,className){return elem.nodeType===1&&(" "+getClass(elem)+" ").indexOf(" "+className+" ")>-1}
40function isExcluded(elem,options){for(var cur=elem;cur!=null;cur=cur.parentNode){if(hasClass(cur,options.excludeClass)||options.exclude.indexOf(cur)>-1){return!0}}
41return!1}
42var rsvg=/^http:[\w\.\/]+svg$/;function isSVGElement(elem){return rsvg.test(elem.namespaceURI)&&elem.nodeName.toLowerCase()!=='svg'}
43function shallowClone(obj){var clone={};for(var key in obj){if(obj.hasOwnProperty(key)){clone[key]=obj[key]}}
44return clone}
45var defaultOptions={animate:!1,canvas:!1,cursor:'move',disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:'ease-in-out',exclude:[],excludeClass:'panzoom-exclude',handleStartEvent:function(e){e.preventDefault();e.stopPropagation()},maxScale:4,minScale:0.125,overflow:'hidden',panOnlyWhenZoomed:!1,relative:!1,setTransform:setTransform,startX:0,startY:0,startScale:1,step:0.3,touchAction:'none'};function Panzoom(elem,options){if(!elem){throw new Error('Panzoom requires an element as an argument')}
46if(elem.nodeType!==1){throw new Error('Panzoom requires an element with a nodeType of 1')}
47if(!isAttached(elem)){throw new Error('Panzoom should be called on elements that have been attached to the DOM')}
48options=__assign(__assign({},defaultOptions),options);var isSVG=isSVGElement(elem);var parent=elem.parentNode;parent.style.overflow=options.overflow;parent.style.userSelect='none';parent.style.touchAction=options.touchAction;(options.canvas?parent:elem).style.cursor=options.cursor;elem.style.userSelect='none';elem.style.touchAction=options.touchAction;setStyle(elem,'transformOrigin',typeof options.origin==='string'?options.origin:isSVG?'0 0':'50% 50%');function resetStyle(){parent.style.overflow='';parent.style.userSelect='';parent.style.touchAction='';parent.style.cursor='';elem.style.cursor='';elem.style.userSelect='';elem.style.touchAction='';setStyle(elem,'transformOrigin','')}
49function setOptions(opts){if(opts===void 0){opts={}}
50for(var key in opts){if(opts.hasOwnProperty(key)){options[key]=opts[key]}}
51if(opts.hasOwnProperty('cursor')||opts.hasOwnProperty('canvas')){parent.style.cursor=elem.style.cursor='';(options.canvas?parent:elem).style.cursor=options.cursor}
52if(opts.hasOwnProperty('overflow')){parent.style.overflow=opts.overflow}
53if(opts.hasOwnProperty('touchAction')){parent.style.touchAction=opts.touchAction;elem.style.touchAction=opts.touchAction}
54if(opts.hasOwnProperty('minScale')||opts.hasOwnProperty('maxScale')||opts.hasOwnProperty('contain')){setMinMax()}}
55var x=0;var y=0;var scale=1;var isPanning=!1;zoom(options.startScale,{animate:!1});setTimeout(function(){setMinMax();pan(options.startX,options.startY,{animate:!1})});function trigger(eventName,detail,opts){if(opts.silent){return}
56var event=new CustomEvent(eventName,{detail:detail});elem.dispatchEvent(event)}
57function setTransformWithEvent(eventName,opts,originalEvent){var value={x:x,y:y,scale:scale,isSVG:isSVG,originalEvent:originalEvent};requestAnimationFrame(function(){if(typeof opts.animate==='boolean'){if(opts.animate){setTransition(elem,opts)}else{setStyle(elem,'transition','none')}}
58opts.setTransform(elem,value,opts)});trigger(eventName,value,opts);trigger('panzoomchange',value,opts);return value}
59function setMinMax(){if(options.contain){var dims=getDimensions(elem);var parentWidth=dims.parent.width-dims.parent.border.left-dims.parent.border.right;var parentHeight=dims.parent.height-dims.parent.border.top-dims.parent.border.bottom;var elemWidth=dims.elem.width/scale;var elemHeight=dims.elem.height/scale;var elemScaledWidth=parentWidth/elemWidth;var elemScaledHeight=parentHeight/elemHeight;if(options.contain==='inside'){options.maxScale=Math.min(elemScaledWidth,elemScaledHeight)}else if(options.contain==='outside'){options.minScale=Math.max(elemScaledWidth,elemScaledHeight)}}}
60function constrainXY(toX,toY,toScale,panOptions){var opts=__assign(__assign({},options),panOptions);var result={x:x,y:y,opts:opts};if(!opts.force&&(opts.disablePan||(opts.panOnlyWhenZoomed&&scale===opts.startScale))){return result}
61toX=parseFloat(toX);toY=parseFloat(toY);if(!opts.disableXAxis){result.x=(opts.relative?x:0)+toX}
62if(!opts.disableYAxis){result.y=(opts.relative?y:0)+toY}
63if(opts.contain==='inside'){var dims=getDimensions(elem);
63result.x=Math.max(-dims.elem.margin.left-dims.parent.padding.left,Math.min(dims.parent.width-dims.elem.width/toScale-dims.parent.padding.left-dims.elem.margin.left-dims.parent.border.left-dims.parent.border.right,result.x));result.y=Math.max(-dims.elem.margin.top-dims.parent.padding.top,Math.min(dims.parent.height-dims.elem.height/toScale-dims.parent.padding.top-dims.elem.margin.top-dims.parent.border.top-dims.parent.border.bottom,result.y))}else if(opts.contain==='outside'){var dims=getDimensions(elem);var realWidth=dims.elem.width/scale;var realHeight=dims.elem.height/scale;var scaledWidth=realWidth*toScale;var scaledHeight=realHeight*toScale;var diffHorizontal=(scaledWidth-realWidth)/2;var diffVertical=(scaledHeight-realHeight)/2;var minX=(-(scaledWidth-dims.parent.width)-dims.parent.padding.left-dims.parent.border.left-dims.parent.border.right+diffHorizontal)/toScale;var maxX=(diffHorizontal-dims.parent.padding.left)/toScale;result.x=Math.max(Math.min(result.x,maxX),minX);var minY=(-(scaledHeight-dims.parent.height)-dims.parent.padding.top-dims.parent.border.top-dims.parent.border.bottom+diffVertical)/toScale;var maxY=(diffVertical-dims.parent.padding.top)/toScale;result.y=Math.max(Math.min(result.y,maxY),minY)}
64return result}
65function constrainScale(toScale,zoomOptions){var opts=__assign(__assign({},options),zoomOptions);var result={scale:scale,opts:opts};if(!opts.force&&opts.disableZoom){return result}
66result.scale=Math.min(Math.max(toScale,opts.minScale),opts.maxScale);return result}
67function pan(toX,toY,panOptions,originalEvent){var result=constrainXY(toX,toY,scale,panOptions);var opts=result.opts;x=result.x;y=result.y;return setTransformWithEvent('panzoompan',opts,originalEvent)}
68function zoom(toScale,zoomOptions,originalEvent){var result=constrainScale(toScale,zoomOptions);var opts=result.opts;if(!opts.force&&opts.disableZoom){return}
69toScale=result.scale;var toX=x;var toY=y;if(opts.focal){var focal=opts.focal;toX=(focal.x/toScale-focal.x/scale+x*toScale)/toScale;toY=(focal.y/toScale-focal.y/scale+y*toScale)/toScale}
70var panResult=constrainXY(toX,toY,toScale,{relative:!1,force:!0});x=panResult.x;y=panResult.y;scale=toScale;return setTransformWithEvent('panzoomzoom',opts,originalEvent)}
71function zoomInOut(isIn,zoomOptions){var opts=__assign(__assign({},options),zoomOptions);return zoom(scale*Math.exp((isIn?1:-1)*opts.step),opts)}
72function zoomIn(zoomOptions){return zoomInOut(!0,zoomOptions)}
73function zoomOut(zoomOptions){return zoomInOut(!1,zoomOptions)}
74function zoomToPoint(toScale,point,zoomOptions,originalEvent){var dims=getDimensions(elem);var effectiveArea={width:dims.parent.width-dims.parent.padding.left-dims.parent.padding.right-dims.parent.border.left-dims.parent.border.right,height:dims.parent.height-dims.parent.padding.top-dims.parent.padding.bottom-dims.parent.border.top-dims.parent.border.bottom};var clientX=point.clientX-dims.parent.left-dims.parent.padding.left-dims.parent.border.left-dims.elem.margin.left;var clientY=point.clientY-dims.parent.top-dims.parent.padding.top-dims.parent.border.top-dims.elem.margin.top;if(!isSVG){clientX-=dims.elem.width/scale/2;clientY-=dims.elem.height/scale/2}
75var focal={x:(clientX/effectiveArea.width)*(effectiveArea.width*toScale),y:(clientY/effectiveArea.height)*(effectiveArea.height*toScale)};return zoom(toScale,__assign(__assign({animate:!1},zoomOptions),{focal:focal}),originalEvent)}
76function zoomWithWheel(event,zoomOptions){event.preventDefault();var opts=__assign(__assign({},options),zoomOptions);var delta=event.deltaY===0&&event.deltaX?event.deltaX:event.deltaY;var wheel=delta<0?1:-1;var toScale=constrainScale(scale*Math.exp((wheel*opts.step)/3),opts).scale;return zoomToPoint(toScale,event,opts)}
77function reset(resetOptions){var opts=__assign(__assign({},options),resetOptions);opts.force=!0;scale=constrainScale(opts.startScale,opts).scale;var panResult=constrainXY(opts.startX,opts.startY,scale,opts);x=panResult.x;y=panResult.y;return setTransformWithEvent('panzoomreset',opts)}
78var origX;var origY;var startClientX;var startClientY;var startScale;var startDistance;var pointers=[];function handleDown(event){if(isExcluded(event.target,options)){return}
79addPointer(pointers,event);isPanning=!0;options.handleStartEvent(event);origX=x;origY=y;trigger('panzoomstart',{x:x,y:y,scale:scale,isSVG:isSVG,originalEvent:event},options);var point=getMiddle(pointers);startClientX=point.clientX;startClientY=point.clientY;startScale=scale;startDistance=getDistance(pointers)}
80function move(event){if(!isPanning||origX===undefined||origY===undefined||startClientX===undefined||startClientY===undefined){return}
81addPointer(pointers,event);var current=getMiddle(pointers);if(pointers.length>1){var diff=getDistance(pointers)-startDistance;var toScale=constrainScale((diff*options.step)/80+startScale).scale;zoomToPoint(toScale,current)}
82pan(origX+(current.clientX-startClientX)/scale,origY+(current.clientY-startClientY)/scale,{animate:!1},event)}
83function handleUp(event){if(pointers.length===1){trigger('panzoomend',{x:x,y:y,scale:scale,isSVG:isSVG,originalEvent:event},options)}
84removePointer(pointers,event);if(!isPanning){return}
85isPanning=!1;origX=origY=startClientX=startClientY=undefined}
86var bound=!1;function bind(){if(bound){return}
87bound=!0;onPointer('down',options.canvas?parent:elem,handleDown);onPointer('move',document,move,{passive:!0});onPointer('up',document,handleUp,{passive:!0})}
88function destroy(){bound=!1;destroyPointer('down',options.canvas?parent:elem,handleDown);destroyPointer('move',document,move);destroyPointer('up',document,handleUp)}
89if(!options.noBind){bind()}
90return{bind:bind,destroy:destroy,eventNames:{down:'mousedown',move:'mousemove',up:'mouseup mouseleave'},getPan:function(){return({x:x,y:y})},getScale:function(){return scale},getOptions:function(){return shallowClone(options)},pan:pan,reset:reset,resetStyle:resetStyle,setOptions:setOptions,setStyle:function(name,value){return setStyle(elem,name,value)},zoom:zoom,zoomIn:zoomIn,zoomOut:zoomOut,zoomToPoint:zoomToPoint,zoomWithWheel:zoomWithWheel}}
91Panzoom.defaultOptions=defaultOptions;window.panZoom=Panzoom})()

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.