m2-ui
Version:
The package is provided web components and utilities based on vue and element-ui.
6 lines • 4.92 kB
JavaScript
/*!
* m2-ui v1.0.0
* (c) 2020 by Miracle He
* Released under the MIT License.
*/
module.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist/",n(n.s=35)}({0:function(t,e,n){"use strict";function r(t,e,n,r,i,s,o,a){var c,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),s&&(u._scopeId="data-v-"+s),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},u._ssrRegister=c):i&&(c=a?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(u.functional){u._injectStyles=c;var d=u.render;u.render=function(t,e){return c.call(e),d(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,c):[c]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},35:function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"m2-swiper"},[n("div",{staticClass:"swiper",on:{touchstart:t.sliderStart,touchend:t.sliderEnd,touchmove:t.sliderMove}},[t._t("default")],2),t._t("indicator"),n("div",{staticClass:"indicator"},[t.showIndicator&&t.sliderCount>1?t._t("indicator",t._l(t.sliderCount,(function(e,r){return n("div",{key:r,staticClass:"indicator-item",class:{active:r===t.currentIndex-1}})}))):t._e()],2)],2)};r._withStripped=!0;var i={name:"m2-swiper",props:{interval:{type:Number,default:3e3},duration:{type:Number,default:300},ratio:{type:Number,default:.25},showIndicator:{type:Boolean,default:!0}},data:function(){return{sliderCount:0,isScrolling:!1,swiperWidth:0,swiperStyle:{},currentIndex:1}},mounted:function(){var t=this;setTimeout((function(){t.addSliders(),t.startTimer()}),100)},methods:{sliderStart:function(t){this.isScrolling||(this.stopTimer(),this.startX=t.touches[0].pageX)},sliderEnd:function(){0!==this.distance&&(Math.abs(this.distance)>this.swiperWidth*this.ratio&&(this.distance>0?this.currentIndex--:this.currentIndex++),this.scrollContent(-this.currentIndex*this.swiperWidth),this.startTimer())},sliderMove:function(t){this.currentX=t.touches[0].pageX,this.distance=this.currentX-this.startX;var e=-this.currentIndex*this.swiperWidth,n=this.distance+e;this.setTransform(n)},previous:function(){this.changeItem(-1)},next:function(){this.changeItem(1)},changeItem:function(t){this.stopTimer(),this.currentIndex+=t,this.scrollContent(-this.currentIndex*this.swiperWidth),this.startTimer()},addSliders:function(){var t=document.querySelector(".swiper"),e=t.getElementsByClassName("m2-swiper-item");if(this.sliderCount=e.length,this.sliderCount>1){var n=e[0].cloneNode(!0),r=e[this.sliderCount-1].cloneNode(!0);t.insertBefore(r,e[0]),t.appendChild(n),this.swiperWidth=t.offsetWidth,this.swiperStyle=t.style}this.setTransform(-this.swiperWidth)},setTransform:function(t){this.swiperStyle.transform="translate3d("+t+"px, 0, 0)",this.swiperStyle["-webkit-transform"]="translate3d("+t+"px), 0, 0",this.swiperStyle["-ms-transform"]="translate3d("+t+"px), 0, 0"},startTimer:function(){var t=this;this.$timer=setInterval((function(){t.currentIndex++,t.scrollContent(-t.currentIndex*t.swiperWidth)}),this.interval)},stopTimer:function(){this.$timer&&clearInterval(this.$timer)},scrollContent:function(t){this.isScrolling=!0,this.swiperStyle.transition="transform "+this.duration+"ms",this.setTransform(t),this.checkPosition(),this.isScrolling=!1},checkPosition:function(){var t=this;setTimeout((function(){t.swiperStyle.transition="0ms",t.currentIndex>=t.sliderCount+1?(t.currentIndex=1,t.setTransform(-t.currentIndex*t.swiperWidth)):t.currentIndex<=0&&(t.currentIndex=t.sliderCount,t.setTransform(-t.currentIndex*t.swiperWidth)),t.$emit("transitionEnd",t.currentIndex-1)}),this.duration)}}},s=n(0),o=Object(s.a)(i,r,[],!1,null,null,null);o.options.__file="packages/swiper/src/main.vue";var a=o.exports;a.install=function(t){t.component(a.name,a)};e.default=a}});