quarkd
Version:
Mobile UI Components built on Web Components.
7 lines (6 loc) • 22 kB
JavaScript
import{_ as e,r as t}from"../index7.js";import{_ as i,a as s}from"../typeof.js";import{_ as o,a as n,b as r,c as a,P as h,H as p,A as l,d as g,N as c,O as u,B as d}from"../index2.js";import{_ as f}from"../defineProperty.js";import{B as v}from"../core.esm.js";import"../popup/index.js";import"../bodyScrollLock.esm.js";import"../index4.js";import"../index22.js";
/*!
* better-scroll / slide
* (c) 2016-2021 ustbhuangyi
* Released under the MIT License.
*/function y(e){console.error("[BScroll warn]: "+e)}var m="undefined"!=typeof window,P=m&&navigator.userAgent.toLowerCase();P&&/wechatdevtools/.test(P),P&&P.indexOf("android"),function(){if("string"==typeof P){var e=/os (\d\d?_\d(_\d)?)/.exec(P);if(!e)return!1;var t=e[1].split("_").map((function(e){return parseInt(e,10)}));return!!(13===t[0]&&t[1]>=4)}}();if(m){try{var x={};Object.defineProperty(x,"passive",{get:function(){!0}}),window.addEventListener("test-passive",(function(){}),x)}catch(e){}}var X=function(e,t){for(var i in t)e[i]=t[i];return e};function Y(e,t,i){return e<t?t:e>i?i:e}var k=m&&document.createElement("div").style,T=function(){if(!m)return!1;for(var e=0,t=[{key:"standard",value:"transform"},{key:"webkit",value:"webkitTransform"},{key:"Moz",value:"MozTransform"},{key:"O",value:"OTransform"},{key:"ms",value:"msTransform"}];e<t.length;e++){var i=t[e];if(void 0!==k[i.value])return i.key}return!1}();function w(e){return!1===T?e:"standard"===T?"transitionEnd"===e?"transitionend":e:T+e.charAt(0).toUpperCase()+e.substr(1)}T&&"standard"!==T&&T.toLowerCase();w("transform"),w("transition");m&&w("perspective"),w("transitionTimingFunction"),w("transitionDuration"),w("transitionDelay"),w("transformOrigin"),w("transitionEnd"),w("transitionProperty");var M={swipe:{style:"cubic-bezier(0.23, 1, 0.32, 1)",fn:function(e){return 1+--e*e*e*e*e}},swipeBounce:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(e){return e*(2-e)}},bounce:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)",fn:function(e){return 1- --e*e*e*e}}},C=function(){function e(e){this.scroll=e,this.init()}return e.prototype.init=function(){var e=this.scroll.scroller,t=e.scrollBehaviorX,i=e.scrollBehaviorY;this.wrapperWidth=t.wrapperSize,this.wrapperHeight=i.wrapperSize,this.scrollerHeight=i.contentSize,this.scrollerWidth=t.contentSize,this.pages=this.buildPagesMatrix(this.wrapperWidth,this.wrapperHeight),this.pageLengthOfX=this.pages?this.pages.length:0,this.pageLengthOfY=this.pages&&this.pages[0]?this.pages[0].length:0},e.prototype.getPageStats=function(e,t){return this.pages[e][t]},e.prototype.getNearestPageIndex=function(e,t){for(var i=0,s=0,o=this.pages.length;i<o-1&&!(e>=this.pages[i][0].cx);i++);for(o=this.pages[i].length;s<o-1&&!(t>=this.pages[0][s].cy);s++);return{pageX:i,pageY:s}},e.prototype.buildPagesMatrix=function(e,t){var i,s,o,n,r=[],a=0,h=0,p=this.scroll.scroller.scrollBehaviorX.maxScrollPos,l=this.scroll.scroller.scrollBehaviorY.maxScrollPos;for(s=Math.round(e/2),o=Math.round(t/2);a>-this.scrollerWidth;){for(r[h]=[],n=0,i=0;i>-this.scrollerHeight;)r[h][n]={x:Math.max(a,p),y:Math.max(i,l),width:e,height:t,cx:a-s,cy:i-o},i-=t,n++;a-=e,h++}return r},e}(),L={pageX:0,pageY:0,x:0,y:0},S=function(){function e(e,t){this.scroll=e,this.slideOptions=t,this.slideX=!1,this.slideY=!1,this.currentPage=X({},L)}return e.prototype.refresh=function(){this.pagesMatrix=new C(this.scroll),this.checkSlideLoop(),this.currentPage=this.getAdjustedCurrentPage()},e.prototype.getAdjustedCurrentPage=function(){var e=this.currentPage,t=e.pageX,i=e.pageY;t=Math.min(t,this.pagesMatrix.pageLengthOfX-1),i=Math.min(i,this.pagesMatrix.pageLengthOfY-1),this.loopX&&(t=Math.min(t,this.pagesMatrix.pageLengthOfX-2)),this.loopY&&(i=Math.min(i,this.pagesMatrix.pageLengthOfY-2));var s=this.pagesMatrix.getPageStats(t,i);return{pageX:t,pageY:i,x:s.x,y:s.y}},e.prototype.setCurrentPage=function(e){this.currentPage=e},e.prototype.getInternalPage=function(e,t){e>=this.pagesMatrix.pageLengthOfX?e=this.pagesMatrix.pageLengthOfX-1:e<0&&(e=0),t>=this.pagesMatrix.pageLengthOfY?t=this.pagesMatrix.pageLengthOfY-1:t<0&&(t=0);var i=this.pagesMatrix.getPageStats(e,t);return{pageX:e,pageY:t,x:i.x,y:i.y}},e.prototype.getInitialPage=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var i=this.slideOptions,s=i.startPageXIndex,o=i.startPageYIndex,n=this.loopX?1:0,r=this.loopY?1:0,a=e?n:this.currentPage.pageX,h=e?r:this.currentPage.pageY;t?(a=this.loopX?s+1:s,h=this.loopY?o+1:o):(a=e?n:this.currentPage.pageX,h=e?r:this.currentPage.pageY);var p=this.pagesMatrix.getPageStats(a,h);return{pageX:a,pageY:h,x:p.x,y:p.y}},e.prototype.getExposedPage=function(e){var t=X({},e);return this.loopX&&(t.pageX=this.fixedPage(t.pageX,this.pagesMatrix.pageLengthOfX-2)),this.loopY&&(t.pageY=this.fixedPage(t.pageY,this.pagesMatrix.pageLengthOfY-2)),t},e.prototype.getExposedPageByPageIndex=function(e,t){var i={pageX:e,pageY:t};this.loopX&&(i.pageX=e+1),this.loopY&&(i.pageY=t+1);var s=this.pagesMatrix.getPageStats(i.pageX,i.pageY);return{x:s.x,y:s.y,pageX:e,pageY:t}},e.prototype.getWillChangedPage=function(e){return e=X({},e),this.loopX&&(e.pageX=this.fixedPage(e.pageX,this.pagesMatrix.pageLengthOfX-2),e.x=this.pagesMatrix.getPageStats(e.pageX+1,0).x),this.loopY&&(e.pageY=this.fixedPage(e.pageY,this.pagesMatrix.pageLengthOfY-2),e.y=this.pagesMatrix.getPageStats(0,e.pageY+1).y),e},e.prototype.fixedPage=function(e,t){for(var i=[],s=0;s<t;s++)i.push(s);return i.unshift(t-1),i.push(0),i[e]},e.prototype.getPageStats=function(){return this.pagesMatrix.getPageStats(this.currentPage.pageX,this.currentPage.pageY)},e.prototype.getValidPageIndex=function(e,t){var i=this.pagesMatrix.pageLengthOfX-1,s=this.pagesMatrix.pageLengthOfY-1,o=0,n=0;return this.loopX&&(e+=1,o+=1,i-=1),this.loopY&&(t+=1,n+=1,s-=1),{pageX:e=Y(e,o,i),pageY:t=Y(t,n,s)}},e.prototype.nextPageIndex=function(){return this.getPageIndexByDirection("positive")},e.prototype.prevPageIndex=function(){return this.getPageIndexByDirection("negative")},e.prototype.getNearestPage=function(e,t){var i=this.pagesMatrix.getNearestPageIndex(e,t),s=i.pageX,o=i.pageY;return{x:this.pagesMatrix.getPageStats(s,0).x,y:this.pagesMatrix.getPageStats(0,o).y,pageX:s,pageY:o}},e.prototype.getPageByDirection=function(e,t,i){var s=e.pageX,o=e.pageY;return s===this.currentPage.pageX&&(s=Y(s+t,0,this.pagesMatrix.pageLengthOfX-1)),o===this.currentPage.pageY&&(o=Y(o+i,0,this.pagesMatrix.pageLengthOfY-1)),{x:this.pagesMatrix.getPageStats(s,0).x,y:this.pagesMatrix.getPageStats(0,o).y,pageX:s,pageY:o}},e.prototype.resetLoopPage=function(){if(this.loopX){if(0===this.currentPage.pageX)return{pageX:this.pagesMatrix.pageLengthOfX-2,pageY:this.currentPage.pageY};if(this.currentPage.pageX===this.pagesMatrix.pageLengthOfX-1)return{pageX:1,pageY:this.currentPage.pageY}}if(this.loopY){if(0===this.currentPage.pageY)return{pageX:this.currentPage.pageX,pageY:this.pagesMatrix.pageLengthOfY-2};if(this.currentPage.pageY===this.pagesMatrix.pageLengthOfY-1)return{pageX:this.currentPage.pageX,pageY:1}}},e.prototype.getPageIndexByDirection=function(e){var t=this.currentPage.pageX,i=this.currentPage.pageY;return this.slideX&&(t="negative"===e?t-1:t+1),this.slideY&&(i="negative"===e?i-1:i+1),{pageX:t,pageY:i}},e.prototype.checkSlideLoop=function(){this.wannaLoop=this.slideOptions.loop,this.pagesMatrix.pageLengthOfX>1?this.slideX=!0:this.slideX=!1,this.pagesMatrix.pages[0]&&this.pagesMatrix.pageLengthOfY>1?this.slideY=!0:this.slideY=!1,this.loopX=this.wannaLoop&&this.slideX,this.loopY=this.wannaLoop&&this.slideY,this.slideX&&this.slideY&&y("slide does not support two direction at the same time.")},e}(),b=[{key:"next",name:"next"},{key:"prev",name:"prev"},{key:"goToPage",name:"goToPage"},{key:"getCurrentPage",name:"getCurrentPage"},{key:"startPlay",name:"startPlay"},{key:"pausePlay",name:"pausePlay"}].map((function(e){return{key:e.key,sourceKey:"plugins.slide."+e.name}})),O=function(){function e(e){this.scroll=e,this.cachedClonedPageDOM=[],this.resetLooping=!1,this.autoplayTimer=0,this.satisfyInitialization()&&this.init()}return e.prototype.satisfyInitialization=function(){return!(this.scroll.scroller.content.children.length<=0)||(y("slide need at least one slide page to be initialised.please check your DOM layout."),!1)},e.prototype.init=function(){this.willChangeToPage=X({},L),this.handleBScroll(),this.handleOptions(),this.handleHooks(),this.createPages()},e.prototype.createPages=function(){this.pages=new S(this.scroll,this.options)},e.prototype.handleBScroll=function(){this.scroll.registerType(["slideWillChange","slidePageChanged"]),this.scroll.proxy(b)},e.prototype.handleOptions=function(){var e=!0===this.scroll.options.slide?{}:this.scroll.options.slide,t={loop:!0,threshold:.1,speed:400,easing:M.bounce,listenFlick:!0,autoplay:!0,interval:3e3,startPageXIndex:0,startPageYIndex:0};this.options=X(t,e)},e.prototype.handleLoop=function(e){var t=this.options.loop,i=this.scroll.scroller.content,s=i.children.length;t&&(i!==e?(this.resetLoopChangedStatus(),this.removeClonedSlidePage(e),s>1&&this.cloneFirstAndLastSlidePage(i)):3===s&&this.initialised?(this.removeClonedSlidePage(i),this.moreToOnePageInLoop=!0,this.oneToMorePagesInLoop=!1):s>1?(this.initialised&&0===this.cachedClonedPageDOM.length?(this.oneToMorePagesInLoop=!0,this.moreToOnePageInLoop=!1):(this.removeClonedSlidePage(i),this.resetLoopChangedStatus()),this.cloneFirstAndLastSlidePage(i)):this.resetLoopChangedStatus())},e.prototype.resetLoopChangedStatus=function(){this.moreToOnePageInLoop=!1,this.oneToMorePagesInLoop=!1},e.prototype.handleHooks=function(){var e=this,t=this.scroll.hooks,i=this.scroll.scroller.hooks,s=this.options.listenFlick;this.prevContent=this.scroll.scroller.content,this.hooksFn=[],this.registerHooks(this.scroll,this.scroll.eventTypes.beforeScrollStart,this.pausePlay),this.registerHooks(this.scroll,this.scroll.eventTypes.scrollEnd,this.modifyCurrentPage),this.registerHooks(this.scroll,this.scroll.eventTypes.scrollEnd,this.startPlay),this.scroll.eventTypes.mousewheelMove&&(this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelMove,(function(){return!0})),this.registerHooks(this.scroll,this.scroll.eventTypes.mousewheelEnd,(function(t){1!==t.directionX&&1!==t.directionY||e.next(),-1!==t.directionX&&-1!==t.directionY||e.prev()}))),this.registerHooks(t,t.eventTypes.refresh,this.refreshHandler),this.registerHooks(t,t.eventTypes.destroy,this.destroy),this.registerHooks(i,i.eventTypes.beforeRefresh,(function(){e.handleLoop(e.prevContent),e.setSlideInlineStyle()})),this.registerHooks(i,i.eventTypes.momentum,this.modifyScrollMetaHandler),this.registerHooks(i,i.eventTypes.scroll,this.scrollHandler),this.registerHooks(i,i.eventTypes.checkClick,this.startPlay),s&&this.registerHooks(i,i.eventTypes.flick,this.flickHandler)},e.prototype.startPlay=function(){var e=this,t=this.options,i=t.interval;t.autoplay&&(clearTimeout(this.autoplayTimer),this.autoplayTimer=window.setTimeout((function(){e.next()}),i))},e.prototype.pausePlay=function(){this.options.autoplay&&clearTimeout(this.autoplayTimer)},e.prototype.setSlideInlineStyle=function(){var e=this.scroll.scroller,t=e.content,i=e.wrapper,s=this.scroll.options;[{direction:"scrollX",sizeType:"offsetWidth",styleType:"width"},{direction:"scrollY",sizeType:"offsetHeight",styleType:"height"}].forEach((function(e){var o=e.direction,n=e.sizeType,r=e.styleType;if(s[o]){for(var a=i[n],h=t.children,p=h.length,l=0;l<p;l++){h[l].style[r]=a+"px"}t.style[r]=a*p+"px"}}))},e.prototype.next=function(e,t){var i=this.pages.nextPageIndex(),s=i.pageX,o=i.pageY;this.goTo(s,o,e,t)},e.prototype.prev=function(e,t){var i=this.pages.prevPageIndex(),s=i.pageX,o=i.pageY;this.goTo(s,o,e,t)},e.prototype.goToPage=function(e,t,i,s){var o=this.pages.getValidPageIndex(e,t);this.goTo(o.pageX,o.pageY,i,s)},e.prototype.getCurrentPage=function(){return this.exposedPage||this.pages.getInitialPage(!1,!0)},e.prototype.setCurrentPage=function(e){this.pages.setCurrentPage(e),this.exposedPage=this.pages.getExposedPage(e)},e.prototype.nearestPage=function(e,t){var i=this.scroll.scroller,s=i.scrollBehaviorX,o=i.scrollBehaviorY,n=s.maxScrollPos,r=s.minScrollPos,a=o.maxScrollPos,h=o.minScrollPos;return this.pages.getNearestPage(Y(e,n,r),Y(t,a,h))},e.prototype.satisfyThreshold=function(e,t){var i=this.scroll.scroller,s=i.scrollBehaviorX,o=i.scrollBehaviorY,n=!0;return Math.abs(e-s.absStartPos)<=this.thresholdX&&Math.abs(t-o.absStartPos)<=this.thresholdY&&(n=!1),n},e.prototype.refreshHandler=function(e){var t=this;if(this.satisfyInitialization()){this.pages.refresh(),this.computeThreshold();var i=this.contentChanged=this.prevContent!==e;i&&(this.prevContent=e);var s=this.pages.getInitialPage(this.oneToMorePagesInLoop||this.moreToOnePageInLoop,i||!this.initialised);this.initialised?this.goTo(s.pageX,s.pageY,0):this.registerHooks(this.scroll.hooks,this.scroll.hooks.eventTypes.beforeInitialScrollTo,(function(e){t.initialised=!0,e.x=s.x,e.y=s.y})),this.startPlay()}},e.prototype.computeThreshold=function(){var e=this.options.threshold;if(e%1==0)this.thresholdX=e,this.thresholdY=e;else{var t=this.pages.getPageStats(),i=t.width,s=t.height;this.thresholdX=Math.round(i*e),this.thresholdY=Math.round(s*e)}},e.prototype.cloneFirstAndLastSlidePage=function(e){var t,i,s,o=e.children,n=o[o.length-1].cloneNode(!0),r=o[0].cloneNode(!0);t=n,(s=(i=e).firstChild)?function(e,t){t.parentNode.insertBefore(e,t)}(t,s):i.appendChild(t),e.appendChild(r),this.cachedClonedPageDOM=[n,r]},e.prototype.removeClonedSlidePage=function(e){(e&&e.children||[]).length&&this.cachedClonedPageDOM.forEach((function(t){!function(e,t){e.removeChild(t)}(e,t)})),this.cachedClonedPageDOM=[]},e.prototype.modifyCurrentPage=function(e){var t=this.getCurrentPage(),i=t.pageX,s=t.pageY,o=this.nearestPage(e.x,e.y);if(this.setCurrentPage(o),this.contentChanged)return this.contentChanged=!1,!0;var n=this.getCurrentPage(),r=n.pageX,a=n.pageY;if(this.pageWillChangeTo(o),this.oneToMorePagesInLoop)return this.oneToMorePagesInLoop=!1,!0;if(this.moreToOnePageInLoop&&0===i&&0===s)return this.moreToOnePageInLoop=!1,!0;if(i!==r||s!==a){var h=this.pages.getExposedPageByPageIndex(r,a);this.scroll.trigger(this.scroll.eventTypes.slidePageChanged,h)}if(!this.resetLooping){var p=this.pages.resetLoopPage();return p?(this.resetLooping=!0,this.goTo(p.pageX,p.pageY,0),!0):void 0}this.resetLooping=!1},e.prototype.goTo=function(e,t,i,s){var o=this.pages.getInternalPage(e,t),n=s||this.options.easing||M.bounce,r=o.x,a=o.y,h=r-this.scroll.scroller.scrollBehaviorX.currentPos,p=a-this.scroll.scroller.scrollBehaviorY.currentPos;h||p?(i=void 0===i?this.getEaseTime(h,p):i,this.scroll.scroller.scrollTo(r,a,i,n)):this.scroll.scroller.togglePointerEvents(!0)},e.prototype.flickHandler=function(){var e=this.scroll.scroller,t=e.scrollBehaviorX,i=e.scrollBehaviorY,s=t.currentPos,o=t.startPos,n=t.direction,r=i.currentPos,a=i.startPos,h=i.direction,p=this.pages.currentPage,l=p.pageX,g=p.pageY,c=this.getEaseTime(s-o,r-a);this.goTo(l+n,g+h,c)},e.prototype.getEaseTime=function(e,t){return this.options.speed||Math.max(Math.max(Math.min(Math.abs(e),1e3),Math.min(Math.abs(t),1e3)),300)},e.prototype.modifyScrollMetaHandler=function(e){var t=this.scroll.scroller,i=t.scrollBehaviorX,s=t.scrollBehaviorY,o=t.animater,n=e.newX,r=e.newY,a=this.satisfyThreshold(n,r)||o.forceStopped?this.pages.getPageByDirection(this.nearestPage(n,r),i.direction,s.direction):this.pages.currentPage;e.time=this.getEaseTime(e.newX-a.x,e.newY-a.y),e.newX=a.x,e.newY=a.y,e.easing=this.options.easing||M.bounce},e.prototype.scrollHandler=function(e){var t=e.x,i=e.y;if(this.satisfyThreshold(t,i)){var s=this.nearestPage(t,i);this.pageWillChangeTo(s)}},e.prototype.pageWillChangeTo=function(e){var t,i,s=this.pages.getWillChangedPage(e);t=this.willChangeToPage,i=s,(t.pageX!==i.pageX||t.pageY!==i.pageY)&&(this.willChangeToPage=s,this.scroll.trigger(this.scroll.eventTypes.slideWillChange,this.willChangeToPage))},e.prototype.registerHooks=function(e,t,i){e.on(t,i,this),this.hooksFn.push([e,t,i])},e.prototype.destroy=function(){var e=this.scroll.scroller.content,t=this.options,i=t.loop,s=t.autoplay;i&&this.removeClonedSlidePage(e),s&&clearTimeout(this.autoplayTimer),this.hooksFn.forEach((function(e){var t=e[0],i=e[1],s=e[2];t.eventTypes[i]&&t.off(i,s)})),this.hooksFn.length=0},e.pluginName="slide",e}();function I(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var i,s=o(e);if(t){var r=o(this).constructor;i=Reflect.construct(s,arguments,r)}else i=s.apply(this,arguments);return n(this,i)}}v.use(O);var B=function(o){r(g,p);var n=I(g);function g(){var s;i(this,g);for(var o=arguments.length,r=new Array(o),p=0;p<o;p++)r[p]=arguments[p];return s=n.call.apply(n,[this].concat(r)),f(a(s),"open",!1),f(a(s),"slide",null),f(a(s),"images",[]),f(a(s),"index",0),f(a(s),"startX",0),f(a(s),"startY",0),f(a(s),"endX",0),f(a(s),"endY",0),f(a(s),"isFn",!1),f(a(s),"onClose",null),f(a(s),"onChange",null),f(a(s),"wrapRef",h()),f(a(s),"init",e(t.mark((function e(){var i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.images.length){e.next=2;break}return e.abrupt("return");case 2:if(!s.slide){e.next=4;break}return e.abrupt("return");case 4:return i=s.index>s.images.length?0:s.index,e.prev=5,e.next=8,s.initSlide(i);case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),console.log(e.t0,"error");case 13:s.eventBind(),s.isFn&&(s.open=!0);case 15:case"end":return e.stop()}}),e,null,[[5,10]])})))),f(a(s),"setData",(function(e){var t=e.images,i=e.startPosition,o=e.close,n=e.change;s.images=t,s.index=i||0,s.onClose=o,s.onChange=n,s.wrapRef&&s.wrapRef.current&&s.init()})),f(a(s),"myClose",(function(){s.onClose&&s.onClose(s.index),s.open=!1})),f(a(s),"removeEvent",(function(){s.removeEventListener("touchstart",s.handleTouchStart),s.removeEventListener("touchmove",s.handleTouchMove),s.removeEventListener("touchend",s.handleTouchEnd)})),f(a(s),"handleTouchStart",(function(e){s.startX=e.changedTouches[0].clientX,s.startY=e.changedTouches[0].clientY,s.endX=void 0,s.endY=void 0})),f(a(s),"handleTouchMove",(function(e){s.endX=e.changedTouches[0].clientX,s.endY=e.changedTouches[0].clientY})),f(a(s),"handleTouchEnd",(function(){var e=s.angle({X:s.startX,Y:s.startY},{X:s.endX,Y:s.endY});void 0!==s.endX&&void 0!==s.endY?Math.abs(e)>30?s.myClose():(s.endX,s.startX):s.myClose()})),s}return s(g,[{key:"initSlide",value:function(e){var t=this;return new Promise((function(i){setTimeout((function(){t.slide=new v(t.wrapRef.current,{scrollX:!0,scrollY:!1,autoplay:!1,loop:!1,momentum:!1,bounce:!1,tap:"tap",click:!0,preventDefaultException:{className:/(^|\s)quark-img(\s|$)/},slide:{loop:!0,threshold:100,autoplay:!1,startPageXIndex:e}}),t.slide.on("slideWillChange",(function(e){e&&(t.index=e.pageX,t.onChange&&t.onChange(e.pageX),t.$emit("change",e.pageX))})),i(!0)}),100)}))}},{key:"componentWillUnmount",value:function(){this.slide&&this.slide.destroy(),this.slide=null}},{key:"eventBind",value:function(){this.removeEvent(),this.addEventListener("touchstart",this.handleTouchStart),this.addEventListener("touchmove",this.handleTouchMove),this.addEventListener("touchend",this.handleTouchEnd)}},{key:"angle",value:function(e,t){var i=t.X-e.X,s=t.Y-e.Y;return 360*Math.atan(s/i)/(2*Math.PI)}},{key:"close",value:function(){this.open=!1}},{key:"render",value:function(){var e=this,t="".concat(this.index+1);return p.h(l,null,p.h("slot",{name:"indicator",class:"quark-imagepreview-indicator",style:{display:this.open?"inline-block":"none"}},p.h("p",{part:"indicator-text"},t,"/",this.images.length)),p.h("quark-popup",{position:"center",open:this.open,onclosed:this.myClose,part:"popup"},p.h("div",{class:"quark-imagepreview-slide",part:"slide"},p.h("div",{class:"quark-imagepreview-slide-wrapper",part:"wrapper",ref:this.wrapRef},p.h("div",{class:"quark-imagepreview-slide-content",part:"content"},this.images.map((function(t,i){return p.h("div",{key:i,class:"quark-imagepreview-item",part:"item"},p.h("div",{class:"quark-preview-image",part:"image"},p.h("img",{part:"img",src:t,class:"quark-img",onClick:e.myClose})))})))))))}}]),g}();function E(e){var t=document.createElement("quark-image-preview");document.body.appendChild(t);var i=e.images,s=void 0===i?[]:i,o=e.startPosition,n=e.close,r=e.change;return t.isFn=!0,t.setData({images:s,startPosition:o,close:n,change:r}),t}g([c({type:Boolean})],B.prototype,"open",void 0),g([u()],B.prototype,"slide",void 0),g([u()],B.prototype,"images",void 0),g([u()],B.prototype,"index",void 0),B=g([d({tag:"quark-image-preview",style:":host {\n --popup-mask-color: rgb(0, 0, 0);\n --popup-max-width: 100%;\n --popup-max-height: 100%;\n position: relative;\n height: 100%;\n width: 100%;\n}\n\n:host .quark-imagepreview-indicator {\n display: none;\n position: fixed;\n z-index: 1000;\n top: 2.66667vw;\n text-align: center;\n color: #fff;\n font-size: 3.73333vw;\n width: 100%;\n}\n\n:host .quark-imagepreview-item {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n height: 100%;\n flex-shrink: 0;\n background: var(--imagepreview-item-bg-color, black);\n transition-duration: 0.3s;\n}\n:host .quark-preview-image {\n width: auto;\n height: 100%\n}\n:host .quark-imagepreview-item img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n display: block;\n -webkit-user-drag: none;\n}\n:host .quark-imagepreview-slide {\n height: 100vh;\n}\n:host .quark-imagepreview-slide .quark-imagepreview-slide-wrapper {\n position: relative;\n}\n\n:host .quark-imagepreview-slide-wrapper {\n overflow: hidden;\n height: 100%;\n background: var(--imagepreview-item-bg-color, black);\n}\n\n:host .quark-imagepreview-slide-content {\n white-space: nowrap;\n display: flex;\n height: 100%;\n background: var(--imagepreview-item-bg-color, black);\n}\n"})],B);export{B as QuarkImagePreview,E as default};