-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
Copy pathswipe.min.js
1 lines (1 loc) · 12.8 KB
/
swipe.min.js
1
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.swipe=e():(t.cube=t.cube||{},t.cube.swipe=e())}("undefined"!=typeof self?self:this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var s=i[n]={i:n,l:!1,exports:{}};return t[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="./",e(e.s=376)}({272:function(t,e,i){function n(t){i(380)}var s=i(9)(i(381),i(383),n,null,null);t.exports=s.exports},376:function(t,e,i){var n,s,r;!function(o,a){s=[t,e,i(377),i(272)],n=a,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t,e,i,n){"use strict";function s(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=s(i),o=s(n);r.default.install=function(t){t.component(r.default.name,r.default),t.component(o.default.name,o.default)},r.default.Item=o.default,e.default=r.default,t.exports=e.default})},377:function(t,e,i){function n(t){i(378)}var s=i(9)(i(379),i(384),n,null,null);t.exports=s.exports},378:function(t,e){},379:function(t,e,i){var n,s,r;!function(o,a){s=[t,e,i(272)],n=a,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default={name:"cube-swipe",provide:function(){return{swipe:this}},props:{data:{type:Array,default:function(){return[]}},autoShrink:{type:Boolean,default:!1}},created:function(){this.activeIndex=-1,this.items=[]},methods:{addItem:function(t){this.items.push(t)},removeItem:function(t){var e=this.items.indexOf(t);this.items.splice(e,1),e<=this.activeIndex&&(this.activeIndex-=1)},onItemClick:function(t,e){this.$emit("item-click",t,e)},onBtnClick:function(t,e){var i=this.data[e];this.$emit("btn-click",t,e,i)},onItemActive:function(t){if(t!==this.activeIndex){if(-1!==this.activeIndex){this.items[this.activeIndex].shrink()}this.activeIndex=t}}},components:{CubeSwipeItem:n.default}},t.exports=e.default})},380:function(t,e){},381:function(t,e,i){var n,s,r;!function(o,a){s=[t,e,i(86),i(382),i(90)],n=a,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t,e,i,n,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=(0,i.prefixStyle)("transform"),o=(0,i.prefixStyle)("transitionProperty"),a=(0,i.prefixStyle)("transitionDuration"),u=(0,i.prefixStyle)("transitionTimingFunction");e.default={name:"cube-swipe-item",inject:["swipe"],props:{item:{type:Object,default:function(){return{}}},btns:{type:Array,default:function(){return[]}},index:{type:Number,index:-1},autoShrink:{type:Boolean,default:!1}},watch:{btns:function(){var t=this;this.$nextTick(function(){t.refresh()})}},created:function(){this.x=0,this.state=0,this.swipe.addItem(this)},mounted:function(){var t=this;this.scrollerStyle=this.$refs.swipeItem.style,this.$nextTick(function(){t.refresh()}),this.$on("scroll",this._handleBtns)},methods:{_initCachedBtns:function(){this.cachedBtns=[];for(var t=this.$refs.btns.length,e=0;e<t;e++)this.cachedBtns.push({width:(0,i.getRect)(this.$refs.btns[e]).width})},_handleBtns:function(t){if(0!==this.btns.length)for(var e=this.$refs.btns.length,i=0,n=-this.maxScrollX,s=0;s<e;s++){var o=this.$refs.btns[s],u=(n-i)/n,c=void 0,f=u*t-t;c=t<this.maxScrollX?this.cachedBtns[s].width+u*(this.maxScrollX-t):this.cachedBtns[s].width,i+=this.cachedBtns[s].width,o.style.width=c+"px",o.style[r]="translate("+f+"px)",o.style[a]="0ms"}},_isInBtns:function(t){for(var e=t,i=!1;e&&e.className.indexOf("cube-swipe-item")<0;){if(e.className.indexOf("cube-swipe-btns")>=0){i=!0;break}e=e.parentNode}return i},_calculateBtnsWidth:function(){for(var t=0,e=this.cachedBtns.length,i=0;i<e;i++)t+=this.cachedBtns[i].width;this.maxScrollX=-t},_translate:function(t,e){var i=e?" translateZ(0)":"";this.scrollerStyle[r]="translate("+t+"px,0)"+i,this.x=t},_transitionProperty:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"transform";this.scrollerStyle[o]=t},_transitionTimingFunction:function(t){this.scrollerStyle[u]=t},_transitionTime:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.scrollerStyle[a]=t+"ms"},_getComputedPositionX:function(){var t=window.getComputedStyle(this.$refs.swipeItem,null);return t=t[r].split(")")[0].split(", "),+(t[12]||t[4])},_translateBtns:function(t,e,i){if(0!==this.btns.length)for(var n=this.$refs.btns.length,s=0,c=0,f=0;f<n;f++){var h=this.$refs.btns[f];c=1===this.state?s:0,s+=this.cachedBtns[f].width,h.style[r]="translate("+c+"px,0) translateZ(0)",h.style[o]="all",h.style[u]=e,h.style[a]=t+"ms",i&&(h.style.width=this.cachedBtns[f].width+"px")}},refresh:function(){this.btns.length>0&&(this._initCachedBtns(),this._calculateBtnsWidth()),this.endTime=0},shrink:function(){var t=this;this.stop(),this.state=0,this.$nextTick(function(){t.scrollTo(0,600,n.easeOutQuart),t._translateBtns(600,n.easeOutQuart)})},grow:function(){this.state=1;var t=this.x<this.maxScrollX,e=n.easeOutCubic;this.scrollTo(this.maxScrollX,600,e),this._translateBtns(600,e,t)},scrollTo:function(t,e,i){this._transitionProperty(),this._transitionTimingFunction(i),this._transitionTime(e),this._translate(t,!0),e&&(this.isInTransition=!0)},genBtnStyl:function(t){return"background: "+t.color},clickItem:function(){this.swipe.onItemClick(this.item,this.index),this.$emit("item-click",this.item,this.index)},clickBtn:function(t){this.swipe.onBtnClick(t,this.index),this.$emit("btn-click",t,this.index),this.autoShrink&&this.shrink()},stop:function(){if(this.isInTransition){this.isInTransition=!1;var t=0===this.state?0:this._getComputedPositionX();this._translate(t),this.$emit("scroll",this.x)}},onTouchStart:function(t){var e=this;this.swipe.onItemActive(this.index),this.$emit("active",this.index),this.stop(),this.moved=!1,this.movingDirectionX=0;var i=t.touches[0];this.pointX=i.pageX,this.pointY=i.pageY,this.distX=0,this.distY=0,this.startX=this.x,this._transitionTime(),this.startTime=(0,s.getNow)(),1!==this.state||this._isInBtns(t.target)||(this.shrinkTimer=setTimeout(function(){e.shrink()},300))},onTouchMove:function(t){if(this.moved&&(clearTimeout(this.shrinkTimer),t.stopPropagation()),!this.isInTransition){t.preventDefault();var e=t.touches[0],i=e.pageX-this.pointX,n=e.pageY-this.pointY;this.pointX=e.pageX,this.pointY=e.pageY,this.distX+=i,this.distY+=n;var r=Math.abs(this.distX);if(!(r+5<=Math.abs(this.distY))){var o=(0,s.getNow)();if(!(o-this.endTime>300&&r<15)){this.movingDirectionX=i>0?-1:i<0?1:0;var a=this.x+i;a>0&&(a=0),a<this.maxScrollX&&(a=this.x+i/3),this.moved||(this.moved=!0),this._translate(a,!0),o-this.startTime>300&&(this.startTime=o,this.startX=this.x),this.$emit("scroll",this.x)}}}},onTouchEnd:function(){if(this.moved){if(-1===this.movingDirectionX)return void this.shrink();this.endTime=(0,s.getNow)();var t=this.endTime-this.startTime,e=Math.abs(this.x-this.startX);t<300&&e>15||this.x<this.maxScrollX/2?this.grow():this.shrink()}},onTransitionEnd:function(){this.isInTransition=!1,this._transitionTime(),this._translate(this.x)}},beforeDestroy:function(){this.swipe.removeItem(this)}},t.exports=e.default})},382:function(t,e,i){var n,s,r;!function(i,o){s=[e],n=o,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.easeOutBack="cubic-bezier(0.18, 0.89, 0.32, 1.28)",t.easeOutQuart="cubic-bezier(0.165, 0.84, 0.44, 1)",t.easeOutCubic="cubic-bezier(0.22, 0.61, 0.36, 1)"})},383:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{ref:"swipeItem",staticClass:"cube-swipe-item",on:{transitionend:t.onTransitionEnd,touchstart:t.onTouchStart,touchmove:t.onTouchMove,touchend:t.onTouchEnd}},[t._t("default",[i("div",{staticClass:"cube-swipe-item-inner border-bottom-1px",on:{click:t.clickItem}},[i("span",[t._v(t._s(t.item.text))])])]),t._v(" "),i("ul",{staticClass:"cube-swipe-btns"},t._l(t.btns,function(e){return i("li",{ref:"btns",refInFor:!0,staticClass:"cube-swipe-btn",style:t.genBtnStyl(e),on:{click:function(i){i.preventDefault(),t.clickBtn(e)}}},[i("span",{staticClass:"text"},[t._v(t._s(e.text))])])}))],2)},staticRenderFns:[]}},384:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"cube-swipe"},[t._t("default",[i("transition-group",{attrs:{name:"cube-swipe",tag:"ul"}},t._l(t.data,function(e,n){return i("li",{key:e.item.value},[i("cube-swipe-item",{attrs:{btns:e.btns,item:e.item,index:n,"auto-shrink":t.autoShrink}})],1)}))])],2)},staticRenderFns:[]}},49:function(t,e,i){var n,s,r;!function(i,o){s=[e],n=o,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var e=t.inBrowser="undefined"!=typeof window,i=t.ua=e&&navigator.userAgent.toLowerCase();t.isAndroid=i&&i.indexOf("android")>0,t.isIOS=i&&/iphone|ipad|ipod|ios/.test(i)})},86:function(t,e,i){var n,s,r;!function(o,a){s=[e,i(49)],n=a,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t,e){"use strict";function i(t,e){return new RegExp("(^|\\s)"+e+"(\\s|$)").test(t.className)}function n(t,e){if(!i(t,e)){var n=t.className.split(" ");n.push(e),t.className=n.join(" ")}}function s(t,e){if(i(t,e)){var n=new RegExp("(^|\\s)"+e+"(\\s|$)","g");t.className=t.className.replace(n," ")}}function r(t,e){return t.getAttribute("data-"+e)}function o(t){return{top:t.offsetTop,left:t.offsetLeft,width:t.offsetWidth,height:t.offsetHeight}}function a(t){return!1!==f&&("standard"===f?"transitionEnd"===t?"transitionend":t:f+t.charAt(0).toUpperCase()+t.substr(1))}function u(t,e){for(var n=t.target;n&&!i(n,e);){if(n===t.currentTarget)return null;n=n.parentNode}return n}function c(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i.type,s=void 0===n?"Event":n,r=i.bubbles,o=void 0===r||r,a=i.cancelable,u=void 0===a||a,c=document.createEvent(s);c.initEvent(e,o,u),t.dispatchEvent(c)}Object.defineProperty(t,"__esModule",{value:!0}),t.hasClass=i,t.addClass=n,t.removeClass=s,t.getData=r,t.getRect=o,t.prefixStyle=a,t.getMatchedTarget=u,t.dispatchEvent=c;var f=function(){if(!e.inBrowser)return!1;var t=document.createElement("div").style,i={standard:"transform",webkit:"webkitTransform",Moz:"MozTransform",O:"OTransform",ms:"msTransform"};for(var n in i)if(void 0!==t[i[n]])return n;return!1}()})},9:function(t,e){t.exports=function(t,e,i,n,s){var r,o=t=t||{},a=typeof t.default;"object"!==a&&"function"!==a||(r=t,o=t.default);var u="function"==typeof o?o.options:o;e&&(u.render=e.render,u.staticRenderFns=e.staticRenderFns),n&&(u._scopeId=n);var c;if(s?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=c):i&&(c=i),c){var f=u.functional,h=f?u.render:u.beforeCreate;f?u.render=function(t,e){return c.call(e),h(t,e)}:u.beforeCreate=h?[].concat(h,c):[c]}return{esModule:r,exports:o,options:u}}},90:function(t,e,i){var n,s,r;!function(i,o){s=[e],n=o,void 0!==(r="function"==typeof n?n.apply(e,s):n)&&(t.exports=r)}(0,function(t){"use strict";function e(t,e,n,s){var r={year:"(Y+)",month:"(M+)",date:"(D+)",hour:"(h+)",minute:"(m+)",second:"(s+)",quarter:"(q+)",millisecond:"(S)"};if(new RegExp(r[t],s).test(e)){var o="year"===t?n.toString().substr(4-RegExp.$1.length):1===RegExp.$1.length?n:i(n);e=e.replace(RegExp.$1,o)}return e}function i(t){return("00"+t).substr((""+t).length)}function n(t,i){var n={year:{value:t.getFullYear(),regExpAttributes:"i"},month:{value:t.getMonth()+1},date:{value:t.getDate(),regExpAttributes:"i"},hour:{value:t.getHours(),regExpAttributes:"i"},minute:{value:t.getMinutes()},second:{value:t.getSeconds()},quarter:{value:Math.floor((t.getMonth()+3)/3),regExpAttributes:"i"},millisecond:{value:t.getMilliseconds()}};for(var s in n)i=e(s,i,n[s].value,n[s].regExpAttributes);return i}function s(t){var e=t.getFullYear(),i=t.getMonth()+1,n=t.getDate();return+new Date(e+"/"+i+"/"+n+" 00:00:00")}function r(t,e){return Math.floor((s(t)-s(e))/u)}function o(){return window.performance&&window.performance.now?window.performance.now()+window.performance.timing.navigationStart:+new Date}function a(t,e){var i=30;return[1,3,5,7,8,10,12].indexOf(t)>-1?i=31:2===t&&(i=e&&e%400&&(e%4||!(e%100))?28:29),i}Object.defineProperty(t,"__esModule",{value:!0});var u=864e5;t.DAY_TIMESTAMP=u,t.HOUR_TIMESTAMP=36e5,t.MINUTE_TIMESTAMP=6e4,t.pad=i,t.formatType=e,t.formatDate=n,t.getZeroStamp=s,t.getDayDiff=r,t.getNow=o,t.computeNatureMaxDay=a})}})});