/*!medium-zoom 1.0.5 | MIT License | https://github.com/francoischalifour/medium-zoom*/(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):(global=global||self,global.mediumZoom=factory());})(this,function(){"use strict";var _extends=Object.assign||function(target){for(var i=1;i1&&arguments[1]!==undefined?arguments[1]:{};var Promise=window.Promise||function Promise(fn){function noop(){} fn(noop,noop);};var _handleClick=function _handleClick(event){var target=event.target;if(target===overlay){close();return;} if(images.indexOf(target)===-1){return;} toggle({target:target});};var _handleScroll=function _handleScroll(){if(isAnimating||!active.original){return;} var currentScroll=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;if(Math.abs(scrollTop-currentScroll)>zoomOptions.scrollOffset){setTimeout(close,150);}};var _handleKeyUp=function _handleKeyUp(event){var key=event.key||event.keyCode;if(key==="Escape"||key==="Esc"||key===27){close();}};var update=function update(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var newOptions=options;if(options.container&&options.container instanceof Object){newOptions.container=_extends({},zoomOptions.container,options.container);} if(options.template){var template=isNode(options.template)?options.template:document.querySelector(options.template);newOptions.template=template;} zoomOptions=_extends({},zoomOptions,newOptions);images.forEach(function(image){image.dispatchEvent(createCustomEvent("medium-zoom:update",{detail:{zoom:zoom}}));});return zoom;};var clone=function clone(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return mediumZoom(_extends({},zoomOptions,options));};var attach=function attach(){for(var _len=arguments.length,selectors=Array(_len),_key=0;_key<_len;_key++){selectors[_key]=arguments[_key];} var newImages=selectors.reduce(function(imagesAccumulator,currentSelector){return[].concat(imagesAccumulator,getImagesFromSelector(currentSelector));},[]);newImages.filter(function(newImage){return images.indexOf(newImage)===-1;}).forEach(function(newImage){images.push(newImage);newImage.classList.add("medium-zoom-image");});eventListeners.forEach(function(_ref){var type=_ref.type,listener=_ref.listener,options=_ref.options;newImages.forEach(function(image){image.addEventListener(type,listener,options);});});return zoom;};var detach=function detach(){for(var _len2=arguments.length,selectors=Array(_len2),_key2=0;_key2<_len2;_key2++){selectors[_key2]=arguments[_key2];} if(active.zoomed){close();} var imagesToDetach=selectors.length>0?selectors.reduce(function(imagesAccumulator,currentSelector){return[].concat(imagesAccumulator,getImagesFromSelector(currentSelector));},[]):images;imagesToDetach.forEach(function(image){image.classList.remove("medium-zoom-image");image.dispatchEvent(createCustomEvent("medium-zoom:detach",{detail:{zoom:zoom}}));});images=images.filter(function(image){return imagesToDetach.indexOf(image)===-1;});return zoom;};var on=function on(type,listener){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};images.forEach(function(image){image.addEventListener("medium-zoom:"+type,listener,options);});eventListeners.push({type:"medium-zoom:"+type,listener:listener,options:options});return zoom;};var off=function off(type,listener){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};images.forEach(function(image){image.removeEventListener("medium-zoom:"+type,listener,options);});eventListeners=eventListeners.filter(function(eventListener){return!(eventListener.type==="medium-zoom:"+type&&eventListener.listener.toString()===listener.toString());});return zoom;};var open=function open(){var _ref2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},target=_ref2.target;var _animate=function _animate(){var container={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0};var viewportWidth=void 0;var viewportHeight=void 0;if(zoomOptions.container){if(zoomOptions.container instanceof Object){container=_extends({},container,zoomOptions.container);viewportWidth=container.width-container.left-container.right-zoomOptions.margin*2;viewportHeight=container.height-container.top-container.bottom-zoomOptions.margin*2;}else{var zoomContainer=isNode(zoomOptions.container)?zoomOptions.container:document.querySelector(zoomOptions.container);var _zoomContainer$getBou=zoomContainer.getBoundingClientRect(),_width=_zoomContainer$getBou.width,_height=_zoomContainer$getBou.height,_left=_zoomContainer$getBou.left,_top=_zoomContainer$getBou.top;container=_extends({},container,{width:_width,height:_height,left:_left,top:_top});}} viewportWidth=viewportWidth||container.width-zoomOptions.margin*2;viewportHeight=viewportHeight||container.height-zoomOptions.margin*2;var zoomTarget=active.zoomedHd||active.original;var naturalWidth=isSvg(zoomTarget)?viewportWidth:zoomTarget.naturalWidth||viewportWidth;var naturalHeight=isSvg(zoomTarget)?viewportHeight:zoomTarget.naturalHeight||viewportHeight;var _zoomTarget$getBoundi=zoomTarget.getBoundingClientRect(),top=_zoomTarget$getBoundi.top,left=_zoomTarget$getBoundi.left,width=_zoomTarget$getBoundi.width,height=_zoomTarget$getBoundi.height;var scaleX=Math.min(naturalWidth,viewportWidth)/width;var scaleY=Math.min(naturalHeight,viewportHeight)/height;var scale=Math.min(scaleX,scaleY);var translateX=(-left+(viewportWidth-width)/2+zoomOptions.margin+container.left)/scale;var translateY=(-top+(viewportHeight-height)/2+zoomOptions.margin+container.top)/scale;var transform="scale("+scale+") translate3d("+translateX+"px, "+translateY+"px, 0)";active.zoomed.style.transform=transform;if(active.zoomedHd){active.zoomedHd.style.transform=transform;}};return new Promise(function(resolve){if(target&&images.indexOf(target)===-1){resolve(zoom);return;} var _handleOpenEnd=function _handleOpenEnd(){isAnimating=false;active.zoomed.removeEventListener("transitionend",_handleOpenEnd);active.original.dispatchEvent(createCustomEvent("medium-zoom:opened",{detail:{zoom:zoom}}));resolve(zoom);};if(active.zoomed){resolve(zoom);return;} if(target){active.original=target;}else if(images.length>0){var _images=images;active.original=_images[0];}else{resolve(zoom);return;} active.original.dispatchEvent(createCustomEvent("medium-zoom:open",{detail:{zoom:zoom}}));scrollTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;isAnimating=true;active.zoomed=cloneTarget(active.original);document.body.appendChild(overlay);if(zoomOptions.template){var template=isNode(zoomOptions.template)?zoomOptions.template:document.querySelector(zoomOptions.template);active.template=document.createElement("div");active.template.appendChild(template.content.cloneNode(true));document.body.appendChild(active.template);} document.body.appendChild(active.zoomed);window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened");});active.original.classList.add("medium-zoom-image--hidden");active.zoomed.classList.add("medium-zoom-image--opened");active.zoomed.addEventListener("click",close);active.zoomed.addEventListener("transitionend",_handleOpenEnd);if(active.original.getAttribute("data-zoom-src")){active.zoomedHd=active.zoomed.cloneNode();active.zoomedHd.removeAttribute("srcset");active.zoomedHd.removeAttribute("sizes");active.zoomedHd.src=active.zoomed.getAttribute("data-zoom-src");active.zoomedHd.onerror=function(){clearInterval(getZoomTargetSize);console.warn("Unable to reach the zoom image target "+active.zoomedHd.src);active.zoomedHd=null;_animate();};var getZoomTargetSize=setInterval(function(){if(active.zoomedHd.complete){clearInterval(getZoomTargetSize);active.zoomedHd.classList.add("medium-zoom-image--opened");active.zoomedHd.addEventListener("click",close);document.body.appendChild(active.zoomedHd);_animate();}},10);}else if(active.original.hasAttribute("srcset")){active.zoomedHd=active.zoomed.cloneNode();active.zoomedHd.removeAttribute("sizes");var loadEventListener=active.zoomedHd.addEventListener("load",function(){active.zoomedHd.removeEventListener("load",loadEventListener);active.zoomedHd.classList.add("medium-zoom-image--opened");active.zoomedHd.addEventListener("click",close);document.body.appendChild(active.zoomedHd);_animate();});}else{_animate();}});};var close=function close(){return new Promise(function(resolve){if(isAnimating||!active.original){resolve(zoom);return;} var _handleCloseEnd=function _handleCloseEnd(){active.original.classList.remove("medium-zoom-image--hidden");document.body.removeChild(active.zoomed);if(active.zoomedHd){document.body.removeChild(active.zoomedHd);} document.body.removeChild(overlay);active.zoomed.classList.remove("medium-zoom-image--opened");if(active.template){document.body.removeChild(active.template);} isAnimating=false;active.zoomed.removeEventListener("transitionend",_handleCloseEnd);active.original.dispatchEvent(createCustomEvent("medium-zoom:closed",{detail:{zoom:zoom}}));active.original=null;active.zoomed=null;active.zoomedHd=null;active.template=null;resolve(zoom);};isAnimating=true;document.body.classList.remove("medium-zoom--opened");active.zoomed.style.transform="";if(active.zoomedHd){active.zoomedHd.style.transform="";} if(active.template){active.template.style.transition="opacity 150ms";active.template.style.opacity=0;} active.original.dispatchEvent(createCustomEvent("medium-zoom:close",{detail:{zoom:zoom}}));active.zoomed.addEventListener("transitionend",_handleCloseEnd);});};var toggle=function toggle(){var _ref3=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},target=_ref3.target;if(active.original){return close();} return open({target:target});};var getOptions=function getOptions(){return zoomOptions;};var getImages=function getImages(){return images;};var getZoomedImage=function getZoomedImage(){return active.original;};var images=[];var eventListeners=[];var isAnimating=false;var scrollTop=0;var zoomOptions=options;var active={original:null,zoomed:null,zoomedHd:null,template:null};if(Object.prototype.toString.call(selector)==="[object Object]"){zoomOptions=selector;}else if(selector||typeof selector==="string"){attach(selector);} zoomOptions=_extends({margin:0,scrollOffset:40,container:null,template:null},zoomOptions);var overlay=createOverlay();document.addEventListener("click",_handleClick);document.addEventListener("keyup",_handleKeyUp);document.addEventListener("scroll",_handleScroll);window.addEventListener("resize",close);var zoom={open:open,close:close,toggle:toggle,update:update,clone:clone,attach:attach,detach:detach,on:on,off:off,getOptions:getOptions,getImages:getImages,getZoomedImage:getZoomedImage};return zoom;};return mediumZoom;});mediumZoom(document.querySelectorAll('div.post-content img'));