photoswipe-ui-default.min_wev8.js 8.99 KB
!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():e.PhotoSwipeUI_Default=n()}(this,function(){"use strict";return function(l,s){var t,a,r,i,n,o,u,c,p,e,d,m,f,h,w,v,g,_,C=this,T=!1,b=!0,I=!0,E={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(e,n){return e.title?(n.children[0].innerHTML=e.title,!0):(n.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return l.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return l.currItem.title||""},indexIndicatorSep:" / "},F=function(e){if(v)return!0;e=e||window.event,w.timeToIdle&&w.mouseUsed&&!p&&z();for(var n,t,o=(e.target||e.srcElement).className,l=0;l<U.length;l++)(n=U[l]).onTap&&-1<o.indexOf("pswp__"+n.name)&&(n.onTap(),t=!0);if(t){e.stopPropagation&&e.stopPropagation(),v=!0;var r=s.features.isOldAndroid?600:30;setTimeout(function(){v=!1},r)}},x=function(e,n,t){s[(t?"add":"remove")+"Class"](e,"pswp__"+n)},S=function(){var e=1===w.getNumItemsFn();e!==h&&(x(a,"ui--one-slide",e),h=e)},K=function(){x(u,"share-modal--hidden",I)},L=function(){return(I=!I)?(s.removeClass(u,"pswp__share-modal--fade-in"),setTimeout(function(){I&&K()},300)):(K(),setTimeout(function(){I||s.addClass(u,"pswp__share-modal--fade-in")},30)),I||O(),!1},k=function(e){var n=(e=e||window.event).target||e.srcElement;return l.shout("shareLinkClick",e,n),!(!n.href||!n.hasAttribute("download")&&(window.open(n.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),I||L(),1))},O=function(){for(var e,n,t,o,l="",r=0;r<w.shareButtons.length;r++)e=w.shareButtons[r],n=w.getImageURLForShare(e),t=w.getPageURLForShare(e),o=w.getTextForShare(e),l+='<a href="'+e.url.replace("{{url}}",encodeURIComponent(t)).replace("{{image_url}}",encodeURIComponent(n)).replace("{{raw_image_url}}",n).replace("{{text}}",encodeURIComponent(o))+'" target="_blank" class="pswp__share--'+e.id+'"'+(e.download?"download":"")+">"+e.label+"</a>",w.parseShareButtonOut&&(l=w.parseShareButtonOut(e,l));u.children[0].innerHTML=l,u.children[0].onclick=k},R=function(e){for(var n=0;n<w.closeElClasses.length;n++)if(s.hasClass(e,"pswp__"+w.closeElClasses[n]))return!0},y=0,z=function(){clearTimeout(_),y=0,p&&C.setIdle(!1)},M=function(e){var n=(e=e||window.event).relatedTarget||e.toElement;n&&"HTML"!==n.nodeName||(clearTimeout(_),_=setTimeout(function(){C.setIdle(!0)},w.timeToIdleOutside))},D=function(e){m!==e&&(x(d,"preloader--active",!e),m=e)},N=function(e){var n=e.vGap;if(!l.likelyTouchDevice||w.mouseUsed||1200<screen.width){var t=w.barsSize;if(w.captionEl&&"auto"===t.bottom)if(i||((i=s.createEl("pswp__caption pswp__caption--fake")).appendChild(s.createEl("pswp__caption__center")),a.insertBefore(i,r),s.addClass(a,"pswp__ui--fit")),w.addCaptionHTMLFn(e,i,!0)){var o=i.clientHeight;n.bottom=parseInt(o,10)||44}else n.bottom=t.top;else n.bottom="auto"===t.bottom?0:t.bottom;n.top=t.top}else n.top=n.bottom=0},U=[{name:"caption",option:"captionEl",onInit:function(e){r=e}},{name:"share-modal",option:"shareEl",onInit:function(e){u=e},onTap:function(){L()}},{name:"button--share",option:"shareEl",onInit:function(e){o=e},onTap:function(){L()}},{name:"button--zoom",option:"zoomEl",onTap:l.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(e){n=e}},{name:"button--close",option:"closeEl",onTap:l.close},{name:"button--arrow--left",option:"arrowEl",onTap:l.prev},{name:"button--arrow--right",option:"arrowEl",onTap:l.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){t.isFullscreen()?t.exit():t.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(e){d=e}}];C.init=function(){var n;s.extend(l.options,E,!0),w=l.options,a=s.getChildByClass(l.scrollWrap,"pswp__ui"),(e=l.listen)("onVerticalDrag",function(e){b&&e<.95?C.hideControls():!b&&.95<=e&&C.showControls()}),e("onPinchClose",function(e){b&&e<.9?(C.hideControls(),n=!0):n&&!b&&.9<e&&C.showControls()}),e("zoomGestureEnded",function(){(n=!1)&&!b&&C.showControls()}),e("beforeChange",C.update),e("doubleTap",function(e){var n=l.currItem.initialZoomLevel;l.getZoomLevel()!==n?l.zoomTo(n,e,333):l.zoomTo(w.getDoubleTapZoom(!1,l.currItem),e,333)}),e("preventDragEvent",function(e,n,t){var o=e.target||e.srcElement;o&&o.className&&-1<e.type.indexOf("mouse")&&(0<o.className.indexOf("__caption")||/(SMALL|STRONG|EM)/i.test(o.tagName))&&(t.prevent=!1)}),e("bindEvents",function(){s.bind(a,"pswpTap click",F),s.bind(l.scrollWrap,"pswpTap",C.onGlobalTap),l.likelyTouchDevice||s.bind(l.scrollWrap,"mouseover",C.onMouseOver)}),e("unbindEvents",function(){I||L(),g&&clearInterval(g),s.unbind(document,"mouseout",M),s.unbind(document,"mousemove",z),s.unbind(a,"pswpTap click",F),s.unbind(l.scrollWrap,"pswpTap",C.onGlobalTap),s.unbind(l.scrollWrap,"mouseover",C.onMouseOver),t&&(s.unbind(document,t.eventK,C.updateFullscreen),t.isFullscreen()&&(w.hideAnimationDuration=0,t.exit()),t=null)}),e("destroy",function(){w.captionEl&&(i&&a.removeChild(i),s.removeClass(r,"pswp__caption--empty")),u&&(u.children[0].onclick=null),s.removeClass(a,"pswp__ui--over-close"),s.addClass(a,"pswp__ui--hidden"),C.setIdle(!1)}),w.showAnimationDuration||s.removeClass(a,"pswp__ui--hidden"),e("initialZoomIn",function(){w.showAnimationDuration&&s.removeClass(a,"pswp__ui--hidden")}),e("initialZoomOut",function(){s.addClass(a,"pswp__ui--hidden")}),e("parseVerticalMargin",N),function(){var l,r,i,e=function(e){if(e)for(var n=e.length,t=0;t<n;t++){l=e[t],r=l.className;for(var o=0;o<U.length;o++)i=U[o],-1<r.indexOf("pswp__"+i.name)&&(w[i.option]?(s.removeClass(l,"pswp__element--disabled"),i.onInit&&i.onInit(l)):s.addClass(l,"pswp__element--disabled"))}};e(a.children);var n=s.getChildByClass(a,"pswp__top-bar");n&&e(n.children)}(),w.shareEl&&o&&u&&(I=!0),S(),w.timeToIdle&&e("mouseUsed",function(){s.bind(document,"mousemove",z),s.bind(document,"mouseout",M),g=setInterval(function(){2==++y&&C.setIdle(!0)},w.timeToIdle/2)}),w.fullscreenEl&&(t||(t=C.getFullscreenAPI()),t?(s.bind(document,t.eventK,C.updateFullscreen),C.updateFullscreen(),s.addClass(l.template,"pswp--supports-fs")):s.removeClass(l.template,"pswp--supports-fs")),w.preloaderEl&&(D(!0),e("beforeChange",function(){clearTimeout(f),f=setTimeout(function(){l.currItem&&l.currItem.loading?(!l.allowProgressiveImg()||l.currItem.img&&!l.currItem.img.naturalWidth)&&D(!1):D(!0)},w.loadingIndicatorDelay)}),e("imageLoadComplete",function(e,n){l.currItem===n&&D(!0)}))},C.setIdle=function(e){x(a,"ui--idle",p=e)},C.update=function(){T=!(!b||!l.currItem||(C.updateIndexIndicator(),w.captionEl&&(w.addCaptionHTMLFn(l.currItem,r),x(r,"caption--empty",!l.currItem.title)),0)),I||L(),S()},C.updateFullscreen=function(e){e&&setTimeout(function(){l.setScrollOffset(0,s.getScrollY())},50),s[(t.isFullscreen()?"add":"remove")+"Class"](l.template,"pswp--fs")},C.updateIndexIndicator=function(){w.counterEl&&(n.innerHTML=l.getCurrentIndex()+1+w.indexIndicatorSep+w.getNumItemsFn())},C.onGlobalTap=function(e){var n=(e=e||window.event).target||e.srcElement;if(!v)if(e.detail&&"mouse"===e.detail.pointerType){if(R(n))return void l.close();s.hasClass(n,"pswp__img")&&(1===l.getZoomLevel()&&l.getZoomLevel()<=l.currItem.fitRatio?w.clickToCloseNonZoomable&&l.close():l.toggleDesktopZoom(e.detail.releasePoint))}else if(w.tapToToggleControls&&(b?C.hideControls():C.showControls()),w.tapToClose&&(s.hasClass(n,"pswp__img")||R(n)))return void l.close()},C.onMouseOver=function(e){var n=(e=e||window.event).target||e.srcElement;x(a,"ui--over-close",R(n))},C.hideControls=function(){s.addClass(a,"pswp__ui--hidden"),b=!1},C.showControls=function(){b=!0,T||C.update(),s.removeClass(a,"pswp__ui--hidden")},C.supportsFullscreen=function(){var e=document;return!!(e.exitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen||e.msExitFullscreen)},C.getFullscreenAPI=function(){var e,n=document.documentElement,t="fullscreenchange";return n.requestFullscreen?e={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:t}:n.mozRequestFullScreen?e={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+t}:n.webkitRequestFullscreen?e={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+t}:n.msRequestFullscreen&&(e={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),e&&(e.enter=function(){return c=w.closeOnScroll,w.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?l.template[this.enterK]():void l.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},e.exit=function(){return w.closeOnScroll=c,document[this.exitK]()},e.isFullscreen=function(){return document[this.elementK]}),e}}});