@xysfe/actui
Version:
A fantastic mobile ui lib implement by Vue
1 lines • 9.41 kB
JavaScript
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("@xysfe/actui/es/assets/utils/create/index.js"),require("@xysfe/actui/es/assets/utils/helpers.js"),require("@xysfe/actui/es/assets/utils/raf.js"),require("@xysfe/actui/es/assets/mixins/touch.js"),require("@xysfe/actui/es/assets/utils/event.js"),require("@xysfe/actui/es/assets/mixins/bind-event.js")):"function"==typeof define&&define.amd?define(["@xysfe/actui/es/assets/utils/create/index.js","@xysfe/actui/es/assets/utils/helpers.js","@xysfe/actui/es/assets/utils/raf.js","@xysfe/actui/es/assets/mixins/touch.js","@xysfe/actui/es/assets/utils/event.js","@xysfe/actui/es/assets/mixins/bind-event.js"],e):"object"==typeof exports?exports.Swipe=e(require("@xysfe/actui/es/assets/utils/create/index.js"),require("@xysfe/actui/es/assets/utils/helpers.js"),require("@xysfe/actui/es/assets/utils/raf.js"),require("@xysfe/actui/es/assets/mixins/touch.js"),require("@xysfe/actui/es/assets/utils/event.js"),require("@xysfe/actui/es/assets/mixins/bind-event.js")):t.Swipe=e(t["@xysfe/actui/es/assets/utils/create/index.js"],t["@xysfe/actui/es/assets/utils/helpers.js"],t["@xysfe/actui/es/assets/utils/raf.js"],t["@xysfe/actui/es/assets/mixins/touch.js"],t["@xysfe/actui/es/assets/utils/event.js"],t["@xysfe/actui/es/assets/mixins/bind-event.js"])}("undefined"!=typeof self?self:this,function(t,e,i,s,n,o){return function(t){function e(s){if(i[s])return i[s].exports;var n=i[s]={i:s,l:!1,exports:{}};return t[s].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,s){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:s})},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="../es",e(e.s=1692)}({1132:function(t,e,i){"use strict";var s=i(39),n=(i.n(s),i(955)),o=i.n(n),a=i(876),r=(i.n(a),i(1695)),c=(i.n(r),i(956));i.n(c);e.a={name:"ActSwipe",mixins:[o.a,Object(r.BindEventMixin)(function(t,e){t(window,"resize",this.resize,!0),t(window,"visibilitychange",this.onVisibilityChange),e?this.initialize():this.clear()})],data:function(){return{computedWidth:0,computedHeight:0,offset:0,active:0,deltaX:0,deltaY:0,swipes:[],swiping:!1}},computed:{count:function(){return this.swipes.length},delta:function(){return this.vertical?this.deltaY:this.deltaX},size:function(){return this[this.vertical?"computedHeight":"computedWidth"]},trackSize:function(){return this.count*this.size},activeIndicator:function(){return(this.active+this.count)%this.count},isCorrectDirection:function(){var t=this.vertical?"vertical":"horizontal";return this.direction===t},trackStyle:function(){var t,e=this.vertical?"height":"width",i=this.vertical?"width":"height";return t={},t[e]=this.trackSize+"px",t[i]=this[i]?this[i]+"px":"",t.transitionDuration=(this.swiping?0:this.duration)+"ms",t.transform="translate"+(this.vertical?"Y":"X")+"("+this.offset+"px)",t},minOffset:function(){var t=this.$el.getBoundingClientRect();return(this.vertical?t.height:t.width)-this.size*this.count}},mounted:function(){this.initSlot()},watch:{swipes:function(){this.initialize()},start:function(){this.initialize()},autoplay:function(t){t>0?this.autoPlay():this.clear()},offset:function(t){var e=this.$refs.track.children;if(e&&e.length)for(var i=0;i<e.length;i++){var s=e[i],n="translate"+(this.vertical?"Y":"X")+"("+s.offset+"px)";s.style.transform=""+n}}},methods:{initSlot:function(){var t=this.$refs.track.children;if(t&&t.length)for(var e=0;e<t.length;e++){var i=t[e];this.bindTouchEvent(i),this.swipes.push(i);var s=this.vertical?this.computedHeight+"px":"100%",n="translate"+(this.vertical?"Y":"X")+"("+i.offset+"px)";i.style.float="left",i.style.width=this.computedWidth+"px",i.style.height=s+"px",i.style.transform=""+n}},initialize:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:+this.start;if(clearTimeout(this.timer),this.$el&&!Object(s.isHidden)(this.$el)){var e=this.$el.getBoundingClientRect();this.computedWidth=Math.round(+this.width||e.width),this.computedHeight=Math.round(+this.height||e.height)}this.swiping=!0,this.active=t,this.offset=this.count>1?-this.size*this.active:0,this.swipes.forEach(function(t){t.offset=0}),this.autoPlay()},resize:function(){this.initialize(this.activeIndicator)},onVisibilityChange:function(){document.hidden?this.clear():this.autoPlay()},onTouchStart:function(t){this.touchable&&(this.clear(),this.touchStart(t),this.correctPosition())},onTouchMove:function(t){this.touchable&&this.swiping&&(this.touchMove(t),this.isCorrectDirection&&(Object(c.preventDefault)(t,this.stopPropagation),this.move({offset:this.delta})))},onTouchEnd:function(){if(this.touchable&&this.swiping){if(this.delta&&this.isCorrectDirection){var t=this.vertical?this.offsetY:this.offsetX;this.move({pace:t>0?this.delta>0?-1:1:0,emitChange:!0})}this.swiping=!1,this.autoPlay()}},getTargetActive:function(t){var e=this.active,i=this.count;return t?this.loop?Object(s.range)(e+t,-1,i):Object(s.range)(e+t,0,i-1):e},getTargetOffset:function(t,e){var i=t*this.size;this.loop||(i=Math.min(i,-this.minOffset));var n=Math.round(e-i);return this.loop||(n=Object(s.range)(n,this.minOffset,0)),n},move:function(t){var e=t.pace,i=void 0===e?0:e,s=t.offset,n=void 0===s?0:s,o=t.emitChange,a=this.loop,r=this.count,c=this.active,u=this.swipes,h=this.trackSize,f=this.minOffset;if(!(r<=1)){var l=this.getTargetActive(i),p=this.getTargetOffset(l,n);if(a){if(u[0]){var d=p<f;u[0].offset=d?h:0}if(u[r-1]){var v=p>0;u[r-1].offset=v?-h:0}}this.active=l,this.offset=p,o&&l!==c&&this.$emit("change",this.activeIndicator)}},prev:function(){var t=this;this.correctPosition(),this.resetTouchStatus(),Object(a.doubleRaf)(function(){t.swiping=!1,t.move({pace:-1,emitChange:!0})})},next:function(){var t=this;this.correctPosition(),this.resetTouchStatus(),Object(a.doubleRaf)(function(){t.swiping=!1,t.move({pace:1,emitChange:!0})})},swipeTo:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.correctPosition(),this.resetTouchStatus(),Object(a.doubleRaf)(function(){var s=void 0;s=e.loop&&t===e.count?0===e.active?0:t:t%e.count,i.immediate?Object(a.doubleRaf)(function(){e.swiping=!1}):e.swiping=!1,e.move({pace:s-e.active,emitChange:!0})})},correctPosition:function(){this.swiping=!0,this.active<=-1&&this.move({pace:this.count}),this.active>=this.count&&this.move({pace:-this.count})},clear:function(){clearTimeout(this.timer)},autoPlay:function(){var t=this,e=this.autoplay;e>0&&this.count>1&&(this.clear(),this.timer=setTimeout(function(){t.next(),t.autoPlay()},e))}},props:{width:{type:[Number,String],default:0},height:{type:[Number,String],default:0},autoplay:{type:[Number,String],default:3e3},vertical:{type:Boolean,default:!1},paginationColor:{type:String,default:"#fff"},loop:{type:Boolean,default:!0},duration:{type:[Number,String],default:500},touchable:{type:Boolean,default:!0},start:{type:[Number,String],default:0},pagination:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!0}}}},1692:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=i(26),n=i.n(s),o=i(1693);o.a.install=function(t){t.component(o.a.name,o.a),t.prototype.$createSwipe=n()(o.a,t)},e.default=o.a},1693:function(t,e,i){"use strict";function s(t){r||i(1694)}var n=i(1132),o=i(1696),a=i(7),r=!1,c=s,u=Object(a.a)(n.a,o.a,o.b,!1,c,"data-v-43e17ad8",null);u.options.__file="src\\components\\Swipe\\src\\index.vue",e.a=u.exports},1694:function(t,e){},1695:function(t,e){t.exports=o},1696:function(t,e,i){"use strict";i.d(e,"a",function(){return s}),i.d(e,"b",function(){return n});var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"act-swipe"},[i("div",{ref:"track",staticClass:"act-swipe-wrap",style:t.trackStyle},[t._t("default")],2),t._v(" "),t.$slots.pagination?t._t("pagination"):[t.pagination&&t.count>1?i("div",{staticClass:"act-indicators",class:{vertical:t.vertical},style:t.vertical?"transform:translateY(-50%);top:50%;left:6px;flex-direction:column;":"transform:translateX(-50%);bottom:6px;left:50%;"},t._l(t.swipes,function(e,s){return i("i",{key:"indicators_item_"+s,staticClass:"act-indicator",class:{active:s===t.activeIndicator},style:{backgroundColor:t.paginationColor},on:{click:function(e){return t.swipeTo(s)}}})}),0):t._e()]],2)},n=[];s._withStripped=!0},26:function(e,i){e.exports=t},39:function(t,i){t.exports=e},7:function(t,e,i){"use strict";function s(t,e,i,s,n,o,a,r){t=t||{};var c=typeof t.default;"object"!==c&&"function"!==c||(t=t.default);var u="function"==typeof t?t.options:t;e&&(u.render=e,u.staticRenderFns=i,u._compiled=!0),s&&(u.functional=!0),o&&(u._scopeId=o);var h;if(a?(h=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__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=h):n&&(h=r?function(){n.call(this,this.$root.$options.shadowRoot)}:n),h)if(u.functional){u._injectStyles=h;var f=u.render;u.render=function(t,e){return h.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,h):[h]}return{exports:t,options:u}}e.a=s},876:function(t,e){t.exports=i},955:function(t,e){t.exports=s},956:function(t,e){t.exports=n}})});